PartDesign Feature: Difference between revisions

From FreeCAD Documentation
(→‎Introduction: The word "feature" refers to the operation itself, and also to the resulting solid after that operation.)
No edit summary
 
(10 intermediate revisions by 5 users not shown)
Line 2: Line 2:
<translate>
<translate>


== Introduction ==
== Introduction == <!--T:1-->


<!--T:2-->
A [[PartDesign Feature|PartDesign Feature]] refers to a "step" in the modelling process that happens inside of a [[PartDesign Body|PartDesign Body]]. For example, each time you add a solid box with [[PartDesign AdditiveBox|PartDesign AdditiveBox]], you add a feature; when you add a chamfer to an edge with [[PartDesign Chamfer|PartDesign Chamfer]], you add another feature; when you cut a hole using a [[Sketch|sketch]] and [[PartDesign Pocket|PartDesign Pocket]], you add another feature.
A [[PartDesign Feature|PartDesign Feature]] refers to a "step" in the modelling process that happens inside of a [[PartDesign Body|PartDesign Body]]. For example, each time you add a solid box with [[PartDesign AdditiveBox|PartDesign AdditiveBox]], you add a feature; when you add a chamfer to an edge with [[PartDesign Chamfer|PartDesign Chamfer]], you add another feature; when you cut a hole using a [[Sketch|sketch]] and [[PartDesign Pocket|PartDesign Pocket]], you add another feature.


</translate>
[[File:PartDesign_Feature_example.png|600px]]
<translate>
<!--T:16-->
{{Caption|Feature editing in a [[PartDesign_Body|PartDesign Body]] with three sequential features.}}

<!--T:3-->
There are many types of features which can add or remove volume from an initial solid. The word "feature" refers to the operation itself, and also to the resulting solid after that operation.
There are many types of features which can add or remove volume from an initial solid. The word "feature" refers to the operation itself, and also to the resulting solid after that operation.


<!--T:4-->
To learn more about creating solid objects with the [[PartDesign Workbench|PartDesign Workbench]] see [[feature editing|feature editing]].
To learn more about creating solid objects with the [[PartDesign Workbench|PartDesign Workbench]] see [[feature editing|feature editing]].


== How to use ==
== Usage == <!--T:5-->


<!--T:6-->
Almost all tools in the [[PartDesign Workbench|PartDesign Workbench]] are meant to add features to a [[PartDesign Body|PartDesign Body]]. These tools can be accessed from the menu and toolbar buttons while an object or sub-element (vertex, edge, face) is selected.
Almost all tools in the [[PartDesign Workbench|PartDesign Workbench]] are meant to add features to a [[PartDesign Body|PartDesign Body]]. These tools can be accessed from the menu and toolbar buttons while an object or sub-element (vertex, edge, face) is selected.


<!--T:7-->
The features can be placed in different categories:
The features can be placed in different categories:
* Feature base: refers to the Base Feature object that can be created in a [[PartDesign Body|PartDesign Body]].
* Feature base
* Additive and subtractive
* Additive and subtractive
** Primitive shapes: [[PartDesign_AdditiveBox|Box]], [[PartDesign_AdditiveCone|Cone]], [[PartDesign_AdditiveCylinder|Cylinder]], [[PartDesign_AdditiveEllipsoid|Ellipsoid]], [[PartDesign_AdditivePrism|Prism]], [[PartDesign_AdditiveSphere|Sphere]], [[PartDesign_AdditiveTorus|Torus]], and [[PartDesign_AdditiveWedge|Wedge]].
** Primitive shapes: box, cone, cylinder, ellipsoid, prism, sphere, torus, and wedge.
** Primitive shapes subtractive: [[PartDesign_SubtractiveBox|Subtractive Box]], [[PartDesign_SubtractiveCone|Subtractive Cone]], [[PartDesign_SubtractiveCylinder|Subtractive Cylinder]], [[PartDesign_SubtractiveEllipsoid|Subtractive Ellipsoid]], [[PartDesign_SubtractivePrism|Subtractive Prism]], [[PartDesign_SubtractiveSphere|Subtractive Sphere]], [[PartDesign_SubtractiveTorus|Subtractive Torus]], and [[PartDesign_SubtractiveWedge|Subtractive Wedge]].
** Profile based: groove, hole, loft, pad, pipe, pocket, and revolution.
** Profile based: [[PartDesign_Pad|Pad]], [[PartDesign_Revolution|Revolution]], [[PartDesign_AdditiveLoft|Loft]], [[PartDesign_AdditivePipe|Pipe]].
** Profile based subtractive: [[PartDesign_Pocket|Pocket]], [[PartDesign_Hole|Hole]], [[PartDesign_Groove|Groove]], [[PartDesign_SubtractiveLoft|Subtractive Loft]], [[PartDesign_SubtractivePipe|Subtractive Pipe]].
* [[PartDesign_Boolean|Boolean]], including fuse, cut, and common.
* Dress up
* Dress up
** Chamfer
** [[PartDesign_Chamfer|Chamfer]]
** Draft
** [[PartDesign_Draft|Draft]]
** Fillet
** [[PartDesign_Fillet|Fillet]]
** Thickness
** [[PartDesign_Thickness|Thickness]]
* Transform
* Transform
** Linear pattern
** [[PartDesign_LinearPattern|Linear pattern]]
** Mirrored
** [[PartDesign_Mirrored|Mirrored]]
** Multi-transformed
** [[PartDesign_MultiTransform|Multi-transformed]]
** Polar pattern
** [[PartDesign_PolarPattern|Polar pattern]]
** Scaled
** [[PartDesign_Scaled|Scaled]]


== Inheritance ==
== Inheritance == <!--T:8-->


<!--T:9-->
[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


<!--T:10-->
{{Caption|Simplified diagram of the relationships between the core objects in the program. The {{incode|PartDesign::Feature}} objects are used to build parametric 3D solids, and thus are derived from the basic {{incode|Part::Feature}} object.}}
{{Caption|Simplified diagram of the relationships between the core objects in the program. The {{incode|PartDesign::Feature}} objects are used to build parametric 3D solids, and thus are derived from the basic {{incode|Part::Feature}} object.}}


== Scripting ==
== Scripting == <!--T:11-->


<!--T:12-->
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].


<!--T:13-->
See [[Part_Feature|Part Feature]] for the general information on adding objects from the [[Python console|Python console]].
See [[Part_Feature|Part Feature]] for the general information on adding objects from the [[Python console|Python console]].


<!--T:14-->
See [[PartDesign Body|PartDesign Body]] for the general information on adding a Body. Once a Body exists, features can be attached to it using the Body's {{incode|addObject()}} method.
See [[PartDesign Body|PartDesign Body]] for the general information on adding a Body. Once a Body exists, features can be attached to it using the Body's {{incode|addObject()}} method.


Line 69: Line 88:
<translate>
<translate>


{{PartDesign Tools navi}}
{{Userdocnavi}}
</translate>
</translate>
{{PartDesign Tools navi{{#translation:}}}}
{{Document objects navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 11:37, 13 November 2021

Introduction

A PartDesign Feature refers to a "step" in the modelling process that happens inside of a PartDesign Body. For example, each time you add a solid box with PartDesign AdditiveBox, you add a feature; when you add a chamfer to an edge with PartDesign Chamfer, you add another feature; when you cut a hole using a sketch and PartDesign Pocket, you add another feature.

Feature editing in a PartDesign Body with three sequential features.

There are many types of features which can add or remove volume from an initial solid. The word "feature" refers to the operation itself, and also to the resulting solid after that operation.

To learn more about creating solid objects with the PartDesign Workbench see feature editing.

Usage

Almost all tools in the PartDesign Workbench are meant to add features to a PartDesign Body. These tools can be accessed from the menu and toolbar buttons while an object or sub-element (vertex, edge, face) is selected.

The features can be placed in different categories:

Inheritance

Simplified diagram of the relationships between the core objects in the program. The PartDesign::Feature objects are used to build parametric 3D solids, and thus are derived from the basic Part::Feature object.

Scripting

See also: FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information on adding objects from the Python console.

See PartDesign Body for the general information on adding a Body. Once a Body exists, features can be attached to it using the Body's addObject() method.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject('PartDesign::Body', 'Body')
obj.Label = "Custom label"

feature = App.ActiveDocument.addObject('PartDesign::AdditiveBox', 'Box')
feature.Width = 200
feature.Length = 300
feature.Height = 500
obj.addObject(feature)
App.ActiveDocument.recompute()

feature2 = App.ActiveDocument.addObject('PartDesign::SubtractiveBox', 'Box')
feature2.Width = 50
feature2.Length = 200
feature2.Height = 400
obj.addObject(feature2)
App.ActiveDocument.recompute()