TopologyOptimization (hwx.inspire.FEAnalysis)#
- class TopologyOptimization(params={}, runOptions={}, ignoreWarnings=False)#
Bases:
Optimization
Carve material away from design spaces, creating the lightest structure capable of withstanding the forces you apply to your model.
# Name
Type
# 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 TopologyOptimization, gui from hwx.inspire.demo import openDemoFile model = openDemoFile("SixSheets.stmod") params = TopologyOptimization.Params() # Params can also be set by directly assigning the values params.objective = "MAXIMIZE_STIFFNESS" params.thicknessConstraints.min = 0.006 print('params', repr(params)) with gui.waitCursor(message="Solving..."): run = TopologyOptimization(params)
- class RunOptions(**kwds)#
Bases:
Struct
# Name
Type
property
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.
# 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:
- 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 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)#
Sets passed name/value pairs.
Values are set in a standard order (the order the attribute is defined on the class) which is required in certain cases when an attribute’s setter expects another attribute to have already been set. For example, setting a reference before a location that is wrt it.
- Parameters:
**kwds – Set attributes 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