Part FormAusNetz

From FreeCAD Documentation
Revision as of 21:02, 4 October 2020 by Maker (talk | contribs) (Created page with "Die Analyse und Reparatur des Netzes sollte, falls erforderlich, vor dem Start manuell durchgeführt werden {{Button|16px Part_ShapeFromMesh/...")

Part FormAusNetz

Menüeintrag
Part → Erzeuge Form aus Netz...
Arbeitsbereich
Part
Standardtastenkürzel
Keiner
Eingeführt in Version
-
Siehe auch
UmwandelnInFestkörper, FormVerfeinern, PunkteAusNetz

Einführung

The Part ShapeFromMesh command creates a shape from a mesh object. Mesh objects have limited editing capabilities in FreeCAD, converting them to shapes will allow their use with many more boolean and modification tools.

The inverse operation is Mesh FromPartShape from the Mesh Workbench.

Anwendung

  1. Select the mesh object in the tree view.
  2. Go to the menu, Part → Create shape from mesh.
  3. A popup-menu will ask for the tolerance for sewing shape; the default value is 0.1.
  4. A shape from the mesh object is created as a separate new object.

Die Analyse und Reparatur des Netzes sollte, falls erforderlich, vor dem Start manuell durchgeführt werden FormAusNetz. Geeignete Werkzeuge für diese Aufgabe sind im Netz Arbeitsbereich verfügbar.

Nach der Erstellung einer Form, kann es nützlich sein, Umwandeln in Festkörper (erforderlich für boolesche Operationen) und Form verfeinern.

Verweise

Skripten

Das Erstellen einer Form aus einem Netz kann mit der Methode makeShapeFromMesh aus einem Part TopoForm erfolgen; Du musst das Quellnetz und die Toleranz angeben und das Ergebnis einem neuen Part Formelement Objekt zuweisen.

Beachte, dass das Netz neu berechnet werden muss, bevor es in eine Form umgewandelt wird, da es sonst keine Topologieinformationen gibt und die Umwandlung nicht erfolgreich ist.

import FreeCAD as App
import Part

doc = App.newDocument()
mesh = doc.addObject("Mesh::Cube", "Mesh")
mesh.recompute()

solid = doc.addObject("Part::Feature", "Shape")
shape = Part.Shape()
shape.makeShapeFromMesh(mesh.Mesh.Topology, 0.1)

solid.Shape = shape
solid.Placement.Base = App.Vector(15, 0, 0)
solid.purgeTouched()
doc.recompute()