Shape
Introduction
In FreeCAD the word "Shape" is normally used to refer to a Part TopoShape (Part::TopoShape class), a type of object that gives an element its 3D geometrical and parametric representation (cube, pyramid, sphere, cylinder, fusion, etc.).
Essentially all objects that are displayed in the 3D View have a TopoShape, with the exception of "Meshes", which have a MeshObject (Mesh::MeshObject class).
See Part TopoShape for more information about this type of object.
Left: parametric shape defined by properties. Right: mesh, defined by vertices and triangular surfaces.
Usage
Shapes are normally created by internal functions of the Part Workbench, and are ultimately defined by the OpenCASCADE Technology kernel (OCCT).
Once a Shape is created, it can be used and modified by all workbenches by creating scripted objects around that Shape.
Essentially, every object derived from a Part Feature (Part::Feature class) is expected to hold and manipulate a Shape.
Any OpenCascade Shape has a tesselation mainly to view the Shape on screen. More information about this can be found in this German forum post and in the OpenCascad Mesh documentation.
Notes
In informal usage, a "Shape" may be any geometrical figure that is visible in the 3D View, and thus its concept may be confused with that of "Body" or "Part".
However, when more precision is required, the distinction must be made.
- A "Body" is an object derived from a Part Feature (
Part::Featureclass), created with the PartDesign Workbench. - A "Shape" is an internal object, embedded within the "Body".
- A "Part" is used to group several "Bodies" to form an assembly. A "Part" has a collection of "Shapes", but doesn't have a "Shape" of its own.
- Creation and modification: New Sketch, Extrude, Revolve, Mirror, Scale, Fillet, Chamfer, Face From Wires, Ruled Surface, Loft, Sweep, Section, Cross-Sections, 3D Offset, 2D Offset, Thickness, Project on Surface, Appearance per Face
- Boolean: Compound, Explode Compound, Compound Filter, Boolean Operation, Cut, Union, Intersection, Connect Shapes, Embed Shapes, Cutout Shape, Boolean Fragments, Slice Apart, Slice to Compound, Boolean XOR, Check Geometry, Defeaturing
- Other tools: Box Selection, Shape From Mesh, Points From Shape, Convert to Solid, Reverse Shapes, Simple Copy, Transformed Copy, Shape Element Copy, Refine Shape, Set Tolerance, Persistent Section Cut, Attachment
- Preferences: Preferences, Fine tuning
- Core: App DocumentObject
- Basic: App FeaturePython, App GeoFeature, Part Feature, Mesh Feature, Fem FemMeshObject
- Internal shapes: Part TopoShape, Mesh MeshObject, Fem FemMesh
- Structure: App DocumentObjectGroup (Std Group), App Part (Std Part), App Link (Std LinkMake)
- Derived: Part Part2DObject, Sketcher SketchObject, PartDesign Body, PartDesign Feature
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub