Gitterrost - performanter Lösungsansatz gesucht
Gitterrost - performanter Lösungsansatz gesucht
Liebe FreeCAD-Experten,
bei einer einfachen Konstruktion scheint meine FreeCAD-Installation an ihre Grenzen zu geraten. Für 3D-Druck (Modellbahn) möchte ich einen Gitterrost konstruieren. Dazu erzeuge ich die spätere Grundplatte im Part Design aus Sketch und Pad. Anschließend für das Loch ein weiterer Sketch und Pocket. Zum Schluss verwende ich Mehrfach-Transformation, um das Loch erst in X- und dann in Y-Richtung linear zu vervielfachen. Siehe Screenshot, dort ist der "Loch-Sketch" grün markiert.
Das klappt eigentlich ganz gut, aber sobald die Anzahl der Transformationen eine gewisse Größe übersteigt, braucht FreeCAD eine gefühlt Ewigkeit, um die Transformation zu rendern:
Raster 14 x 23 Löcher: wenige Sekunden
Raster 14 x 47 Löcher: 3 Minuten
Raster 14 x 70 Löcher: 6 Minuten
Raster 14 x 100 Löcher: 10 Minuten
Ich habe auch versucht, je eine Strebe in X- und in Y-Richtung zu zeichnen und dann zu vervielfältigen, die "Grundplatte" entfällt dann. Ähnliches Ergebnis. Hier scheint sich FreeCAD mit den zahlreichen kleinen Flächen, die entstehen, gut zu beschäftigen.
Nach dem Rendern ist die Performance normal, auch das Mesh für den STL-Export ist schnell erzeugt. Dummerweise wird bei jeder Änderung an irgendeiner Stelle erneut gerendert.
Nun suche ich nach hilfreichen Ideen, wie ich diesen Vorgang beschleunigen kann. Als work-around setze ich den Parameter "Vorkommen" zunächst auf "2", bis die Gesamtkonstruktion steht. Erst am Schluß ändere ich auf den finalen Wert. Aber elegant ist das nicht.
Vielen Dank im Voraus und schöne Grüße,
Frank
Hier meine FreeCAD-Details:
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2021.0130.23662 +3170 (Git)
Build type: Release
Branch: LinkStage3
Hash: d7b79274aab23bef2132b1094f222fd34104ffb8
Python version: 3.6.8
Qt version: 5.12.6
Coin version: 4.0.0a
OCC version: 7.4.0.beta
Locale: German/Germany (de_DE)
bei einer einfachen Konstruktion scheint meine FreeCAD-Installation an ihre Grenzen zu geraten. Für 3D-Druck (Modellbahn) möchte ich einen Gitterrost konstruieren. Dazu erzeuge ich die spätere Grundplatte im Part Design aus Sketch und Pad. Anschließend für das Loch ein weiterer Sketch und Pocket. Zum Schluss verwende ich Mehrfach-Transformation, um das Loch erst in X- und dann in Y-Richtung linear zu vervielfachen. Siehe Screenshot, dort ist der "Loch-Sketch" grün markiert.
Das klappt eigentlich ganz gut, aber sobald die Anzahl der Transformationen eine gewisse Größe übersteigt, braucht FreeCAD eine gefühlt Ewigkeit, um die Transformation zu rendern:
Raster 14 x 23 Löcher: wenige Sekunden
Raster 14 x 47 Löcher: 3 Minuten
Raster 14 x 70 Löcher: 6 Minuten
Raster 14 x 100 Löcher: 10 Minuten
Ich habe auch versucht, je eine Strebe in X- und in Y-Richtung zu zeichnen und dann zu vervielfältigen, die "Grundplatte" entfällt dann. Ähnliches Ergebnis. Hier scheint sich FreeCAD mit den zahlreichen kleinen Flächen, die entstehen, gut zu beschäftigen.
Nach dem Rendern ist die Performance normal, auch das Mesh für den STL-Export ist schnell erzeugt. Dummerweise wird bei jeder Änderung an irgendeiner Stelle erneut gerendert.
Nun suche ich nach hilfreichen Ideen, wie ich diesen Vorgang beschleunigen kann. Als work-around setze ich den Parameter "Vorkommen" zunächst auf "2", bis die Gesamtkonstruktion steht. Erst am Schluß ändere ich auf den finalen Wert. Aber elegant ist das nicht.
Vielen Dank im Voraus und schöne Grüße,
Frank
Hier meine FreeCAD-Details:
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2021.0130.23662 +3170 (Git)
Build type: Release
Branch: LinkStage3
Hash: d7b79274aab23bef2132b1094f222fd34104ffb8
Python version: 3.6.8
Qt version: 5.12.6
Coin version: 4.0.0a
OCC version: 7.4.0.beta
Locale: German/Germany (de_DE)
- Attachments
-
- Screenshot 2022-01-23 015432.jpg (159.04 KiB) Viewed 1495 times
Re: Gitterrost - performanter Lösungsansatz gesucht
Hallo Frank
Bei solchen Operationen hat Part Design seine Schwächen.Hier bist du mit Part in Kombination mit der Draft Funktion Array schneller unterwegs.
Hier dauert das ganze 3 min (14(doppellöcher) x 99= 2800 Löcher) beim Erzeugen des Cut und die Datengröße(ca 2,4 MB) ist viel geringer.
(Array kann man auch unter Part Design einsetzten)
Hier lohnt es sich auf jeden fall die Array Funktion anzuschauen
https://wiki.freecadweb.org/Draft_OrthoArray(link berichtigt)
Gruß Dirk
Ich habe dir mal die Datei ohne Cut angehangen.
Zum Testen musst du im Menü baum zuerst den Extrudieren(Platte) dann den Array anklicken und anschliessend cut
Bei solchen Operationen hat Part Design seine Schwächen.Hier bist du mit Part in Kombination mit der Draft Funktion Array schneller unterwegs.
Hier dauert das ganze 3 min (14(doppellöcher) x 99= 2800 Löcher) beim Erzeugen des Cut und die Datengröße(ca 2,4 MB) ist viel geringer.
(Array kann man auch unter Part Design einsetzten)
Hier lohnt es sich auf jeden fall die Array Funktion anzuschauen
https://wiki.freecadweb.org/Draft_OrthoArray(link berichtigt)
Gruß Dirk
Ich habe dir mal die Datei ohne Cut angehangen.
Zum Testen musst du im Menü baum zuerst den Extrudieren(Platte) dann den Array anklicken und anschliessend cut
- Attachments
-
- Gitterrost ohne Cut.FCStd
- (22.09 KiB) Downloaded 32 times
Last edited by Dirk.B on Sun Jan 23, 2022 1:32 pm, edited 1 time in total.
Re: Gitterrost - performanter Lösungsansatz gesucht
Es lohnt sich, mit der Overlap-Eigenschaft rumzuspielen. Die PartDesign-Muster haben starke Verbesserungen erfahren was die Performance angeht; Größe - glaube ich - aber nicht.
Edit: Es lohnt sich nicht, s.u.
Edit: Es lohnt sich nicht, s.u.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Gitterrost - performanter Lösungsansatz gesucht
Recompute-Zeiten
============
Cut mit Part: 85s
Multipattern mit Non-Overlap-Mode: 174s
Multipattern mit Overlap-Mode: 177
Multipattern mit Detect-Overlap-Mode: 176
============
Cut mit Part: 85s
Multipattern mit Non-Overlap-Mode: 174s
Multipattern mit Overlap-Mode: 177
Multipattern mit Detect-Overlap-Mode: 176
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Gitterrost - performanter Lösungsansatz gesucht
Die meiste Zeit benötigt immer die Tesselation. Daher solle auch bei so einem Teil diese gröber eingestellt werden. Ich denke unter 10s bei 1000 Löcher sollte drin sein. (kann es gerade nicht testen).
Grüße
user1234
Grüße
user1234
Re: Gitterrost - performanter Lösungsansatz gesucht
In diesem Fall würde ich die Zeit eher an anderer Stelle vermuten, weil ich bei der Part- und den PartDesign-Varianten jeweils dieselben Werte hatte (0,5 / 28°).
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Gitterrost - performanter Lösungsansatz gesucht
Eine Verdoppelung (1,0 / 56°) hat nicht viel gebracht: 168s vs. 176. Das wird womöglich erst bedeutsam, wenn gekrümmte Flächen dabei sind.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Gitterrost - performanter Lösungsansatz gesucht
Bei meinem nicht so tollen und nicht aktuellen FreeCAD und PartDesign sind es bei
32x32 = 1024 runde! Löcher
bei 1% und 20°
t = 16s
und bei mit 2% sogar 13s
Grüße
user1234
edit: rechteckige Löcher 23s
32x32 = 1024 runde! Löcher
bei 1% und 20°
t = 16s
und bei mit 2% sogar 13s
Grüße
user1234
edit: rechteckige Löcher 23s
Re: Gitterrost - performanter Lösungsansatz gesucht
Hat mal jemand versucht das ganze Konstruktiv zu machen, also schräg laufende Pads und den Überschuss am Ende wegschneiden?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Gitterrost - performanter Lösungsansatz gesucht
Ich muss villeicht auch anmerken, dass es zwar eine ältere OCCT Version ist, aber eine selbstkompilierte mit tbb. Ich weis nicht ob das bei andern OS default ist oder überhaupt default.
Grüße
user1234
Grüße
user1234