Operations¶
Public Methods¶
-
createBrick
(x=1, y=1, z=1, position=None, parent=None)¶
Creates a PolyNURBS block in space.
See createSurfaceGrid, createPolygonMesh, fit for more advanced create methods.
param x: | Length of the block. |
---|---|
type x: | float |
param y: | Width of the block. |
type y: | float |
param z: | Depth of the block. |
type z: | float |
param position: | Transformation matrix of the block. |
type position: | Matrix44 |
param parent: | The parent of the new PolyNURBS part created. |
type parent: | Assembly |
returns: | The new PolyNURBS part. |
rtype: | PolyNURBS |
-
createSurfaceGrid
(numberRowsOfFaces=1, numberColumnOfFaces=1, cornerVertices=[[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0]], parent=None)¶
Creates a PolyNURBS surface in space.
param numberRowsOfFaces: | |
---|---|
Number of faces to be shown vertically for the surface. | |
type numberRowsOfFaces: | |
int | |
param numberColumnOfFaces: | |
Number of faces to be shown horizontally for the surface. | |
type numberColumnOfFaces: | |
int | |
param cornerVertices: | |
The four corner vertex location in global space. | |
type cornerVertices: | |
list[list[math.Point]] | |
param parent: | The parent of the new PolyNURBS part created. |
type parent: | Assembly |
returns: | The new PolyNURBS part. |
rtype: | PolyNURBS |
-
createPolygonMesh
(vertices, indices, edgeWeights=None, parent=None)¶
Creates a custom PolyNURBs polygon.
param vertices: | List of each vertex location in global space. |
---|---|
type vertices: | list[math.Point] |
param indices: | List of vertex indices forming each polygon. |
type indices: | list[list[int]] |
param edgeWeights: | |
A list of list containing vertex 1 index, vertex 2 index and the weight. The weight should be in [0, 10], with 10 being perfect crease with the cage. Edge weights pull the smooth surface closer to the cage’s edge. | |
type edgeWeights: | |
list[list[int, int, float]] | |
param parent: | The parent of the new PolyNURBS part created. |
type parent: | Assembly |
returns: | The new PolyNURBS part. |
rtype: | PolyNURBS |
-
edit
(self)
Contextmanager to group multiple updates for performance.
-
movePoints
(self, deltaLocations)¶
Translates the points according to translation deltas given.
param deltaLocations: | |
---|---|
A mapping of points to their corresponding (dx, dy, dz) translation. | |
type deltaLocations: | |
dict[FeaturePoint, math.Point] |
-
setPointLocations
(self, locations)¶
Moves points to an exact location.
param locations: | |
---|---|
A mapping of points to the corresponding new location. | |
type locations: | dict[FeaturePoint, math.Point] |
-
splitArea
(self, area, point1, point2)¶
Splits a single PolyNURBS cage face.
Divides the area into two, including the original face, with a new edge between the original and new face. The order of points determines which resulting face is the original and which is new.
param area: | The area to divide. |
---|---|
type area: | FeatureArea |
param point1: | The first point of the edge. |
type point1: | math.Point |
param point2: | The second point of the edge. |
type point2: | math.Point |
-
shell
(self, areas, thickness=0)
Removes the cage face and creates thin walls to generate a shelled PolyNURBS part.
param areas: | The cage face to remove. |
---|---|
type areas: | FeatureArea |
param thickness: | |
The wall thickness of the shelled PolyNURBS part. If invalid thickness, is passed in, it will be computed. | |
type thickness: | float |
-
findAndFixBadFaces
(self)¶
Finds and fixes any bad faces from the given part.
-
closeHolesInSolid
(self)¶
Closes holes in a PolyNURBS cage.
-
fit
(parts, numberOfFaces=500, curvature=0.5, autoCrease=False, system=None, symmetry=(0, 0, 0), parent=None)
Creates a new PolyNURBS part, on top of an existing mesh geometry.
param parts: | The part or parts to be fitted. If you pass more than one part, they will be combined into a single fit part. |
---|---|
type parts: | list[Part] |
param numberOfFaces: | |
The number of PolyNURBS cage faces to be created for each part. | |
type numberOfFaces: | |
int | |
param curvature: | |
The amount of curvature detail to be captured. The value should range between 0 and 1. Higher values will capture more features. | |
type curvature: | float |
param autoCrease: | |
When True, the Fit operation will attempt to retain sharp edges from the original model, so you can create fillets at a later time. | |
type autoCrease: | |
bool | |
param system: | Reference system which symmetry should occur about. |
type system: | System |
param symmetry: | Specifies the direction of the symmetry along which axis of the system. The value can be (0,1,0) specifying the symmetry along Y axis of the reference system. |
type symmetry: | math.Point |
param parent: | The parent of the new PolyNURBS part created. |
type parent: | Assembly |
returns: | The new PolyNURBS part. |
rtype: | PolyNURBS |
-
fitSynthesis
(synthesis, curvature=50, numberOfFaces=2500, shrinkWrapSize=0.0019, autoCrease=False, intersect=True)¶
Fits an optimized part with PolyNURBS
param synthesis: | |
---|---|
Synthesis object to get the synthesized part | |
type synthesis: | Synthesis |
param curvature: | |
The amount of curvature detail to be captured. The value should range between 0 and 100. Higher values will capture more features. | |
type curvature: | float |
param numberOfFaces: | |
The number of PolyNURBs cage faces to be created for each optimized part. | |
type numberOfFaces: | |
int | |
param shrinkWrapSize: | |
The Voxel dimension size for each PolyNURB cage. | |
type shrinkWrapSize: | |
float | |
param autoCrease: | |
When True, the Fit operation will attempt to retain sharp edges from the original model, so you can create fillets at a later time. | |
type autoCrease: | |
bool | |
param intersect: | |
When True, intersects the optimized part with the new PolyNURBS part. | |
type intersect: | bool |
-
ShapeVariable
(points, direction, **kwds)¶
Define which directions PolyNURBS cage points can move during PolyNURBS optimization.