Part TopoForm

From FreeCAD Documentation
Revision as of 15:15, 17 January 2020 by Maker (talk | contribs) (Created page with "Eine Part TopoForm, oder formal eine {{{incode|Part::TopoShape}}}, ist eine Klasse, die eine parametrische '''topologische Form'' in der Software definie...")

Einleitung

Eine Part TopoForm, oder formal eine Part::TopoShape, ist eine Klasse, die eine parametrische 'topologische Form in der Software definiert. Objekte im Dokument, die etwas in der 3D Ansicht zeigen, haben normalerweise eine TopoForm.

The topological shapes, as well as their methods, are defined by the OpenCASCADE Technology kernel (OCCT). FreeCAD uses these shapes, and builds App DocumentObjects around them.

Simplified diagram of the relationships between the core objects in the program. The Part::TopoShape class is embedded in the Part::Feature object and from there it is propagated to all objects that are derived from it.

How to use

The Part TopoShape is an object that is assigned to some App DocumentObjects.

In particular, the basic object that handles these types of attributes is the Part Feature (Part::Feature class). All objects derived from this class will have access to a Part TopoShape.

Some of the most important objects with Part TopoShape are the following:

Scripting

See also: FreeCAD Scripting Basics, and scripted objects.

All objects derived from Part::Feature will have a Part TopoShape, which is normally accessible from its Shape attribute.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::Box", "Box")
print(obj.Shape)

A TopoShape has many attributes (variables) and methods that contain information about it, and which allow doing operations with it. These variables and methods can be tested in the Python console.

print(obj.Shape.Area)
print(obj.Shape.BoundBox)
print(obj.Shape.CenterOfMass)
print(obj.Shape.ShapeType)

obj.Shape.check()
obj.Shape.copy()
obj.Shape.exportStep("my_file.step")
obj.Shape.exportStl("my_file.stl")

For a full list of attributes and methods, consult the source documentation, and the Std PythonHelp tool.