App Part
Introduction
An App Part object, or formally an App::Part
, is an element that allows grouping objects in 3D space.
It was developed to be used in assemblies, as one of its principal characteristic is that it has an Origin which can serve as reference for included objects.
Simplified diagram of the relationships between the core objects in the program. The App::Part
class has an origin in order to be able to position object relatively to this object.
How to use
- Press the Part button in the structure toolbar.
It can also be created from the Python console as described in the Scripting section.
Properties
An App Part (App::Part
class) is derived from the basic App GeoFeature (App::GeoFeature
class), therefore it shares all the latter's properties.
In addition to the properties described in App GeoFeature, the App Part has some properties that help it manage information, like DataType, DataId, DataLicense, DataLicenseURL, DataColor, and DataGroup.
See Property for all property types that scripted objects can have.
These are the properties available in the property editor. Hidden properties can be shown by using the Show all command in the context menu of the property editor.
Data
Base
- DataPlacement (
Placement
): the position of the object in the 3D view. The placement is defined by aBase
point (vector), and aRotation
(axis and angle). See Placement.- DataAngle: the angle of rotation around the DataAxis. By default, it is
0°
(zero degrees). - DataAxis: the unit vector that defines the axis of rotation for the placement. Each component is a floating point value between
0
and1
. If any value is above1
, the vector is normalized so that the magnitude of the vector is1
. By default, it is the positive Z axis,(0, 0, 1)
. - DataPosition: a vector with the 3D coordinates of the base point. By default, it is the origin
(0, 0, 0)
.
- DataAngle: the angle of rotation around the DataAxis. By default, it is
- DataLabel (
String
): the user editable name of this object, it is an arbitrary UTF8 string. - DataType (
String
): a description for this object. By default, it is an empty string""
. - DataId (
String
): and ID or part number of this object. By default, it is an empty string""
. - DataLicense (
String
): a field to specify the license for this object. By default, it is an empty string""
. - DataLicenseURL (
String
): a field to specify the web address to the license or contract for this object. By default, it is an empty string""
. - DataColor (
Color
): a tuple of three floating point RGBA values(r,g,b,a)
to define the color of the object; by default it is(1.0, 1.0, 1.0, 1.0)
, which is displayed as[255,255,255]
on base 255, white. - DataGroup (
LinkList
): a list of referenced objects. By default, it is empty[]
.
Hidden properties Data
- DataExpression Engine (
ExpressionEngine
): a list of expressions. By default, it is empty[]
. - DataLabel2 (
String
): a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string""
. - DataMaterial (
Map
): map with material properties. By default, it is empty{}
. - DataMeta (
Map
): map with additional meta information. By default, it is empty{}
. - DataOrigin (
Link
): Origin object linked to the group. - DataUid (
UUID
): UUID of the object. - DataVisibility (
Bool
): whether to display the object or not. - Data_ Group Touched (
Bool
): whether the group is touched or not.
View
The App Part only has five of the properties of the basic App GeoFeature, and it does not have hidden properties.
Base
- ViewDisplay Mode (
Enumeration
):Group
. - ViewOn Top When Selected (
Enumeration
):Disabled
(default),Enabled
,Object
,Element
. - ViewSelection Style (
Enumeration
):Shape
(default),BoundBox
. If the option isShape
, the entire shape (vertices, edges, and faces) will be highlighted in the 3D view; if it isBoundBox
only the bounding box will be highlighted. - ViewShow In Tree (
Bool
): if it istrue
, the object appears in the tree view. Otherwise, it is set as invisible. - ViewVisibility (
Bool
): if it istrue
, the object appears in the 3D view; otherwise it is invisible. By default this property can be toggled on and off by pressing the Space bar in the keyboard.
Scripting
See also: FreeCAD Scripting Basics, and scripted objects.
An App Part is created with the addObject()
method of the document. Once a Part exists, other objects can be added to it with the addObject()
or addObjects()
methods of this Part.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Part", "Part")
bod1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
bod2 = App.ActiveDocument.addObject("Part::Box", "Box")
obj.addObjects([bod1, bod2])
App.ActiveDocument.recompute()
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability, Toggle measurement, Clear measurement
- Toolbars: File, Edit, Clipboard, Workbench, Macro, View, Structure, Help
- Panels: Tree view, Property view, Selection view, Tasks, Python console, DAG view, Model, Report view
- Link navigation: Go to linked object, Go to the deepest linked object, Select all links
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection, Selection Back, Selection Forward
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Project utility, Measure distance, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Structure tools: Part, Group
- Helper tools: Create body, Create sketch, Edit sketch, Map sketch to face
- Modeling tools
- Datum tools: Create a datum point, Create a datum line, Create a datum plane, Create a local coordinate system, Create a shape binder, Create a sub-object(s) shape binder, Create a clone
- Additive tools: Pad, Revolution, Additive loft, Additive pipe, Additive helix, Additive box, Additive cylinder, Additive sphere, Additive cone, Additive ellipsoid, Additive torus, Additive prism, Additive wedge
- Subtractive tools: Pocket, Hole, Groove, Subtractive loft, Subtractive pipe, Subtractive helix, Subtractive box, Subtractive cylinder, Subtractive sphere, Subtractive cone, Subtractive ellipsoid, Subtractive torus, Subtractive prism, Subtractive wedge
- Transformation tools: Mirrored, Linear Pattern, Polar Pattern, Create MultiTransform, Scaled
- Dress-up tools: Fillet, Chamfer, Draft, Thickness
- Boolean: Boolean operation
- Extras: Migrate, Sprocket, Involute gear, Shaft design wizard
- Context menu: Set tip, Move object to other body, Move object after other object, Appearance, Color per face
- 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, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub