Part Slice/de

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



(Auf dem Bild oben wurden die Stücke anschließend manuell auseinandergeschoben, um das Schneiden 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 einen Verbund gebracht werden, aber "Slice apart" verteilt den resultierenden Verbund 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 einen Verbund (oder Compsolid) eingefügt, sodass das Objekt scheinbar in einem Stück verbleibt. Sie müssen den Verbund 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 schneidenden Form.

Im "CompSolid"-Modus ist die Ausgabe ein Compsolid (oder eines Compsolids-Verbunds, 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 sind mit Volumenkörpern verwandt wie Linienzüge mit Kanten und Hüllen mit Flächen. Der Name ist wahrscheinlich eine verkürzter Ausdruck "composite solid".

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

Baumstruktur von Slice Apart
Mit dem Befehl Slice Apart wird mehr als nur das in Scheiben geschnittene Objekt erstellt. Im folgenden Beispiel wird ein Würfel von einer Fläche geschnitten.

Das Slice wird erstellt, und für jedes Stück wird ein Part CompoundFilter erstellt. Das gleiche Slice wird also mehrmals unter jedem CompoundFilter angezeigt. Alle diese CompoundFilters sind in einem Verbund vereint.



Verwendung
Die Reihenfolge der Auswahl ist wichtig. Compounds mit Überschneidungeɳ sind nicht zulässig (Überschneidungeɳ können manchmal berücksichtigt werden, indem der Verbund 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) Hinweisː Die zu schneidenden Objekte müssen das zu schneidende Objekt vollständig trennen. Daher kann ein Würfel nicht mit einem Draht geschnitten werden, sondern beispielsweise mit einer Ebene, die aus einem extrudierten Draht stammt.

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.

Hinweisː Die Eigenschaften sind nicht auf dem Level des Verbunds zugänglich sondern in den inneren Slices der Resultierenden Objekte.

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 den von Part Slice hergestellten Verbund 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 kann auch auf einfache Formen angewendet werden, ohne dass ein Dokumentobjekt erforderlich ist 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.