create_polyline#
- Modeler3D.create_polyline(points, segment_type=None, cover_surface=False, close_surface=False, name=None, material=None, xsection_type=None, xsection_orient=None, xsection_width=1, xsection_topwidth=1, xsection_height=1, xsection_num_seg=0, xsection_bend_type=None, non_model=False)#
Draw a polyline object in the 3D modeler.
This method retrieves the
ansys.aedt.core.modeler.cad.primitives.Polylineobject, which has additional methods for manipulating the polyline. For example, you can useansys.aedt.core.modeler.cad.primitives.Polyline.insert_segment()to insert a segment oransys.aedt.core.modeler.cad.primitives.Polyline.idto retrieve the ID of the polyline object.- Parameters:
- points
list Array of positions of each point of the polyline. A position is a list of 2D or 3D coordinates. Position coordinate values can be numbers or valid AEDT string expressions. For example,
[0, 1, 2],["0mm", "5mm", "1mm"], or["x1", "y1", "z1"].- segment_type
strorPolylineSegmentorlist,optional The default behavior is to connect all points as
"Line"segments. The default isNone. Use a"PolylineSegment", for"Line","Arc","Spline", or"AngularArc". A list of segment types (str oransys.aedt.core.modeler.cad.primitives.PolylineSegment) is valid for a compound polyline.- cover_surfacebool,
optional The default is
False.- close_surfacebool,
optional The default is
False, which automatically joins the starting and ending points.- name
str,optional Name of the polyline. The default is
None.- material
str,optional Name of the material. The default is
None, in which case the default material is assigned.- xsection_type
str,optional Type of the cross-section. Options are
"Line","Circle","Rectangle", and"Isosceles Trapezoid". The default isNone.- xsection_orient
str,optional Direction of the normal vector to the width of the cross-section. Options are
"X","Y","Z", and"Auto". The default isNone, which sets the direction to"Auto".- xsection_width
floatorstr,optional Width or diameter of the cross-section for all types. The default is
1.- xsection_topwidth
floatorstr,optional Top width of the cross-section for type
"Isosceles Trapezoid"only. The default is1.- xsection_height
floatorstr Height of the cross-section for type
"Rectangle"or"Isosceles Trapezoid"only. The default is1.- xsection_num_seg
int,optional Number of segments in the cross-section surface for type
"Circle","Rectangle", or"Isosceles Trapezoid". The default is0. The value must be0or greater than2.- xsection_bend_type
str,optional Type of the bend for the cross-section. The default is
None, in which case the bend type is set to"Corner". For the type"Circle", the bend type should be set to"Curved".- non_modelbool,
optional Either if the polyline will be created as model or unmodel object.
- points
- Returns:
ansys.aedt.core.modeler.polylines.PolylinePolyline object.
References
>>> oEditor.CreatePolyline
Examples
Set up the desktop environment.
>>> from ansys.aedt.core.modeler.cad.polylines import PolylineSegment >>> from ansys.aedt.core import Desktop >>> from ansys.aedt.core import Maxwell3d >>> desktop = Desktop(version="2025.2", new_desktop=False) >>> m3d = Maxwell3d() >>> m3d.modeler.model_units = "mm"
Define some test data points.
>>> test_points = [ ... ["0mm", "0mm", "0mm"], ... ["100mm", "20mm", "0mm"], ... ["71mm", "71mm", "0mm"], ... ["0mm", "100mm", "0mm"], ... ]
The default behavior assumes that all points are to be connected by line segments. Optionally specify the name.
>>> P1 = m3d.modeler.create_polyline(test_points, name="PL_line_segments")
Specify that the first segment is a line and the last three points define a three-point arc.
>>> P2 = m3d.modeler.create_polyline(test_points, segment_type=["Line", "Arc"], name="PL_line_plus_arc")
Redraw the 3-point arc alone from the last three points and additionally specify five segments using
PolylineSegment.>>> P3 = m3d.modeler.create_polyline( ... test_points[1:], segment_type=PolylineSegment(segment_type="Arc", num_seg=7), name="PL_segmented_arc" ... )
Specify that the four points form a spline and add a circular cross-section with a diameter of 1 mm.
>>> P4 = m3d.modeler.create_polyline( ... test_points, segment_type="Spline", name="PL_spline", xsection_type="Circle", xsection_width="1mm" ... )
Use the
PolylineSegmentobject to specify more detail about the individual segments. Create a center point arc starting from the positiontest_points[1], rotating about the center point positiontest_points[0]in the XY plane.>>> start_point = test_points[1] >>> center_point = test_points[0] >>> segment_def = PolylineSegment( ... segment_type="AngularArc", arc_center=center_point, arc_angle="90deg", arc_plane="XY" ... ) >>> m3d.modeler.create_polyline(start_point, segment_type=segment_def, name="PL_center_point_arc")
Create a spline using a list of variables for the coordinates of the points.
>>> x0, y0, z0 = "0", "0", "1" >>> x1, y1, z1 = "1", "3", "1" >>> x2, y2, z2 = "2", "2", "1" >>> P5 = m3d.modeler.create_polyline( ... points=[[x0, y0, z0], [x1, y1, z1], [x2, y2, z2]], segment_type="Spline", name="polyline_with_variables" ... )
Create a closed geometry by specifying in
segment_typea list ofPolylineSegmentsincludingAngularArcsegments.>>> test_points_1 = [[0.4, 0, 0], [-0.4, -0.6, 0], [0.4, 0, 0]] >>> P6 = m3d.modeler.create_polyline( ... points=test_points_1, ... segment_type=[ ... PolylineSegment( ... segment_type="AngularArc", arc_center=[0, 0, 0], arc_angle="180deg", arc_plane="XY" ... ), ... PolylineSegment(segment_type="Line"), ... PolylineSegment( ... segment_type="AngularArc", arc_center=[0, -0.6, 0], arc_angle="180deg", arc_plane="XY" ... ), ... PolylineSegment(segment_type="Line"), ... ], ... )