Part API: Difference between revisions

From FreeCAD Documentation
(Update makeHelix per Mantis 0001247)
(Add link to Python Part.* API)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
The Part module is the direct connection between FreeCAD and the OpenCasCade kernel. It provides mainly [[TopoShape_API|TopoShapes]] which is the main object type used by OpenCascade. The Part module also contains a variety of convenience functions to create and manipulate topoShapes. Example:
<translate>
<!--T:4-->
{{VeryImportantMessage|(November 2018) This information may be incomplete and outdated. For the latest API, see the [https://www.freecadweb.org/api autogenerated API documentation] or [https://freecad-python-stubs.readthedocs.io/en/latest/autoapi/Part/ autogenerated Python Part API documentation].}}


<!--T:1-->
import Part
The Part module is the direct connection between FreeCAD and the OpenCasCade kernel. It provides mainly [[TopoShape_API|TopoShapes]] which is the main object type used by OpenCascade. The Part module also contains a variety of convenience functions to create and manipulate topoShapes. Example:
mycube = Part.makeBox(2,2,2)
</translate>
Part.show(mycube)
{{Code|code=
import Part
mycube = Part.makeBox(2,2,2)
Part.show(mycube)
}}
<translate>


<!--T:2-->
{{APIFunction|__fromPythonOCC__|OCC.Object|Helper method to convert a pythonocc shape to an internal shape|A Part.Shape}}
{{APIFunction|__fromPythonOCC__|OCC.Object|Helper method to convert a pythonocc shape to an internal shape|A Part.Shape}}
{{APIFunction|__sortEdges__|list of edges|Helper method to sort an unsorted list of edges so that afterwards the start and end vertex of two consecutive edges are geometrically coincident. It returns a single list of edges and the algorithm stops after the first set of connected edges which means that the output list can be smaller than the input list. The sorted list can be used to create a Wire.|a list of edges}}

{{APIFunction|__sortEdges__|list of edges|Helper method to sort an unsorted list of edges so that afterwards two adjacent edges share a common vertex|a list of edges}}

{{APIFunction|__toPythonOCC__|Part.Shape|Helper method to convert an internal shape to pythonocc shape|an OCC.Shape}}
{{APIFunction|__toPythonOCC__|Part.Shape|Helper method to convert an internal shape to pythonocc shape|an OCC.Shape}}

{{APIFunction|cast_to_shape|Part.Shape|Cast to the actual shape type| }}
{{APIFunction|cast_to_shape|Part.Shape|Cast to the actual shape type| }}

{{APIFunction|export|list,string|Export a list of objects into a single file.| }}
{{APIFunction|export|list,string|Export a list of objects into a single file.| }}

{{APIFunction|getSortedClusters|list of edges|Helper method to sort and cluster a variety of edges| }}
{{APIFunction|getSortedClusters|list of edges|Helper method to sort and cluster a variety of edges| }}

{{APIFunction|insert|string,string|Insert the file (path given as first argument) into the given document (second argument).| }}
{{APIFunction|insert|string,string|Insert the file (path given as first argument) into the given document (second argument).| }}

{{APIFunction|makeBox|length,width,height,[pnt,dir]|Makes a box located at pnt with the dimensions (length,width,height). By default pnt is Vector(0,0,0) and dir is Vector(0,0,1)|the created shape}}
{{APIFunction|makeBox|length,width,height,[pnt,dir]|Makes a box located at pnt with the dimensions (length,width,height). By default pnt is Vector(0,0,0) and dir is Vector(0,0,1)|the created shape}}

{{APIFunction|makeCircle|radius,[pnt,dir,angle1,angle2]|Makes a circle with a given radius. By default pnt is Vector(0,0,0), dir is Vector(0,0,1), angle1 is 0 and angle2 is 360|the created shape}}
{{APIFunction|makeCircle|radius,[pnt,dir,angle1,angle2]|Makes a circle with a given radius. By default pnt is Vector(0,0,0), dir is Vector(0,0,1), angle1 is 0 and angle2 is 360|the created shape}}

{{APIFunction|makeCompound|list|Creates a compound out of a list of shapes.|the created shape}}
{{APIFunction|makeCompound|list|Creates a compound out of a list of shapes.|the created shape}}

{{APIFunction|makeCone|radius1,radius2,height,[pnt,dir,angle]|Makes a cone with given radii and height. By default pnt is Vector(0,0,0), dir is Vector(0,0,1) and angle is 360|the created shape}}
{{APIFunction|makeCone|radius1,radius2,height,[pnt,dir,angle]|Makes a cone with given radii and height. By default pnt is Vector(0,0,0), dir is Vector(0,0,1) and angle is 360|the created shape}}

{{APIFunction|makeCylinder|radius,height,[pnt,dir,angle]|Makes a cylinder with a given radius and height. By default pnt is Vector(0,0,0),dir is Vector(0,0,1) and angle is 360|the created shape}}
{{APIFunction|makeCylinder|radius,height,[pnt,dir,angle]|Makes a cylinder with a given radius and height. By default pnt is Vector(0,0,0),dir is Vector(0,0,1) and angle is 360|the created shape}}

{{APIFunction|makeHelix|pitch,height,radius,[angle,lefthand,heightstyle]|Makes a helix shape with a given pitch, height and radius. Defaults to right-handed cylindrical helix. Non-zero angle parameter produces a conical helix. Lefthand True produces left handed helix. Heightstyle applies only to conical helices. Heightstyle False (default) will cause the height parameter to be interpreted as the length of the side of the underlying frustum. Heightstyle True will cause the height parameter to be interpreted as the vertical height of the helix. Pitch is "metric pitch" (advance/revolution). For conical helix, radius is the minor radius.|the created shape}}
{{APIFunction|makeHelix|pitch,height,radius,[angle,lefthand,heightstyle]|Makes a helix shape with a given pitch, height and radius. Defaults to right-handed cylindrical helix. Non-zero angle parameter produces a conical helix. Lefthand True produces left handed helix. Heightstyle applies only to conical helices. Heightstyle False (default) will cause the height parameter to be interpreted as the length of the side of the underlying frustum. Heightstyle True will cause the height parameter to be interpreted as the vertical height of the helix. Pitch is "metric pitch" (advance/revolution). For conical helix, radius is the minor radius.|the created shape}}

{{APIFunction|makeLine|(x1,y1,z1),(x2,y2,z2)|Makes a line of two points|the created shape}}
{{APIFunction|makeLine|(x1,y1,z1),(x2,y2,z2)|Makes a line of two points|the created shape}}
{{APIFunction|makeLoft|shapelist<profiles>,[boolean<solid>,boolean<ruled>]|Creates a loft shape using the list of profiles. Optionally make result a solid (vs surface/shell) or make result a ruled surface.|the created shape}}

{{APIFunction|makeLoft| |Creates a loft shape.|the created shape}}

{{APIFunction|makePlane|length,width,[pnt,dir]|Makes a plane. By default pnt is Vector(0,0,0) and dir is Vector(0,0,1)|the created shape}}
{{APIFunction|makePlane|length,width,[pnt,dir]|Makes a plane. By default pnt is Vector(0,0,0) and dir is Vector(0,0,1)|the created shape}}

{{APIFunction|makePolygon|list|Makes a polygon of a list of Vectors|the created shape}}
{{APIFunction|makePolygon|list|Makes a polygon of a list of Vectors|the created shape}}

{{APIFunction|makeRevolution|Curve,[vmin,vmax,angle,pnt,dir]|Makes a revolved shape by rotating the curve or a portion of it around an axis given by (pnt,dir). By default vmin/vmax are set to bounds of the curve,angle is 360,pnt is Vector(0,0,0) and dir is Vector(0,0,1)|the created shape}}
{{APIFunction|makeRevolution|Curve,[vmin,vmax,angle,pnt,dir]|Makes a revolved shape by rotating the curve or a portion of it around an axis given by (pnt,dir). By default vmin/vmax are set to bounds of the curve,angle is 360,pnt is Vector(0,0,0) and dir is Vector(0,0,1)|the created shape}}

{{APIFunction|makeRuledSurface|Edge or Wire,Edge or Wire|Creates a ruled surface out of two edges or wires. If wires are used then these must have the same number of edges.|the created shape}}
{{APIFunction|makeRuledSurface|Edge or Wire,Edge or Wire|Creates a ruled surface out of two edges or wires. If wires are used then these must have the same number of edges.|the created shape}}
{{APIFunction|makeShell|list|Creates a shell out of a list of faces. Note: Resulting shell should be manifold. Non-manifold shells are not well supported.|the created shape}}

{{APIFunction|makeShell|list|Creates a shell out of a list of faces.|the created shape}}

{{APIFunction|makeSolid|Part.Shape|Creates a solid out of the shells inside a shape.|the created shape}}
{{APIFunction|makeSolid|Part.Shape|Creates a solid out of the shells inside a shape.|the created shape}}
{{APIFunction|makeSphere|radius,[center_pnt, axis_dir, V_startAngle, V_endAngle, U_angle]|Makes a sphere (or partial sphere) with a given radius. By default center_pnt is Vector(0,0,0), axis_dir is Vector(0,0,1), V_startAngle is 0, V_endAngle is 90 and U_angle is 360|the created shape}}

{{APIFunction|makeSphere|radius,[pnt, dir, angle1,angle2,angle3]|Makes a sphere with a given radius. By default pnt is Vector(0,0,0), dir is Vector(0,0,1), angle1 is 0, angle2 is 90 and angle3 is 360|the created shape}}

{{APIFunction|makeTorus|radius1,radius2,[pnt,dir,angle1,angle2,angle]|Makes a torus with a given radii and angles. By default pnt is Vector(0,0,0),dir is Vector(0,0,1),angle1 is 0,angle2 is 360 and angle is 360|the created shape}}
{{APIFunction|makeTorus|radius1,radius2,[pnt,dir,angle1,angle2,angle]|Makes a torus with a given radii and angles. By default pnt is Vector(0,0,0),dir is Vector(0,0,1),angle1 is 0,angle2 is 360 and angle is 360|the created shape}}

{{APIFunction|makeTube|edge,float|Creates a tube.|the created shape}}
{{APIFunction|makeTube|edge,float|Creates a tube.|the created shape}}

{{APIFunction|open|string|Creates a new document and load the file into the document.| }}
{{APIFunction|open|string|Creates a new document and load the file into the document.| }}

{{APIFunction|read|string|Loads the file and return the shape.|a shape}}
{{APIFunction|read|string|Loads the file and return the shape.|a shape}}

{{APIFunction|show|shape|Adds the shape to the active document or create one if no document exists.| }}
{{APIFunction|show|shape|Adds the shape to the active document or create one if no document exists.| }}


{{languages| {{es|Part_API/es}} {{fr|Part_API/fr}} }}


</translate>
[[Category:API]]
{{Userdocnavi{{#translation:}}}}
[[Category:API{{#translation:}}]]
[[Category:Poweruser Documentation{{#translation:}}]]
{{clear}}

Latest revision as of 03:16, 11 October 2023

(November 2018) This information may be incomplete and outdated. For the latest API, see the autogenerated API documentation or autogenerated Python Part API documentation.

The Part module is the direct connection between FreeCAD and the OpenCasCade kernel. It provides mainly TopoShapes which is the main object type used by OpenCascade. The Part module also contains a variety of convenience functions to create and manipulate topoShapes. Example:

import Part
mycube = Part.makeBox(2,2,2)
Part.show(mycube)
__fromPythonOCC__(OCC.Object)

Description: Helper method to convert a pythonocc shape to an internal shape

Returns: A Part.Shape

__sortEdges__(list of edges)

Description: Helper method to sort an unsorted list of edges so that afterwards the start and end vertex of two consecutive edges are geometrically coincident. It returns a single list of edges and the algorithm stops after the first set of connected edges which means that the output list can be smaller than the input list. The sorted list can be used to create a Wire.

Returns: a list of edges

__toPythonOCC__(Part.Shape)

Description: Helper method to convert an internal shape to pythonocc shape

Returns: an OCC.Shape

cast_to_shape(Part.Shape)

Description: Cast to the actual shape type

Returns:

export(list,string)

Description: Export a list of objects into a single file.

Returns:

getSortedClusters(list of edges)

Description: Helper method to sort and cluster a variety of edges

Returns:

insert(string,string)

Description: Insert the file (path given as first argument) into the given document (second argument).

Returns:

makeBox(length,width,height,[pnt,dir])

Description: Makes a box located at pnt with the dimensions (length,width,height). By default pnt is Vector(0,0,0) and dir is Vector(0,0,1)

Returns: the created shape

makeCircle(radius,[pnt,dir,angle1,angle2])

Description: Makes a circle with a given radius. By default pnt is Vector(0,0,0), dir is Vector(0,0,1), angle1 is 0 and angle2 is 360

Returns: the created shape

makeCompound(list)

Description: Creates a compound out of a list of shapes.

Returns: the created shape

makeCone(radius1,radius2,height,[pnt,dir,angle])

Description: Makes a cone with given radii and height. By default pnt is Vector(0,0,0), dir is Vector(0,0,1) and angle is 360

Returns: the created shape

makeCylinder(radius,height,[pnt,dir,angle])

Description: Makes a cylinder with a given radius and height. By default pnt is Vector(0,0,0),dir is Vector(0,0,1) and angle is 360

Returns: the created shape

makeHelix(pitch,height,radius,[angle,lefthand,heightstyle])

Description: Makes a helix shape with a given pitch, height and radius. Defaults to right-handed cylindrical helix. Non-zero angle parameter produces a conical helix. Lefthand True produces left handed helix. Heightstyle applies only to conical helices. Heightstyle False (default) will cause the height parameter to be interpreted as the length of the side of the underlying frustum. Heightstyle True will cause the height parameter to be interpreted as the vertical height of the helix. Pitch is "metric pitch" (advance/revolution). For conical helix, radius is the minor radius.

Returns: the created shape

makeLine((x1,y1,z1),(x2,y2,z2))

Description: Makes a line of two points

Returns: the created shape

makeLoft(shapelist<profiles>,[boolean<solid>,boolean<ruled>])

Description: Creates a loft shape using the list of profiles. Optionally make result a solid (vs surface/shell) or make result a ruled surface.

Returns: the created shape

makePlane(length,width,[pnt,dir])

Description: Makes a plane. By default pnt is Vector(0,0,0) and dir is Vector(0,0,1)

Returns: the created shape

makePolygon(list)

Description: Makes a polygon of a list of Vectors

Returns: the created shape

makeRevolution(Curve,[vmin,vmax,angle,pnt,dir])

Description: Makes a revolved shape by rotating the curve or a portion of it around an axis given by (pnt,dir). By default vmin/vmax are set to bounds of the curve,angle is 360,pnt is Vector(0,0,0) and dir is Vector(0,0,1)

Returns: the created shape

makeRuledSurface(Edge or Wire,Edge or Wire)

Description: Creates a ruled surface out of two edges or wires. If wires are used then these must have the same number of edges.

Returns: the created shape

makeShell(list)

Description: Creates a shell out of a list of faces. Note: Resulting shell should be manifold. Non-manifold shells are not well supported.

Returns: the created shape

makeSolid(Part.Shape)

Description: Creates a solid out of the shells inside a shape.

Returns: the created shape

makeSphere(radius,[center_pnt, axis_dir, V_startAngle, V_endAngle, U_angle])

Description: Makes a sphere (or partial sphere) with a given radius. By default center_pnt is Vector(0,0,0), axis_dir is Vector(0,0,1), V_startAngle is 0, V_endAngle is 90 and U_angle is 360

Returns: the created shape

makeTorus(radius1,radius2,[pnt,dir,angle1,angle2,angle])

Description: Makes a torus with a given radii and angles. By default pnt is Vector(0,0,0),dir is Vector(0,0,1),angle1 is 0,angle2 is 360 and angle is 360

Returns: the created shape

makeTube(edge,float)

Description: Creates a tube.

Returns: the created shape

open(string)

Description: Creates a new document and load the file into the document.

Returns:

read(string)

Description: Loads the file and return the shape.

Returns: a shape

show(shape)

Description: Adds the shape to the active document or create one if no document exists.

Returns: