Part JoinConnect/pl

Opis
Narzędzie Połącz łączy wnętrza obiektów posiadających dwie ścianki (np. rur). Może również łączyć powłoki i linie.



Użycie
Kolejność wyboru nie ma znaczenia, ponieważ działanie narzędzia jest symetryczne. Wystarczy wybrać jeden z kształtów podrzędnych każdego obiektu (np. ściany). Można również wybrać złożenie zawierające wszystkie kształty do połączenia, np. Szyk ortogonalny.
 * 1) Wybierz obiekty do połączenia.
 * 1) Polecenie Połącz obiekty można wywołać na kilka sposobów:
 * 2) * Naciśnij przycisk [[Image:Part_JoinConnect.svg|24px]] Połącz obiekty na pasku narzędzi.
 * 3) * Użyj polecenia w menu głównym.

Tworzony jest obiekt parametryczny Połączenie. Oryginalne obiekty są ukrywane, a wynik połączenia jest wyświetlany w oknie widoku 3D.

Właściwości

 * : 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).
 * : 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.
 * : "fuzziness" value. This is an extra tolerance to apply when searching for intersections, in addition to tolerances stored in the input shapes.

Przykład

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

Algorithm
The algorithms behind Join tools are quite simple, and understanding them is important to use the tools correctly. The algorithm of Connect, in particular, is quite a bit more complex than others, but it's generally enough to think of it as a symmetric variant of 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.

Uwagi

 * If at step 1 each object remains in one piece, the result of Connect will be equivalent to union of Objects.
 * 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.

Tworzenie skryptów
The Join tools can by used in macros and from the Python console by using the following function:

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.

Przykład:

Samo narzędzie jest zaimplementowane w środowisku Python, patrz (Link do Github) w miejscu, w którym zainstalowany jest FreeCAD.