Topological data scripting: Difference between revisions

From FreeCAD Documentation
No edit summary
Line 15: Line 15:
* '''Line''' A straight line in 3D, defined by starting point and and point
* '''Line''' A straight line in 3D, defined by starting point and and point
* '''Circle''' Circle or circle segment defined by a center point and start and end point
* '''Circle''' Circle or circle segment defined by a center point and start and end point
* '''......''' And soon some more ;-)


=== Topology ===
=== Topology ===

Revision as of 15:17, 20 June 2008

Introduction

First to use the Part module functionality you have to load the Part module into the intereter: import Part

Class Diagram

This is an UML overview about the most important classes of the Part module:

Python classes of the Part module
Python classes of the Part module

Geometry

The Geomtric objects are the Building block of all topological objects:

  • Geom Base class of the geometric objects
  • Line A straight line in 3D, defined by starting point and and point
  • Circle Circle or circle segment defined by a center point and start and end point
  • ...... And soon some more ;-)

Topology

The following topological data types are available:

  • COMPOUND A group of any type of topological object.
  • COMPSOLID A composite solid is a set of solids connected by their faces. It expands the notions of WIRE and SHELL to solids.
  • SOLID A part of space limited by shells. It is three dimensional.
  • SHELL A set of faces connected by their edges. A shell can be open or closed.
  • FACE In 2D it is part of a plane; in 3D it is part of a surface. Its geometry is constrained (trimmed) by contours. It is two dimensional.
  • WIRE A set of edges connected by their vertices. It can be an open or closed contour depending on whether the edges are linked or not.
  • EDGE A topological element corresponding to a restrained curve. An edge is generally limited by vertices. It has one dimension.
  • VERTEX A topological element corresponding to a point. It has zero dimension.
  • SHAPE A generic term covering all of the above.

Creating Basic types

You can directly create basic topological objects through the module: b = Part.createBox(0,0,0,100,100,100) Part.show(b)

Creating Topology

We will now create a topology by constructing it out of simpler geometry. As a case study we use a Part as seen in the picture which consist of four Vertexes, two circles and two lines.

Wire
Wire

Load and Save

Exploring shapes

You can explore the topological data structure:

b = Part.createBox(0,0,0,100,100,100) b.Wires w = b.Wires[0] w w.Wires w.Vertexes Part.show(w) w.Edges e = w.Edges[0] e.Vertexes v = e.Vertexes[0] v.Point