Modeler and Primitives#

This section lists the core AEDT Modeler modules:

  • Modeler

  • Primitives

  • Objects

They are accessible through the modeler and modeler.objects property:

from pyaedt import Hfss
app = Hfss(specified_version="2022.1",
             non_graphical=False, new_desktop_session=True,
             close_on_exit=True, student_version=False)

# this call return the Modeler3D Class
modeler = app.modeler

# this call return a Primitives3D Object
primitives = modeler

# this call return a Object3d Object
my_box = primitives.create_box([0,0,0],[10,10,10])
my_box = primitives.objects[my_box.id]

# this call return a FacePrimitive Object List
my_box.faces
# this call return a EdgePrimitive Object List
my_box.edges
my_box.faces[0].edges

# this call return a VertexPrimitive Object List
my_box.vertices
my_box.faces[0].vertices
my_box.faces[0].edges[0].vertices

...

Modeler#

This module contains all properties and methods needed to edit a modeler, including all primitives methods and properties. * Modeler3D for Hfss, Maxwell3d, Q3d and Icepak * Modeler2D for Maxwell2D Q2d * Modeler3DLayout for Hfss3dLayout * ModelerNexxim for Circuit * ModelerTwinBuilder for TwinBuilder * ModelerEmit for Emit

Model2D.Modeler2D

Provides the Modeler 2D application interface.

Model3D.Modeler3D

Provides the Modeler 3D application interface.

Model3DLayout.Modeler3DLayout

Manages Modeler 3D layouts.

Circuit.ModelerNexxim

ModelerNexxim class.

Circuit.ModelerTwinBuilder

ModelerTwinBuilder class.

Circuit.ModelerEmit

ModelerEmit class.

Primitives#

The Primitives module includes these classes: * Primitives3D for Hfss, Maxwell3d, Q3d and Icepak * Primitives2D for Maxwell2D Q2d * Primitives3DLayout for Hfss3dLayout * NexximComponents for Circuit * TwinBuilderComponents for TwinBuilder * CircuitComponents for Emit Primives objects are accessible through modeler property for EM Solver and modeler.components for circuit solvers.

Primitives2D.Primitives2D

Manages primitives in 2D tools.

Primitives3D.Primitives3D

Manages primitives in 3D tools.

Primitives3DLayout.Primitives3DLayout

Manages primitives in HFSS 3D Layout.

PrimitivesNexxim.NexximComponents

Manages circuit components for Nexxim.

PrimitivesTwinBuilder.TwinBuilderComponents

TwinBuilderComponents class.

PrimitivesCircuit.CircuitComponents

CircutComponents class.

from pyaedt import Circuit
app = Circuit(specified_version="2022.1",
             non_graphical=False, new_desktop_session=True,
             close_on_exit=True, student_version=False)

# this call return the NexximComponents Class
components = app.modeler.components

...

Objects#

Those classes define the objects properties for 3D and 2D Solvers (excluding Hfss3dLayout). It contains all getter and setter to simplify object manipulation.

Object3d.Object3d

Manages object attributes for the AEDT 3D Modeler.

Object3d.FacePrimitive

Contains the face object within the AEDT Desktop Modeler.

Object3d.EdgePrimitive

Contains the edge object within the AEDT Desktop Modeler.

Object3d.VertexPrimitive

Contains the vertex object within the AEDT Desktop Modeler.

Primitives.PolylineSegment

Creates and manipulates a segment of a polyline.

Primitives.Polyline

Creates and manipulates a polyline.

Object3d.Padstack

Manages properties of a padstack.

from pyaedt import Hfss
app = Hfss(specified_version="2022.1",
           non_graphical=False, new_desktop_session=True,
           close_on_exit=True, student_version=False)

# this call return the Modeler3D Class
modeler = app.modeler

# this call return a Primitives3D Object
primitives = modeler

# this call return a Object3d Object
my_box = primitives.create_box([0,0,0],[10,10,10])

# Getter and setter
my_box.material_name
my_box.material_name = "copper"

my_box.faces[0].center

...

Objects in Circuit#

Those classes define the objects properties for circuit tools. It contains all getter and setter to simplify object manipulation.

Object3d.CircuitComponent

Manages circuit components.

Object3d.CircuitPins

Class that manages circuit component pins.

from pyaedt import Circuit
app = Circuit(specified_version="2022.1",
           non_graphical=False, new_desktop_session=True,
           close_on_exit=True, student_version=False)

# this call return the Modeler Class
modeler = app.modeler

# this call return a Schematic Object
schematic = modeler.schematic

# this call return a Object3d Object
my_res = schematic.create_resistor("R1", 50)

# Getter and setter
my_res.location
my_res.parameters["R"]=100


...

Objects in Hfss3d Layout#

Those classes define the objects properties for Hfss3dLayout. It contains all getter and setter to simplify object manipulation.

object3dlayout.Components3DLayout

Contains components in HFSS 3D Layout.

object3dlayout.Nets3DLayout

Contains Nets in HFSS 3D Layout.

object3dlayout.Pins3DLayout

Contains the pins in HFSS 3D Layout.

object3dlayout.Line3dLayout

Class for Hfss 3D Layout lines management.

object3dlayout.Polygons3DLayout

Class for Hfss 3D Layout polygons management.

object3dlayout.Circle3dLayout

Class for Hfss 3D Layout circles management.

object3dlayout.Rect3dLayout

Class for Hfss 3D Layout rectangles management.

object3dlayout.Points3dLayout

Class for Hfss 3D Layout Points management.

object3dlayout.Point

Manages point attributes for the AEDT 3D Modeler.

from pyaedt import Hfss3dLayout
app = Hfss3dLayout(specified_version="2022.1",
           non_graphical=False, new_desktop_session=True,
           close_on_exit=True, student_version=False)

# this call return the Modeler3DLayout Class
modeler = app.modeler

# this call return a Primitives3D Object
primitives = modeler

# this call return a Object3d Object
my_rect = primitives.create_rectangle([0,0,0],[10,10])

# Getter and setter
my_rect.material_name

...

Coordinate System and Geometry Operators#

This module contains all properties and methods needed to edit a Coordinate System and a set of useful Geometry Operators. CoordinateSystem Class is accessible through create_coordinate_system method or coordinate_systems list. GeometryOperators can be imported and used as it is made by static methods.

Modeler.CoordinateSystem

Manages coordinate system data and execution.

GeometryOperators

from pyaedt import Hfss
app = Hfss(specified_version="2022.1",
             non_graphical=False, new_desktop_session=True,
             close_on_exit=True, student_version=False)

# this call returns the CoordinateSystem Object lists
cs = app.modeler.coordinate_systems

# this call returns a CoordinateSystem Object
new_cs = app.modeler.create_coordinate_system()

...