icon

Support Forum

[Frage] einfachste Möglichkeit BRep Fläche zu extrudieren

Schlagworte:
  • Brep
  • Extrudieren
  • PythonParts

Hallo zusammen,

ich suche nach der denkbar einfachsten Möglichkeit ein BRep als Fläche zu einem 3D Körper, entweder Polyhedron oder BRep zusammenzusetzen.

In meinem BRep wird immer ein Objekt mit einem FaceCount ausgegeben, hier ein Beispiel eines Quaders:
BRep3D(
RefPoint(0, 0, 0)
PartsCount(1)
EdgeCount(4)
FaceCount(1)
VertexCount(4)
Vertices(
(51.8169582773, 0, 0)
(51.8169582773, 197.3082099596, 0)
(25.7065948856, 197.3082099596, 0)
(25.7065948856, 0, 0)))

Ich will eigentlich vermeiden, einen komplizierten BRep Builder zu bauen.

Mit ExtrudedAreaSolid3D brauche ich erst Polygone, mit ExtrudeByVectorUtil wiederrum 3D Splines, ich finde irgendwie nicht den richtigen Befehl um stumpf ein BRep zu extrudieren.

Ich hoffe jemand kann helfen

Gruss Sebastian

ich suche nach der denkbar einfachsten Möglichkeit ein BRep als Fläche zu einem 3D Körper, entweder Polyhedron oder BRep zusammenzusetzen.

Verstehe ich das Richtig?
Du willst mit einzelnen BRep-Flächen ein geschlossenen BRep-Körper (mit Volumen) erstellen.
bzw. mit planaren 3D-Flächen einen Polyhedron erstellen.

Dafür kann man die "MakeUnion"-Funktionen benutzen.
Einfach die Flächen in Polyhedren/BReps umwandeln und dann schrittweise hinzufügen.
Wenn das Flächenkonstrukt dann geschlossen ist, kann man ein Volumen ermitteln.

In meinem BRep wird immer ein Objekt mit einem FaceCount ausgegeben, hier ein Beispiel eines Quaders:

Du meinst sicher Quadrat bzw. Rechteck! Ein Konstrukt mit 4 Punkten kann kein Quader sein!

Um eine BRep-Fläche aus einer Kanten-Liste zu erzeugen, benutze die Funktion "CreatePatchBRep3D".
Um einen Polyhedron aus einem Polygon3D zu erzeugen, benutze die Funktion "CreatePolyhedron".

Zitiert von: nemo

Du meinst sicher Quadrat bzw. Rechteck! Ein Konstrukt mit 4 Punkten kann kein Quader sein!Um eine BRep-Fläche aus einer Kanten-Liste zu erzeugen, benutze die Funktion "CreatePatchBRep3D".

Um einen Polyhedron aus einem Polygon3D zu erzeugen, benutze die Funktion "CreatePolyhedron".

Ja, ich meinte natürlich ein Rechteck bzw. Quader. Die Form wird aber in Anwendung deutlich komplexer mit mindestens 30 Punkten.

Ich versuche es mal aus 2 BRep Flächen. Also rein von der Logik:
Brep 1, -> Kopie zu Brep 2 und um Vektor Z verschieben. Und dann Make Union.

Dies gibt mir dann ein 3D Körper? Ich versuche es mal.

Zitiert von: nemo

ich suche nach der denkbar einfachsten Möglichkeit ein BRep als Fläche zu einem 3D Körper, entweder Polyhedron oder BRep zusammenzusetzen.Verstehe ich das Richtig?

Du willst mit einzelnen BRep-Flächen ein geschlossenen BRep-Körper (mit Volumen) erstellen.

bzw. mit planaren 3D-Flächen einen Polyhedron erstellen.
Dafür kann man die "MakeUnion"-Funktionen benutzen.

Einfach die Flächen in Polyhedren/BReps umwandeln und dann schrittweise hinzufügen.

Wenn das Flächenkonstrukt dann geschlossen ist, kann man ein Volumen ermitteln.

In meinem BRep wird immer ein Objekt mit einem FaceCount ausgegeben, hier ein Beispiel eines Quaders:

Du meinst sicher Quadrat bzw. Rechteck! Ein Konstrukt mit 4 Punkten kann kein Quader sein!Um eine BRep-Fläche aus einer Kanten-Liste zu erzeugen, benutze die Funktion "CreatePatchBRep3D".

Um einen Polyhedron aus einem Polygon3D zu erzeugen, benutze die Funktion "CreatePolyhedron".

Hat leider nicht funktioniert, ich bekomme 2x 3D Flächen die übereinander liegen, welche leider nicht zu einem 3D Körper werden. Vielleicht habe ich es aktuell nicht so gut erklärt:

Aus einer Funktion bekomme ich

AllplanGeo.CreatePlanarBRep3D(polyInput)
zu einem BRep welcher immer 3D Fläche ist.
FaceCount(1)

Und jetzt möchte ich diesen BRep (3D Fläche wenn PythonPart aufgelöst wird) extrudieren um einen 3D Körper zu erzeugen. Es ist aber nicht wichtig, ob dieser Volumen berechnen kann etc. Ich bräuchte für den Export später einfach ein 3D Körper, und kein Körper der aus 3D Flächen zusammengesetzt ist.