STL-File einlesen und bearbeiten

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
Post Reply
Bitkipper
Posts: 36
Joined: Sat Sep 22, 2018 6:53 pm

STL-File einlesen und bearbeiten

Post by Bitkipper »

Hallo,

ich habe erfoglos versucht ein STL-File in FreeCAD einzulesen und zu bearbeiten. Die folgenden Schritte habe ich dazu ausgeführt.

Neues Projekt
Öffnen und TPU_Extruder_v1 einlesen. -> Teil erscheint in FreeCAD
WB Mesh Design -> Netze -> Analysieren -> Untersuche und repariere das Netz -> Alle Tests zusammen -> 1 Fehler gefunden Selbstdurchdriegung
-> Fehler repariert.
WB Part -> Formteil -> Form aus Dreiecksnetz erstellen -> Abfrage Toleranz 0,1mm -> OK -> TPU_Extruder_v1001 wird erstellt
TPU_Extruder_v1001 auswählen -> Formteil -> Festkörper erzeugen
TPU_Extruder_v1001 (Solid) wird erstellt
Sketcher WB -> Fläche (Dreieck) selektiert -> Sketch erstellen -> FlatFace -> Sketch gezeichnet -> Vollständig eingeschränkt
Part WB -> Sketch extrudieren 5mm symertisch
TPU_Extruder_v1001 (Solid) auswählen -> Extrude auswählen -> Scheidet zwei Formen --> >> Beide Modele sind nicht mehr sichtbar <<

Im Anhang befindet sich das Projektfile.
Ich musste im FreeCAD File die beiden Zwischenstände löschen damit ich es hochladen kann. Das ursprüngliche STL-File befindet sich aber auch im Anhang.

Wo in diesem Ablauf befindet sich mein Fehler.

Danke

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16110 (Git)
Build type: Release
Branch: (HEAD detached at upstream/releases/FreeCAD-0-18)
Hash: f7dccfaa909e5b9da26bf50c4a22ccca9bb10c40
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
Attachments
TPU_Extruder_v1.stl
(113.95 KiB) Downloaded 129 times
STL_Test.FCStd
(690.59 KiB) Downloaded 75 times
wmayer
Founder
Posts: 20298
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: STL-File einlesen und bearbeiten

Post by wmayer »

Formen, die aus Netzen auf diese Weise erzeugt werden, sind nie ganz unproblematisch, weil für jedes einzelne Dreieck eine getrimmte Ebene erstellt wird. Jede Art von gekrümmten Flächen (zylindrisch, kugelförmig, ...) werden eben nur approximiert.

Das Netz sieht jetzt nicht so kompliziert aus und von daher würde ich empfehlen das Bauteil komplett neu zu konstruieren mit dem Netz als Vorlage. Somit hast Du wieder ein mathematisch exaktes Modell und gehst evt. anderen Problemen aus dem Weg.
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: STL-File einlesen und bearbeiten

Post by Gift »

Im ersten Schritt kannst du dir in der "Mesh WB" mit "Create section from mesh and plane" Schnitte (Section) erstellen. Dann kannst du daraus einen Körper erstellen, oder wie Werner vorgeschlagen hatte, diese nach skizzieren.

TPU_Extruder_v1.FCStd
wmayer
Founder
Posts: 20298
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: STL-File einlesen und bearbeiten

Post by wmayer »

Mit Hilfe von ein paar Funktionen aus Mesh und MeshPart kann man den Grundkörper halb-automatisch erstellen.

In Mesh Design gibt es die Funktion Erstelle Netzsegmente aus angenäherten Oberflächen. Dort kann man sich das Segment der Oberseite des Netzes extrahieren.

Mit Python kann man die Randkurven des Segmentes bestimmen:

Code: Select all

import MeshPart
wires=MeshPart.wireFromMesh(App.ActiveDocument.Segment.Mesh)
compound=Part.Compound(wires)
Part.show(compound)


Mit der Draft-Wb kann man das Compound in einen Sketch konvertieren, den man dann überarbeiten kann, indem man die approximierten Kreissegmente durch richtige Kreissegmente ersetzt.

Zum Schluss kann man dann mit der Extrudieren-Funktion aus Part mit einem Wert von 12,7 den Grundkörper erstellen.
Attachments
Grundkörper.brep
(78.55 KiB) Downloaded 49 times
freecad-heini-1
Veteran
Posts: 7790
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: STL-File einlesen und bearbeiten

Post by freecad-heini-1 »

Bitkipper wrote:Ping
Hallo Bitkipper,
schau Dir mal die Mesh Remodel Workbench an. Innerhalb des Thread findest Du Demo-Video's. Für mich sieht das sehr brauchbar aus um aus der Step ein sauberes Modell mit Freecad als Brep nachmodellieren zu können.
https://forum.freecadweb.org/viewtopic. ... 96#p327896

Zum gleichen Thema gibt es noch mehr:
https://forum.freecadweb.org/viewtopic. ... 29#p335129

Viele Grüße
Wilfried
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: STL-File einlesen und bearbeiten

Post by Gift »

wmayer wrote: Fri Dec 06, 2019 5:56 pm Mit Hilfe von ein paar Funktionen aus Mesh und MeshPart kann man den Grundkörper halb-automatisch erstellen.

In Mesh Design gibt es die Funktion Erstelle Netzsegmente aus angenäherten Oberflächen. Dort kann man sich das Segment der Oberseite des Netzes extrahieren.

Mit Python kann man die Randkurven des Segmentes bestimmen:

Code: Select all

import MeshPart
wires=MeshPart.wireFromMesh(App.ActiveDocument.Segment.Mesh)
compound=Part.Compound(wires)
Part.show(compound)


Mit der Draft-Wb kann man das Compound in einen Sketch konvertieren, den man dann überarbeiten kann, indem man die approximierten Kreissegmente durch richtige Kreissegmente ersetzt.

Zum Schluss kann man dann mit der Extrudieren-Funktion aus Part mit einem Wert von 12,7 den Grundkörper erstellen.
Wie bekommst du die Segmente erstellt?
freecad-heini-1 wrote: Fri Dec 06, 2019 6:03 pm
Bitkipper wrote:Ping
Hallo Bitkipper,
schau Dir mal die Mesh Remodel Workbench an. Innerhalb des Thread findest Du Demo-Video's. Für mich sieht das sehr brauchbar aus um aus der Step ein sauberes Modell mit Freecad als Brep nachmodellieren zu können.
https://forum.freecadweb.org/viewtopic. ... 96#p327896

Zum gleichen Thema gibt es noch mehr:
https://forum.freecadweb.org/viewtopic. ... 29#p335129

Viele Grüße
Wilfried
Ad hoc sieht das gut aus. Bei gescanten Netzen wird wahrscheinlich die Punktemenge zu galaktisch. Zudem werden die Punkte nicht so schön auf einer Ebene liegen.
wmayer
Founder
Posts: 20298
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: STL-File einlesen und bearbeiten

Post by wmayer »

Wie bekommst du die Segmente erstellt?
Also wenn Du die obige Funktion aufrufst, erscheint ein Dialog, mit dem man nach Ebenen, Zylindern und Kugeln suchen kann. In diesem Fall schalte die Suche für Zylinder und Kugel ab.

Für Ebene gibt es den Knopf "Parameter...", mit dem man eine bestimmte Ebene festlegen kann und diese parametrisiert man, indem man z.B. auf den Knopf "Dreieck" klickt und im Modell auf ein oder mehrere Dreiecke klickt.

Bei Netzen, die aus CAD-Modellen entstanden sind, reicht theoretisch ein Dreieck aus. Wenn es aus gescannten Daten kommt, sollte man mehrere auswählen bzw. den Knopf "Bereich" bemühen, mit dem man mit einem Lasso einen Bereich auswählen kann.

Hat man die Selektion fertig, dann geht man auf "Berechnen" und man sieht die Parameter der approximierten Ebene. Bestätige mit OK.
Der Toleranzwert von 0,01 ist denke ich i.A. OK und den Wert von der Mindestanzahl an Dreiecken hängt wiederum ab, wo das Netz herkommt. Wenn es von einem CAD-Modell stammt, könnte der Wert 100 schon zu hoch. In diesem Fall jedenfalls geht es.

Wenn Du mit OK bestätigst, wird das komplette Segment passend zur Ebene erstellt.
User avatar
Gift
Posts: 769
Joined: Tue Aug 18, 2015 10:08 am
Location: Germany, Sauerland

Re: STL-File einlesen und bearbeiten

Post by Gift »

wmayer wrote: Sat Dec 07, 2019 3:02 pm
Wie bekommst du die Segmente erstellt?
Also wenn Du die obige Funktion aufrufst, erscheint ein Dialog, mit dem man nach Ebenen, Zylindern und Kugeln suchen kann. In diesem Fall schalte die Suche für Zylinder und Kugel ab.

Für Ebene gibt es den Knopf "Parameter...", mit dem man eine bestimmte Ebene festlegen kann und diese parametrisiert man, indem man z.B. auf den Knopf "Dreieck" klickt und im Modell auf ein oder mehrere Dreiecke klickt.

Bei Netzen, die aus CAD-Modellen entstanden sind, reicht theoretisch ein Dreieck aus. Wenn es aus gescannten Daten kommt, sollte man mehrere auswählen bzw. den Knopf "Bereich" bemühen, mit dem man mit einem Lasso einen Bereich auswählen kann.

Hat man die Selektion fertig, dann geht man auf "Berechnen" und man sieht die Parameter der approximierten Ebene. Bestätige mit OK.
Der Toleranzwert von 0,01 ist denke ich i.A. OK und den Wert von der Mindestanzahl an Dreiecken hängt wiederum ab, wo das Netz herkommt. Wenn es von einem CAD-Modell stammt, könnte der Wert 100 schon zu hoch. In diesem Fall jedenfalls geht es.

Wenn Du mit OK bestätigst, wird das komplette Segment passend zur Ebene erstellt.
Huhu Werner, danke. Die approximierten Ebene ist cool. Damit läßt sich im Prinzip schon mal das Netz nach Flächen ausrichten. Anbei ist ein Beispiel mittels GOM erstellt. Eine simple Halteklammer für Führungsbuchsen.
Attachments
Spannklotz_09.12.2019.stl
(799.94 KiB) Downloaded 64 times
wmayer
Founder
Posts: 20298
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: STL-File einlesen und bearbeiten

Post by wmayer »

Huhu Werner, danke. Die approximierten Ebene ist cool. Damit läßt sich im Prinzip schon mal das Netz nach Flächen ausrichten. Anbei ist ein Beispiel mittels GOM erstellt. Eine simple Halteklammer für Führungsbuchsen.
Bei gescannten Daten bietet sich die krümmungsbasierte Segmentierung an. Mit der Funktion "Netz-Segmente erstellen" kannst Du nach verschiedenen Geometrien suchen. Wenn Du nur an Ebenen interessiert bist, schaltest Du die Suche nach Zylinder, Kugel oder Freiformflächen ab.

Die Funktion findet dann alle vorhandenen Ebenen auf einen Schlag.
Bitkipper
Posts: 36
Joined: Sat Sep 22, 2018 6:53 pm

Re: STL-File einlesen und bearbeiten

Post by Bitkipper »

Hallo,

danke für die vielen Antworten. Da ich am Werkstück nur eine kleine Änderung durchführen wollte habe ich eine Workaround gefunden.

Mit Hilfe der Webseite 3Dless.com kann mann das STL-File vereinfachen, danach hat die Bearbeitung mit FreeCAD funktioniert.

Für Testzwecke habe ich an 5 Modeln die Anzahl der Ecken um ca. 1% reduziert, alle Model konnte ich dann in FreeCAD bearbeiten.

mfg
Bitkipper
Post Reply