Part Slice/de

Beschreibung
Werkzeug zum Teilen von Formen durch Überschneidung mit anderen Formen. Für eine Box und eine Ebene wird beispielsweise eine Verbindung aus zwei Körpern erstellt.



(Auf dem Bild oben wurden die Stücke anschließend manuell auseinandergeschoben, um das Schneiden zu zu verdeutlichen.)

Es gibt zwei Befehle, um eine Form zu schneiden: Slice to compound und  Slice apart. Beide erstellen eine parametrische Slice-Funktion, mit der die aufgeschnittenen Teile in eine Verbindung gebracht werden, aber "Slice apart" verteilt die resultierende Verbindung in separate Objekte. "Slice to compound" ist vollständig parametrisch und verursacht keine Probleme, wenn sich die Anzahl der Teile ändert. "Slice apart" aktualisiert die Anzahl der Objekte nicht, wenn sich die Anzahl der Teile ändert.

Die Ausgabeform nimmt den gleichen Raum wie das Original ein. Es ist jedoch dort geteilt, wo es sich mit der anderen Form schneidet. Die getrennten Teile werden in eine Verbindung (oder Compsolid) eingefügt, sodass das Objekt scheinbar in einem Stück verbleibt. Sie müssen die Verbindung verteilen (explodieren), um die einzelnen Teile zu erhalten. Wenn Sie auf die einzelnen Teile parametrisch zugreifen möchten, können Sie Part CompoundFilter für diesen Zweck verwenden. Für einen schnellen, nicht parametrischen Zugriff verwenden Sie Draft Downgrade.

Das Tool verfügt über drei Modi: "Standard", "Split" und "CompSolid".

"Standard" und "Split" unterscheiden sich durch die Wirkung des Werkzeugs auf Drähte ( Wires ), Hüllen (Shells) und Compsolids: Bei "Split", werden diese getrennt; Wenn "Standard", werden sie zusammengehalten (zusätzliche Segmente entstehen).

Die Compounding-Struktur in den Modi "Standard" und "Split" folgt der Compounding-Struktur der zu geschnittenen Form.

Im "CompSolid" -Modus ist die Ausgabe ein Compsolid (oder eine Compsolids-Verbindung, wenn die resultierenden Festkörper mehr als eine Insel der Verbundenheit bilden). Compsolid ist ein Satz von Körpern, die durch Flächen verbunden sind. Sie beziehen sich auf Volumenkörper wie Drähte auf Kanten und Schalen auf Flächen. Der Name ist wahrscheinlich eine verkürzte Phrase "composite solid".

Die Gesamtaktion des Werkzeugs ist sehr ähnlich [BooleanFragments | Part BooleanFragments]], mit der Ausnahme, dass nur die Teile der ersten Form im Ergebnis enthalten sind.

Tree structure of Slice Apart
The Slice Apart command creates more than only the sliced object. In the following example a cube is sliced by a face.

The slice is created and for each piece of it there is a Part CompoundFilter created, thus the same slice occurs multiple times below each CompundFilter. All these CompoundFilters are united in a Compound.



Verwendung
Die Reihenfolge der Auswahl ist wichtig. Compounds mit Selbstschnittpunkten sind nicht zulässig (Selbstschnittpunkte können manchmal berücksichtigt werden, indem der Compound durch BooleanFragments geleitet wird).
 * 1) Wählen Sie zuerst das zu schneidende Objekt und dann einige Objekte aus, mit denen geschnitten werden soll.
 * 1) Rufen Sie den Part Slice-Befehl auf.
 * 2) Hinweis ː Die Objekte mit welchen Geschnitten wird, müssen die Quellobjekte Komplett durchschneiden. So ist es nicht möglich z.b. eine Box mit einen Linienzug zu teilen. Dieser kann durch Part->Extrude in eine Fläche mit mindestens der Höhe der Box umgewandelt werden um den Schnitt möglich zu machen.


 * 1) Noteː The Objects to slice with must completely separate the object to be sliced. Thus a cube cannot be sliced by a wire, but by a plane derived from an extruded wire for instance.

Ein parametrisches Slice-Objekt wird erstellt. Die Originalobjekte werden ausgeblendet und das Ergebnis des Schnitts wird in der 3D-Ansicht angezeigt.

eigenschaften

 * : Zu schneidendes Objekt.
 * : Liste der Schneidenden Objekte. (bis v0.17.8053, wird diese Eigenschaft nicht im Editor gezeigt, ist aber via Python Script zugänglich).
 * : "Standard", "Split", der "CompSolid". "Split" ist Vorgabe. Standard und Split unterscheiden sich durch die Aktion des Werkzeugs bei Aggregationstypen: Wenn Split aufgeteilt wird, werden diese getrennt. Andernfalls werden sie zusammengehalten (zusätzliche Segmente erhalten).
 * : Wert für "Unschärfe". Dies ist eine zusätzliche Toleranz, die bei der Suche nach Schnittpunkten zusätzlich zu den in den Eingabeformen gespeicherten Toleranzen anzuwenden ist.

Beispiel: Erstellen eines Puzzle

 * 1) Wechseln Sie zum Skizzierer Arbeitsbereich Sketcher Workbench/de, Erstellen Sie eine neue Skizze. Zeichnen Sie ein Rechteck, das die Gesamtform des Puzzles darstellt. Schliessen Sie die Skizze.
 * 1) Switch to Part workbench/de. Wählen Sie die Skizze aus und wählen Sie Formteil > Erstelle Fläche anhand von Kantenzügen (im Menü)..
 * 1) Wechseln Sie zum Skizzierer Arbeitsbereich Sketcher Workbench/de, Erstellen Sie eine neue Skizze auf derselben Ebene. Zeichnen Sie mit dem Polylinien-Werkzeug die Linien, welche das Puzzle in Stücke aufteilen sollen.
 * 1) Wechseln Sie zur PART Workbench. Wählen Sie die Splitterskizze (Puzzleverlauf) aus und wenden Sie  Part Boolean Fragmente an. Dadurch werden Scheitelpunkte eingefügt, an denen sich die Linien der Splitterskizze schneiden. Sie zu haben ist für den nächsten Arbeitsschritt unabdingbar.
 * 1) Wählen Sie die rechteckige Fläche und alle Fragmente der Splitterskizze aus, und wenden Sie Formteil>Split>Slice to Compound an.
 * 1) Verwenden Sie Formteil>Compound>Verbundteile extrahieren auf der aufgeschnittenen Fläche, um die von Part Slice hergestellte Verbindung in einzelne Teile zu zerlegen.

Die Schritte 5 und 6 sind in Formteil>Split>SliceApart zusammengefaßt.

Scriptgesteuert
Dieses Werkzeug kann in Makros ebenso wie aus der Python-Konsole heraus durch folgende Funktion angesprochen werden: BOPTools.SplitFeatures.makeSlice(name)


 * Erstellt eine leere Slice-Funktion. Die Eigenschaften 'Base' und 'Tools' müssen anschließend explizit vergeben werden.
 * Gibt das neu erstellte Objekt zurück.

Slice can also be applied to plain shapes, without the need to have a document object, via: BOPTools.SplitAPI.slice(base_shape, tool_shapes, mode, tolerance = 0.0) Dies kann nützlich sein, um benutzerdefinierte Python-Skriptfunktionen zu erstellen.

Beispiel

Das Tool selbst ist in Python implementiert, siehe /Mod/Part/BOPTools/SplitFeatures.py unter dem Ort, an dem FreeCAD installiert ist.

Version
Das Tool wurde in FreeCAD v0.17.8053 eingeführt. FreeCAD muss mit OCC 6.9.0 oder höher kompiliert werden. Andernfalls ist das Tool nicht verfügbar.