Part Module: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 2: Line 2:


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.
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 [http://en.wikipedia.org/wiki/Boundary_representation BRep] data type based on OpenCascade.
To get the basics see: [[Topological data scripting]]


== User interface ==
== User interface ==

Revision as of 17:57, 5 June 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.setStartPoint((0.0,0.0,0.0)) l.setEndPoint((1.0,1.0,1.0)) doc.addObject("Part::Line","Line").Line_=l doc.recompute()

A circle can be created in a similar way

import Part doc = App.activeDocument() c = Part.circle() # create a circle object with undefined radius c.setRadius(10) f = doc.addObject("Part::Circle", "Circle") # create a document with a circle feature f.Circ = c # Assign the circle object to the Circ property doc.recompute()