Part JoinConnect/ro: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[Part_CompJoinFeatures|CompJoinFeatures]]
|[[Part CompJoinFeatures|Join features]]
|[[Part_JoinEmbed|Embed]]|[[Part_Module|Part]]
|[[Part_JoinEmbed|JoinEmbed]]
|[[Part_Workbench|Part]]
|IconL=Part_JoinConnect.svg
|IconL=Part_JoinConnect.svg
|IconC=Workbench_Part.svg
|IconR=Part_JoinEmbed.svg
|IconR=Part_JoinEmbed.svg
|IconC=Workbench_Part.svg
}}
}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{GuiCommand
{{GuiCommand|Name=Part JoinConnect|MenuLocation=Part → Join → Connect objects|Workbenches=[[Part Module|Part]]|SeeAlso=[[Part_JoinConnect|Connect]], [[Part_JoinEmbed|Embed]], [[Part_JoinCutout|Cutout]], [[Part Booleans|Part Booleans]], [[Part Thickness|Part Thickness]]}}
|Name=Part JoinConnect
|MenuLocation=Part → Join → Connect objects
|Workbenches=[[Part_Workbench|Part]]
|Version=0.16
|SeeAlso=[[Part_JoinEmbed|Part JoinEmbed]], [[Part_JoinCutout|Part JoinCutout]], [[Part_Boolean|Part Boolean]], [[Part_Thickness|Part Thickness]]
}}
</div>
</div>


Line 34: Line 42:


==Properties==
==Properties==

{{TitleProperty|Connect}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 53: Line 63:
</div>
</div>


==Algorithm==

<div class="mw-translate-fuzzy">
==Algoritm==
==Algoritm==
Algoritmii din spatele instrumentelor de conectare sunt relativ de simple, iar înțelegerea acestora este importantă pentru utilizarea corectă a instrumentelor. Algoritmul Connect, în special, este un pic mai complex decât alții, însă în general este suficient să ne gândim la acesta ca la o variantă simetrică [[Part_JoinEmbed#Algorithm|Embed algorithm]]
Algoritmii din spatele instrumentelor de conectare sunt relativ de simple, iar înțelegerea acestora este importantă pentru utilizarea corectă a instrumentelor. Algoritmul Connect, în special, este un pic mai complex decât alții, însă în general este suficient să ne gândim la acesta ca la o variantă simetrică [[Part_JoinEmbed#Algorithm|Embed algorithm]]
</div>


<div class="mw-translate-fuzzy">
1. Each object is split into pieces by intersections with other objects. (see [[Part BooleanFragments]])
1. Each object is split into pieces by intersections with other objects. (see [[Part BooleanFragments]])
</div>


2. From the pieces of an object, only the largest one is kept; all the rest are thrown away.
2. From the pieces of an object, only the largest one is kept; all the rest are thrown away.
Line 66: Line 82:
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
===Note===
===Note===
* Dacă la etapa 1 fiecare obiect rămâne într-o singură bucată, rezultatul Connect va fi echivalent cu [[Union Union|union]] de obiecte.
* Dacă la etapa 1 fiecare obiect rămâne într-o singură bucată, rezultatul Connect va fi echivalent cu [[Part_Fuse/ro|union]] de obiecte.
* Now, all compounds supplied are exploded prior to connecting. This means that self-intersecting compounds, which are invalid for all other Boolean operations, are valid for Connect. (This may be changed in the future.)
* Now, all compounds supplied are exploded prior to connecting. This means that self-intersecting compounds, which are invalid for all other Boolean operations, are valid for Connect. (This may be changed in the future.)
* The "largest" piece is the one that has largest mass. That is, for solids, volumes are compared; for shells and faces, areas are compared, and so on.
* The "largest" piece is the one that has largest mass. That is, for solids, volumes are compared; for shells and faces, areas are compared, and so on.
Line 74: Line 90:
==Script==
==Script==


<div class="mw-translate-fuzzy">
Instrumentul Join poate fi folosit în [[macros]] și din consola python utilizând următoarea funcție:
Instrumentul Join poate fi folosit în [[macros]] și din consola python utilizând următoarea funcție:
</div>

'''BOPTools.JoinFeatures.makeConnect(name)'''
'''BOPTools.JoinFeatures.makeConnect(name)'''

* Creates an empty Connect feature. The 'Objects' property must be assigned explicitly, afterwards.
* Creates an empty Connect feature. The 'Objects' property must be assigned explicitly, afterwards.
* Returns the newly created object.
* Returns the newly created object.


Connect can also be applied to plain shapes, without the need to have a document object, via:
Connect can also be applied to plain shapes, without the need to have a document object, via:

'''Part.BOPTools.JoinAPI.connect(list_of_shapes, tolerance = 0.0)'''
'''Part.BOPTools.JoinAPI.connect(list_of_shapes, tolerance = 0.0)'''

This can be useful for making custom Python scripted features.
This can be useful for making custom Python scripted features.


Exempluː
Exempluː

{{code|code=
{{code|code=
import Part
import Part
Line 89: Line 112:
j.Objects = FreeCADGui.Selection.getSelection()
j.Objects = FreeCADGui.Selection.getSelection()
}}
}}

<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
The tool itself is implemented in Python, see /Mod/Part/BOPTools/JoinFeatures.py under where FreeCAD is installed.
The tool itself is implemented in Python, see /Mod/Part/BOPTools/JoinFeatures.py under where FreeCAD is installed.
</div>
</div>


<div class="mw-translate-fuzzy">
==Versiune==
Instrumentul a fost introduc încpând cu FreeCAD v0.16.5069
</div>

<div class="mw-translate-fuzzy">
Instrumentul este re-implementat via generalFuse in FreeCAD v0.17.8053
</div>


{{Docnav
{{Docnav
|[[Part_CompJoinFeatures|CompJoinFeatures]]
|[[Part CompJoinFeatures|Join features]]
|[[Part_JoinEmbed|Embed]]
|[[Part_JoinEmbed|JoinEmbed]]
|[[Part_Module|Part]]
|[[Part_Workbench|Part]]
|IconL=Part_JoinConnect.svg
|IconL=Part_JoinConnect.svg
|IconR=Part_JoinEmbed.svg
|IconC=Workbench_Part.svg
|IconC=Workbench_Part.svg
|IconR=Part_JoinEmbed.svg
}}
}}


{{Part Tools navi{{#translation:}}}}
{{Part Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 20:26, 10 September 2022

Part JoinConnect

Menu location
Part → Join → Connect objects
Workbenches
Part
Default shortcut
None
Introduced in version
0.16
See also
Part JoinEmbed, Part JoinCutout, Part Boolean, Part Thickness

Description

Descriere

Instrument de conectare pentru îmbinarea inerioarelor a două obiecte goale-tip perete (de ex. Conducte). Poate asocia, de asemenea, cu cochiliile și filamente/polilinii.

Usage

Cum se folosește

  1. Select objects to be connected.
    The order of selection is not important, since the action of the tool is symmetric. It is enough to select one sub-shape of each object (e.g., faces). You can also select a compound containing all the shapes to be connected, e.g. Draft Array.
  2. Invoke the Part JoinConnect command.

Se creează un obiect parametric Connect. Obiectele originale sunt ascunse, iar rezultatul intersecției este afișat în vizualizarea 3D.

Properties

Connect

Proprietăți

Connect

  • DateObjects: List of objects to be connected. Generally, at least two objects are needed, but a single compound containing the shapes to connect will do as well. (as of FreeCAD v0.17.8053, this property is not displayed in property editor, and can only be accessed via Python).
  • DateRefine: Sets whether to apply Refine operation or not, to the final shape. The default value is determined by a 'Automatically refine shape after boolean operation' checkbox in PartDesign preferences.
  • DateTolerance: "fuzziness" value. This is an extra tolerance to apply when searching for intersections, in addition to tolerances stored in the input shapes.

Example

Exemplu

  1. Create a pipe by applying thickness to a cylinder:
  2. Create another, smaller diameter pipe, and place it so that it pierces the wall of the first pipe:
  3. Select the first pipe and the second pipe, and click the 'Connect objects' option from the Join tools dropdown toolbar button.
  4. Use some cross-section tool (Clipping plane, Arch Section Plane, Arch Cut Plane) to reveal internals. On the picture below, Arch Section Plane is used.

Algorithm

Algoritm

Algoritmii din spatele instrumentelor de conectare sunt relativ de simple, iar înțelegerea acestora este importantă pentru utilizarea corectă a instrumentelor. Algoritmul Connect, în special, este un pic mai complex decât alții, însă în general este suficient să ne gândim la acesta ca la o variantă simetrică Embed algorithm

1. Each object is split into pieces by intersections with other objects. (see Part BooleanFragments)

2. From the pieces of an object, only the largest one is kept; all the rest are thrown away.

3. Intersection pieces that touch at least two objects are added to result. Then, the pieces are joined together to form the result of Connect.

Notes

Note

  • Dacă la etapa 1 fiecare obiect rămâne într-o singură bucată, rezultatul Connect va fi echivalent cu union de obiecte.
  • Now, all compounds supplied are exploded prior to connecting. This means that self-intersecting compounds, which are invalid for all other Boolean operations, are valid for Connect. (This may be changed in the future.)
  • The "largest" piece is the one that has largest mass. That is, for solids, volumes are compared; for shells and faces, areas are compared, and so on.
  • Since FreeCAD v0.17.8053, and if OCC version is 6.9.0 and above, Connect is almost as fast as all other Boolean operations. For older versions, Connect is approximately 5 times slower than a regular Boolean operation, and works only on solids.

Script

Instrumentul Join poate fi folosit în macros și din consola python utilizând următoarea funcție:

BOPTools.JoinFeatures.makeConnect(name)
  • Creates an empty Connect feature. The 'Objects' property must be assigned explicitly, afterwards.
  • Returns the newly created object.

Connect can also be applied to plain shapes, without the need to have a document object, via:

Part.BOPTools.JoinAPI.connect(list_of_shapes, tolerance = 0.0)

This can be useful for making custom Python scripted features.

Exempluː

import Part
j = Part.BOPTools.JoinFeatures.makeConnect(name= 'Connect')
j.Objects = FreeCADGui.Selection.getSelection()

The tool itself is implemented in Python, see /Mod/Part/BOPTools/JoinFeatures.py under where FreeCAD is installed.