Difference between revisions of "Part Module"

From FreeCAD Documentation
Jump to: navigation, search
Line 21: Line 21:
 
doc=App.newDocument()  
 
doc=App.newDocument()  
 
# add a line element to the document and set its points  
 
# add a line element to the document and set its points  
l=Part.line()
+
l=Part.Line()
l.setStartPoint((0.0,0.0,0.0))
+
l.StartPoint=(0.0,0.0,0.0)
l.setEndPoint((1.0,1.0,1.0))
+
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Line","Line").Line_=l  
+
doc.addObject("Part::Feature","Line").Shape=l.toShape()
 
doc.recompute()
 
doc.recompute()
 
</code>
 
</code>
Line 33: Line 33:
 
import Part
 
import Part
 
doc = App.activeDocument()
 
doc = App.activeDocument()
c = Part.circle() # create a circle object with undefined radius
+
c = Part.Circle()  
c.setRadius(10)  
+
c.Radius=10.0  
f = doc.addObject("Part::Circle", "Circle") # create a document with a circle feature
+
f = doc.addObject("Part::Feature", "Circle")
f.Circ = c # Assign the circle object to the Circ property  
+
f.Shape = c.toShape() # create a shape out of the geometry and assign it the shape property of the feature
 
doc.recompute()
 
doc.recompute()
 
</code>
 
</code>

Revision as of 12:36, 3 July 2008

The Part module deals with the CAD data structures.

At the moment the CAD capabilites of FreeCAD are very limited but it already supports a few basic CAD primitives like plane, box, cylinder, cone, sphere and torus. For all these primitives a user interface exists to create such elements. Moreover there are several additional primitives for which no user interface exists but that can be created over their Python interface. These primitives are circle and line. More primitives will follow.

Basic data structures

The main data structure in FreeCAD is the BRep data type based on OpenCascade. To get the basics see: Topological data scripting

User interface

To create primitives over the user interface switch to the Part design workbench and click on 'Create primitives...' menu item under the Part menu. This opens a dialog where your are able to define the type of primitive and define further properties depending on the type you have chosen. Then click on the 'Create' button to create such an element.

Command line

There are two further primitives that can only be created over the command line. So far there does not exists a user interface for them.

To create a line element switch to the Python console and type in

import Part,PartGui doc=App.newDocument()

  1. add a line element to the document and set its points

l=Part.Line() l.StartPoint=(0.0,0.0,0.0) l.EndPoint=(1.0,1.0,1.0) doc.addObject("Part::Feature","Line").Shape=l.toShape() doc.recompute()

A circle can be created in a similar way

import Part doc = App.activeDocument() c = Part.Circle() c.Radius=10.0 f = doc.addObject("Part::Feature", "Circle") f.Shape = c.toShape() # create a shape out of the geometry and assign it the shape property of the feature doc.recompute()