TopographyAndGaugeOptimization (hwx.inspire.FEAnalysis)#

class TopographyAndGaugeOptimization(params={}, runOptions={}, ignoreWarnings=False)#

Bases: Optimization

Concurrently run a topography and gauge optimization.

Attribute Table#

Name

Type

imported

Bool

progress

Int

solverType

Enum

status

Enum

workingDir

String

Method Table#

Name

Description

export (file, params={}, runOptions={}, ignoreWarnings=False)

Download solver file (.fem, .ssp) for run

importResults (self, showExplorer=True)

Make results available in the Shape Explorer.

reanalyze (self, density, runOptions={}, ignoreWarnings=False)

Run an OptiStructAnalysis on the generated shape.

switchToOptimizedParts (self)

Change part alternatives to this result.

Example

from hwx.inspire import TopographyAndGaugeOptimization, gui
from hwx.inspire.demo import openDemoFile

model = openDemoFile("SixSheets.stmod")

params = TopographyAndGaugeOptimization.Params()

# Params can also be set by directly assigning the values
params.objective = "MINIMIZE_MASS"
params.parts = model.parts

print('params', repr(params))
with gui.waitCursor(message="Solving..."):
  run = TopographyAndGaugeOptimization(params)
class RunOptions(**kwds)#

Bases: Struct

Attribute Table#

Name

Type

isRemoteRun

property

waitTillFinish

property

property isRemoteRun#

(bool) Is remote run

repr()#

Convert params to a dict which can be used to reconstruct it.

Readonly attributes are removed and structs are compacted.

todict()#

Convert params to a dict containing all properties

property waitTillFinish#

(bool) Use False to do multiple runs in parallel

class Status(value)#

Bases: Enum

An enumeration.

Attribute Table#

Name

Type

ERROR

Status

FE_NOT_REALIZED

Status

GENERATING_FE_MODEL

Status

INFEASIBLE_DESIGN

Status

INITIALIZED

Status

MESH_NOT_GENERATED

Status

NOT_CONVERGED

Status

NOT_STARTED

Status

PARTS_NOT_CONNECTED

Status

RUNNING

Status

SUCCESS

Status

TERMINATED

Status

WARNING

Status

property active#

Returns or sets the object activeness.

Setting this on or off sets all children. Setting to True sets all the parents active too.

destroy()#

Delete the object removing it from the model.

The object may come back due to an undo/redo.

getAllChildren(type=None, **kwds)#

Returns a list of all children that matches the specified type.

Parameters:
  • type (list[Named]) – Filter to use to get the children based on object type.

  • **kwds – Additional keyword arguments to match other attributes of the object.

Returns:

The list of children that satisfy the supplied filters.

Return type:

list[Union[Part, Motor, BoundaryCondition, …]]

getAttribute(name)#

Returns the Attribute off the class, not the value.

Parameters:

name (str) – Attribute name to find its class.

getChild(name=None, recursive=False, **kwds)#

Returns the child of the object which matches the specified unique name.

Parameters:
  • name (str) – The name of the child object.

  • recursive (bool) – Search all descendents.

  • **kwds – Additional keyword arguments to match attributes of the object.

Returns:

The child object which satisfies the specified filters.

Return type:

Named

getChildren(type=None, recursive=False, sorted=False, **kwds)#

Returns a list of children that is of the specified type.

Parameters:
  • type (Type[Named]) – Filter objects by class.

  • recursive (bool) – True to get all descendent Parts and Assemblies.

  • sorted (bool) – Sort the children base on id.

Returns:

list[Named]

getDependents(recursive=False, **kwds)#

Get objects that reference this object through a Reference attribute.

Parameters:
  • recursive (bool) –

  • **kwds – Filter objects using isa.

Returns:

set[Named]

getGuiValue(attr, **kwds)#

Get value formatted to be shown in the gui

Parameters:

attr (str) – Attribute name to gets its gui value.

Returns:

Returns a string of the value with its gui units, like “5 mm/s”.

Return type:

str

getReferences(recursive=False, **kwds)#

Get objects this object references through a Reference attribute.

Parameters:
  • recursive (bool) –

  • **kwds – Filter objects using isa.

Returns:

set[Named]

getValue(attr)#

Return the attribute value for passed attribute name.

Parameters:

attr (String) – Attribute name to gets its value.

Returns:

Returns the attribute value

Return type:

str

importResults(showExplorer=True)#

Make results available in the Shape Explorer.

Parameters:

showExplorer (bool) – Opens the Shape Explorer dialog (gui mode only)

property imported#

If True, Results are loaded.

isa(type=None, filter=None, name=None, wildcard=None, **kwds)#

Determines if the object matches the specified settings or not.

Parameters:
  • type (Union[Part, Assembly, Contact..]) – The type of the object.

  • filter (method) – Return value of specified callback method.

  • name (str) – Name that matches exactly with object name.

  • wildcard (str) – A pattern to match exactly with the object name.

  • **kwds – Additional keyword arguments to match other attributes.

Returns:

True, if a match is found, otherwise False.

Return type:

bool

modelPositions()#

Forces all objects to return the original model positions instead of the current analysis positions.

Useful when defining draw methods on GeneralObjects where behaviour is different while animating.

property name#

Returns or sets the name of the object.

It can be any text string, including spaces, although it’s best to avoid using the following characters: ” ‘ * ? and $.

While these characters are allowed, they could create difficulties when you export the model to other applications.

property parent#

Returns the parent of this entity.

Type:

Assembly

property progress#

Current state of the Object.

reanalyze(density, runOptions={}, ignoreWarnings=False)#

Run an OptiStructAnalysis on the generated shape.

Parameters:
  • density (float) – Density threshold value. 1.0 - maximum density on design space. 0.0 - minimum density on design space.

  • runOptions (dict) – See cls.RunOptions

  • ignoreWarnings (bool) – Abort on warnings

Returns:

OptiStructReanalysis

setValue(attr, value)#

Alias for setattr (attr, value) :param attr: Attribute name to sets its value. :type attr: str :param value: Attribute value to set . :type value: str

setValues(**kwds)#

setattr on name and value pairs in order Attributes are defined

Args: **kwds: To set attibures in one go

property solverType#

Solver Type of the Object

property status#

Current status of the Object.

switchToOptimizedParts()#

Change part alternatives to this result.

property visible#

Determines whether the object is visible in the graphics window.

Setting this on or off sets all children. Setting to True sets all the parents visible too.

wasValueSet(attr)#

Check if attribute was set

Parameters:

attr (str) – Attribute name to check it value set or not

Returns:

True, if value was set else false.

Return type:

bool

property workingDir#

Working directory of the Object