Part EditAttachment: Difference between revisions

From FreeCAD Documentation
No edit summary
(SeeAlso)
 
(40 intermediate revisions by the same user not shown)
Line 18: Line 18:
|Workbenches=[[Part_Workbench|Part]], [[PartDesign_Workbench|PartDesign]]
|Workbenches=[[Part_Workbench|Part]], [[PartDesign_Workbench|PartDesign]]
|Version=0.17
|Version=0.17
|SeeAlso=[[Placement|Placement]], [[Basic_Attachment_Tutorial|Basic Attachment Tutorial]], [[Part_Part2DObject|Part Part2DObject]]
|SeeAlso=[[Placement|Placement]], [[Basic_Attachment_Tutorial|Basic Attachment Tutorial]]
}}
}}


Line 25: Line 25:
<!--T:3-->
<!--T:3-->
'''Part EditAttachment''' is a utility to attach an object to one or more other objects. The attached object is linked to the referenced object(s), which means that if the [[Std Placement|placement]] or geometry of the referenced object(s) is changed, the placement of the attached object will update accordingly.
'''Part EditAttachment''' is a utility to attach an object to one or more other objects. The attached object is linked to the referenced object(s), which means that if the [[Std Placement|placement]] or geometry of the referenced object(s) is changed, the placement of the attached object will update accordingly.

== Attach engines == <!--T:109-->

<!--T:110-->
The attachment of an object is controlled by one of four attach engines. The default engine that is used for an object depends on its type.

<!--T:111-->
The four engines are:
* [[#Attacher::AttachEnginePoint|Attacher::AttachEnginePoint]]
* [[#Attacher::AttachEngineLine|Attacher::AttachEngineLine]]
* [[#Attacher::AttachEnginePlane|Attacher::AttachEnginePlane]]
* [[#Attacher::AttachEngine3D|Attacher::AttachEngine3D]]

<!--T:112-->
The rest of this page focuses on the AttachEngine3D. The modes of the other engines are only listed. Note that the modes of AttachEnginePlane are in fact identical to those of AttachEngine3D.


== Usage == <!--T:5-->
== Usage == <!--T:5-->
Line 31: Line 46:
# Select the object to be attached.
# Select the object to be attached.
# Select the {{MenuCommand|Part → [[Image:Part_EditAttachment.svg|16px]] Attachment...}} option from the menu.
# Select the {{MenuCommand|Part → [[Image:Part_EditAttachment.svg|16px]] Attachment...}} option from the menu.
#: '''Note''': when working in the [[PartDesign_Workbench|PartDesign Workbench]] and creating datum geometry or primitives, steps 1 and 2 are skipped.
# The {{MenuCommand|Attachment}} task panel opens.
# The {{MenuCommand|Attachment}} task panel opens.
# At the top of the task panel ''Not attached'' can be read. The first button labeled {{Button|Selecting...}} is highlighted to indicate a selection in the [[3D_view|3D view]] is expected.
# At the top of the task panel ''Not attached'' can be read. The first button labeled {{Button|Selecting...}} is highlighted to indicate a selection in the [[3D_view|3D view]] is expected.
Line 37: Line 51:
# In the input field to the right of the button, the referenced object and subelement are shown. For example, if a face of a [[Part_Box|Part Box]] is selected, the field may show {{Value|Box:Face6}}.
# In the input field to the right of the button, the referenced object and subelement are shown. For example, if a face of a [[Part_Box|Part Box]] is selected, the field may show {{Value|Box:Face6}}.
# The available modes are filtered based on the selected references and their order. For example, for modes [[#Align_O-Z-X|Align O-Z-X]] to [[#Align_O-Y-X|Align O-Y-X]] the first reference must be a vertex. If the first reference is a subelement of a different type, they are removed from the list.
# The available modes are filtered based on the selected references and their order. For example, for modes [[#Align_O-Z-X|Align O-Z-X]] to [[#Align_O-Y-X|Align O-Y-X]] the first reference must be a vertex. If the first reference is a subelement of a different type, they are removed from the list.
# Select an [[#Attachment mode|Attachment mode]] in the list.
# Select an [[#Attachment mode|Attachment mode]] in the list. For information on the attachment modes, hover the mouse over them for a tooltip to appear.
# ''Attached with mode <description>'' is now displayed at the top of the task panel.
#: For information on the attachment modes, hover the mouse over one of them for a tooltip to appear.
# ''Attached with mode <mode description>'' is now displayed at the top of the task panel.
# Depending on the selected mode, add up to three more references by pressing the {{Button|Reference2}}, {{Button|Reference3}}, and {{Button|Reference4}} buttons and repeating step 5. It is also possible to specify all references before selecting an attachment mode.
# Depending on the selected mode, add up to three more references by pressing the {{Button|Reference2}}, {{Button|Reference3}}, and {{Button|Reference4}} buttons and repeating step 5. It is also possible to specify all references before selecting an attachment mode.
# When selecting an additional reference the label of the previous button will change and display the type of subelement of that reference.
# When selecting an additional reference the label of the previous button will change and display the type of subelement of that reference.
Line 46: Line 59:
# If applicable, optionally change the {{PropertyData|Map Path Parameter}} property in the [[Property_editor|Property editor]].
# If applicable, optionally change the {{PropertyData|Map Path Parameter}} property in the [[Property_editor|Property editor]].


== Options == <!--T:7-->
== Change attach engine == <!--T:113-->

<!--T:114-->
It is possible to manually change the attach engine of an object:
# Select the object.
# Right-click in the [[Property_editor|Property editor]] and select {{MenuCommand|Show all}} from the context menu.
# Edit the {{PropertyData|Attacher Type}} property of the object.

== Attachment modes == <!--T:115-->

</translate>
<div class="toccolours mw-collapsible mw-collapsed">
<translate>

=== Attacher::AttachEnginePoint === <!--T:116-->

</translate>
<div class="mw-collapsible-content">
<translate>

<!--T:117-->
* Deactivated
* Object's origin
* Focus1
* Focus2
* On edge
* Center of curvature
* Center of mass
* Vertex
* Proximity point 1
* Proximity point 2

</translate>
</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
<translate>

=== Attacher::AttachEngineLine === <!--T:118-->

</translate>
<div class="mw-collapsible-content">
<translate>

<!--T:119-->
* Deactivated
* Object's X
* Object's Y
* Object's Z
* Axis of curvature
* Directrix1
* Directrix2
* Asymptote1
* Asymptote2
* Tangent
* Normal to edge
* Binormal
* Through two points
* Proximity line
* 1st principal axis
* 2nd principal axis
* 3rd principal axis
* Normal to surface

</translate>
</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
<translate>

=== Attacher::AttachEnginePlane === <!--T:120-->

</translate>
<div class="mw-collapsible-content">
<translate>

<!--T:121-->
* Deactivated
* Translate origin
* Object's XY
* Object's XZ
* Object's YZ
* Plane face
* Tangent to surface
* Normal to edge
* Frenet NB
* Frenet TN
* Frenet TB
* Concentric
* Revolution Section
* Plane by 3 points
* Normal to 3 points
* Folding
* Inertia 2-3
* Align O-N-X
* Align O-N-Y
* Align O-X-Y
* Align O-X-N
* Align O-Y-N
* Align O-Y-X

</translate>
</div>
</div>
<translate>

=== Attacher::AttachEngine3D === <!--T:122-->


<!--T:8-->
<!--T:8-->
[[File:Part_Offset_Tasks.png|250px|right]]
[[File:Part_Offset_Tasks.png|250px|right]]

=== Attachment mode === <!--T:9-->


==== Deactivated ==== <!--T:10-->
==== Deactivated ==== <!--T:10-->


<!--T:95-->
Attachment is disabled. The object can be moved by editing its [[Placement|Placement]] property.
Attachment is disabled. The object can be moved by editing its [[Placement|Placement]] property.


Line 60: Line 178:


<!--T:34-->
<!--T:34-->
The origin is aligned to match a vertex. The orientation is still controlled by the Placement property of the attached object.
The origin is matched with a vertex. The orientation is still controlled by the Placement property of the attached object.


<!--T:35-->
<!--T:35-->
Line 108: Line 226:


<!--T:49-->
<!--T:49-->
The XY plane is made tangent to a face at a vertex
The XY plane is made tangent to a face at a vertex.


<!--T:50-->
<!--T:50-->
Line 120: Line 238:
The Z axis is aligned to be tangent to an edge. An optional vertex defines where.
The Z axis is aligned to be tangent to an edge. An optional vertex defines where.


<!--T:96-->
If no vertex is linked the {{PropertyData|Map Path Parameter}} property determines the point.
If no vertex is linked the {{PropertyData|Map Path Parameter}} property determines the point.


Line 135: Line 254:


<!--T:52-->
<!--T:52-->
The X and Y axes are aligned to the normal and binormal (NB) axes of the [https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas Frenet-Serret coordinate system] at a point on a curved edge. An optional vertex defines where.
The X and Y axes are aligned to the normal (N) and binormal (B) axes of the [https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas Frenet-Serret coordinate system] at a point on a curved edge. An optional vertex defines where.


<!--T:97-->
If no vertex is linked the {{PropertyData|Map Path Parameter}} property determines the point. The object's origin is translated to the vertex if the vertex is first, or kept at the curve if the edge is first.
If no vertex is linked the {{PropertyData|Map Path Parameter}} property determines the point. The object's origin is translated to the vertex if the vertex is first, or kept at the curve if the curve is first.


<!--T:98-->
''Frenet NBT'' is similar to ''Z tangent to edge'', except that the X axis is well-defined.
''Frenet NBT'' is similar to ''Z tangent to edge'', except that the X axis is well-defined.


Line 154: Line 275:


<!--T:55-->
<!--T:55-->
The X and Y axes are aligned to the tangent and normal (TN) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.
The X and Y axes are aligned to the tangent (T) and normal (N) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.


<!--T:99-->
See [[#Frenet_NBT|Frenet NBT]].
See [[#Frenet_NBT|Frenet NBT]].


Line 165: Line 287:


<!--T:58-->
<!--T:58-->
The X and Y axes are aligned to the tangent and binormal (TB) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.
The X and Y axes are aligned to the tangent (T) and binormal (B) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.


<!--T:100-->
See [[#Frenet_NBT|Frenet NBT]].
See [[#Frenet_NBT|Frenet NBT]].


Line 174: Line 297:
The XY plane is aligned to the [https://en.wikipedia.org/wiki/Osculating_circle osculating circle] at a point on an edge. An optional vertex defines where.
The XY plane is aligned to the [https://en.wikipedia.org/wiki/Osculating_circle osculating circle] at a point on an edge. An optional vertex defines where.


<!--T:101-->
If no vertex is linked the {{PropertyData|Map Path Parameter}} property determines the point.
If no vertex is linked the {{PropertyData|Map Path Parameter}} property determines the point.


Line 190: Line 314:
The Y axis is aligned to match the axis of the osculating circle at a point on an edge. An optional vertex defines where.
The Y axis is aligned to match the axis of the osculating circle at a point on an edge. An optional vertex defines where.


<!--T:102-->
See [[#Concentric|Concentric]].
See [[#Concentric|Concentric]].


Line 209: Line 334:
The XZ plane is aligned to pass through three vertices. The X axis will pass through the first two vertices.
The XZ plane is aligned to pass through three vertices. The X axis will pass through the first two vertices.


<!--T:103-->
See [[#XY_plane_by_3_points|XY plane by 3 points]].
See [[#XY_plane_by_3_points|XY plane by 3 points]].


Line 218: Line 344:


<!--T:73-->
<!--T:73-->
This is a specialty mode for folding polyhedra. Select four edges in this order: foldable edge, fold line, other fold line, other foldable edge. The XY plane is aligned to folding the first edge.
This is a special mode for folding polyhedra. Select four lines that share a common point in this order: contour line (1), fold line (2), other fold line (3), other contour line (4). To determine the coordinate system the selected contour lines are made coincident by rotating line 1 around line 2, and line 4 around line 3. The origin is matched with the common point, the X axis is matched with line 2, the Y axis is aligned towards the direction of the coincident contour lines.


<!--T:74-->
<!--T:74-->
Line 227: Line 353:


<!--T:76-->
<!--T:76-->
The X, Y and Z axes are aligned to an inertial coordinate system, constructed on principal axes of inertia and center of mass.
The X, Y and Z axes are matched with those of an inertial coordinate system, constructed on principal axes of inertia and center of mass.


<!--T:77-->
<!--T:77-->
Line 235: Line 361:
: Any, Any, Any
: Any, Any, Any
: Any, Any, Any, Any
: Any, Any, Any, Any

<!--T:94-->
See [[O-X-Y_type_attachment_modes|Align O-X-Y type attachment modes]] for more details on the following modes:


==== Align O-Z-X ==== <!--T:15-->
==== Align O-Z-X ==== <!--T:15-->
Line 243: Line 366:
<!--T:16-->
<!--T:16-->
The origin is matched with the first Vertex. The Z and X axes are aligned towards a vertex or along a line.
The origin is matched with the first Vertex. The Z and X axes are aligned towards a vertex or along a line.

<!--T:94-->
See [[O-X-Y_Type_Attachment_Modes|Align O-X-Y Type Attachment Modes]] for more details.


<!--T:17-->
<!--T:17-->
Line 258: Line 384:
The origin is matched with the first Vertex. The Z and Y axes are aligned towards a vertex or along a line.
The origin is matched with the first Vertex. The Z and Y axes are aligned towards a vertex or along a line.


<!--T:104-->
See [[#Align_O-Z-X|Align O-Z-X]].
See [[#Align_O-Z-X|Align O-Z-X]].


Line 265: Line 392:
The origin is matched with the first Vertex. The X and Y axes are aligned towards a vertex or along a line.
The origin is matched with the first Vertex. The X and Y axes are aligned towards a vertex or along a line.


<!--T:105-->
See [[#Align_O-Z-X|Align O-Z-X]].
See [[#Align_O-Z-X|Align O-Z-X]].


Line 272: Line 400:
The origin is matched with the first Vertex. The X and Z axes are aligned towards a vertex or along a line.
The origin is matched with the first Vertex. The X and Z axes are aligned towards a vertex or along a line.


<!--T:106-->
See [[#Align_O-Z-X|Align O-Z-X]].
See [[#Align_O-Z-X|Align O-Z-X]].


Line 279: Line 408:
The origin is matched with the first Vertex. The Y and Z axes are aligned towards a vertex or along a line.
The origin is matched with the first Vertex. The Y and Z axes are aligned towards a vertex or along a line.


<!--T:107-->
See [[#Align_O-Z-X|Align O-Z-X]].
See [[#Align_O-Z-X|Align O-Z-X]].


Line 286: Line 416:
The origin is matched with the first Vertex. The Y and X axes are aligned towards a vertex or along a line.
The origin is matched with the first Vertex. The Y and X axes are aligned towards a vertex or along a line.


<!--T:108-->
See [[#Align_O-Z-X|Align O-Z-X]].
See [[#Align_O-Z-X|Align O-Z-X]].


=== Attachment Offset === <!--T:78-->
== Attachment offset == <!--T:78-->


<!--T:79-->
<!--T:79-->
Line 317: Line 448:


<!--T:88-->
<!--T:88-->
* If selecting two lines results in an error: "Points are collinear. Can't make a plane", try selecting three points instead [https://forum.freecadweb.org/viewtopic.php?f=8&t=55088&p=473614#p473594].
* If selecting two lines results in an error: "Points are collinear. Can't make a plane", try selecting three vertices instead [https://forum.freecadweb.org/viewtopic.php?f=8&t=55088&p=473614#p473594].





Latest revision as of 07:35, 13 October 2023

Part EditAttachment

Menu location
Part → Attachment...
Workbenches
Part, PartDesign
Default shortcut
None
Introduced in version
0.17
See also
Placement, Basic Attachment Tutorial

Description

Part EditAttachment is a utility to attach an object to one or more other objects. The attached object is linked to the referenced object(s), which means that if the placement or geometry of the referenced object(s) is changed, the placement of the attached object will update accordingly.

Attach engines

The attachment of an object is controlled by one of four attach engines. The default engine that is used for an object depends on its type.

The four engines are:

The rest of this page focuses on the AttachEngine3D. The modes of the other engines are only listed. Note that the modes of AttachEnginePlane are in fact identical to those of AttachEngine3D.

Usage

  1. Select the object to be attached.
  2. Select the Part → Attachment... option from the menu.
  3. The Attachment task panel opens.
  4. At the top of the task panel Not attached can be read. The first button labeled Selecting... is highlighted to indicate a selection in the 3D view is expected.
  5. Select a vertex, edge or face/plane belonging to another object.
  6. In the input field to the right of the button, the referenced object and subelement are shown. For example, if a face of a Part Box is selected, the field may show Box:Face6.
  7. The available modes are filtered based on the selected references and their order. For example, for modes Align O-Z-X to Align O-Y-X the first reference must be a vertex. If the first reference is a subelement of a different type, they are removed from the list.
  8. Select an Attachment mode in the list. For information on the attachment modes, hover the mouse over them for a tooltip to appear.
  9. Attached with mode <description> is now displayed at the top of the task panel.
  10. Depending on the selected mode, add up to three more references by pressing the Reference2, Reference3, and Reference4 buttons and repeating step 5. It is also possible to specify all references before selecting an attachment mode.
  11. When selecting an additional reference the label of the previous button will change and display the type of subelement of that reference.
  12. Optionally set an Attachment Offset.
  13. Press OK.
  14. If applicable, optionally change the DataMap Path Parameter property in the Property editor.

Change attach engine

It is possible to manually change the attach engine of an object:

  1. Select the object.
  2. Right-click in the Property editor and select Show all from the context menu.
  3. Edit the DataAttacher Type property of the object.

Attachment modes

Attacher::AttachEnginePoint

  • Deactivated
  • Object's origin
  • Focus1
  • Focus2
  • On edge
  • Center of curvature
  • Center of mass
  • Vertex
  • Proximity point 1
  • Proximity point 2

Attacher::AttachEngineLine

  • Deactivated
  • Object's X
  • Object's Y
  • Object's Z
  • Axis of curvature
  • Directrix1
  • Directrix2
  • Asymptote1
  • Asymptote2
  • Tangent
  • Normal to edge
  • Binormal
  • Through two points
  • Proximity line
  • 1st principal axis
  • 2nd principal axis
  • 3rd principal axis
  • Normal to surface

Attacher::AttachEnginePlane

  • Deactivated
  • Translate origin
  • Object's XY
  • Object's XZ
  • Object's YZ
  • Plane face
  • Tangent to surface
  • Normal to edge
  • Frenet NB
  • Frenet TN
  • Frenet TB
  • Concentric
  • Revolution Section
  • Plane by 3 points
  • Normal to 3 points
  • Folding
  • Inertia 2-3
  • Align O-N-X
  • Align O-N-Y
  • Align O-X-Y
  • Align O-X-N
  • Align O-Y-N
  • Align O-Y-X

Attacher::AttachEngine3D

Deactivated

Attachment is disabled. The object can be moved by editing its Placement property.

Translate origin

The origin is matched with a vertex. The orientation is still controlled by the Placement property of the attached object.

Reference combinations
Vertex.

Object's X Y Z

The Placement is made equal to the Placement of a linked object.

Reference combinations
Any
Conic

Object's X Z Y

The X, Y and Z axes are matched with a linked object's local X, Z and -Y axes, respectively.

Reference combinations
Any
Conic

Object's Y Z X

The X, Y and Z axes are matched with a linked object's local Y, Z and X axes, respectively.

Reference combinations
Any
Conic

XY on plane

The XY plane is aligned to coincide with a planar face.

Reference combinations
Plane

XY tangent to surface

The XY plane is made tangent to a face at a vertex.

Reference combinations
Face, Vertex
Vertex, Face

Z tangent to edge

The Z axis is aligned to be tangent to an edge. An optional vertex defines where.

If no vertex is linked the DataMap Path Parameter property determines the point.

Reference combinations
Edge
Edge, Vertex
Vertex, Edge

Frenet NBT

The X and Y axes are aligned to the normal (N) and binormal (B) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.

If no vertex is linked the DataMap Path Parameter property determines the point. The object's origin is translated to the vertex if the vertex is first, or kept at the curve if the curve is first.

Frenet NBT is similar to Z tangent to edge, except that the X axis is well-defined.

Reference combinations
Curve
Curve, Vertex
Vertex, Curve

Frenet TNB

The X and Y axes are aligned to the tangent (T) and normal (N) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.

See Frenet NBT.

Frenet TBN

The X and Y axes are aligned to the tangent (T) and binormal (B) axes of the Frenet-Serret coordinate system at a point on a curved edge. An optional vertex defines where.

See Frenet NBT.

Concentric

The XY plane is aligned to the osculating circle at a point on an edge. An optional vertex defines where.

If no vertex is linked the DataMap Path Parameter property determines the point.

Reference combinations
Curve
Circle
Curve, Vertex
Circle, Vertex
Vertex, Curve
Vertex, Circle

Revolution Section

The Y axis is aligned to match the axis of the osculating circle at a point on an edge. An optional vertex defines where.

See Concentric.

XY plane by 3 points

The XY plane is aligned to pass through three vertices. The X axis will pass through the first two vertices.

Reference combinations
Vertex, Vertex, Vertex
Line, Vertex
Vertex, Line
Line, Line

XZ plane by 3 points

The XZ plane is aligned to pass through three vertices. The X axis will pass through the first two vertices.

See XY plane by 3 points.

Folding

This is a special mode for folding polyhedra. Select four lines that share a common point in this order: contour line (1), fold line (2), other fold line (3), other contour line (4). To determine the coordinate system the selected contour lines are made coincident by rotating line 1 around line 2, and line 4 around line 3. The origin is matched with the common point, the X axis is matched with line 2, the Y axis is aligned towards the direction of the coincident contour lines.

Reference combinations
Line, Line, Line, Line

Inertia CS

The X, Y and Z axes are matched with those of an inertial coordinate system, constructed on principal axes of inertia and center of mass.

Reference combinations
Any
Any, Any
Any, Any, Any
Any, Any, Any, Any

Align O-Z-X

The origin is matched with the first Vertex. The Z and X axes are aligned towards a vertex or along a line.

See Align O-X-Y Type Attachment Modes for more details.

Reference combinations
Vertex, Vertex, Vertex
Vertex, Vertex, Line
Vertex, Line, Vertex
Vertex, Line, Line
Vertex, Vertex
Vertex, Line

Align O-Z-Y

The origin is matched with the first Vertex. The Z and Y axes are aligned towards a vertex or along a line.

See Align O-Z-X.

Align O-X-Y

The origin is matched with the first Vertex. The X and Y axes are aligned towards a vertex or along a line.

See Align O-Z-X.

Align O-X-Z

The origin is matched with the first Vertex. The X and Z axes are aligned towards a vertex or along a line.

See Align O-Z-X.

Align O-Y-Z

The origin is matched with the first Vertex. The Y and Z axes are aligned towards a vertex or along a line.

See Align O-Z-X.

Align O-Y-X

The origin is matched with the first Vertex. The Y and X axes are aligned towards a vertex or along a line.

See Align O-Z-X.

Attachment offset

Attachment Offset becomes active when an attachment mode other than Deactivated has been selected. It is used to apply a linear or rotary offset within the attachment coordinate system (ACS), as defined by the attachment mode and the referenced object(s).

  • In x-direction: sets an offset distance along the X axis of the ACS.
  • In y-direction: sets an offset distance along the Y axis of the ACS.
  • In z-direction: sets an offset distance along the Z axis of the ACS.
  • Around x-axis: rotates the attached object around the X axis of the ACS.
  • Around y-axis: rotates the attached object around the Y axis of the ACS.
  • Around z-axis: rotates the attached object around the Z axis of the ACS.
  • Flip sides: if checked, the attachment is reversed. This is equivalent to rotating the object 180° around the Y axis of the ACS.

Limitations

  • If selecting two lines results in an error: "Points are collinear. Can't make a plane", try selecting three vertices instead [1].