Hallo Rolf,
die Ziegelei ist so eine Spielerei um die Schnittstelle in Freecad auszutesten. Fazit: schnell ist anders. Um Gerhards 16.000 Ziegel zu schaffen bräuchte ich ca. 6 Stunden, vorausgesetzt der Speicher reicht. Die Weiterverarbeitung in PART DESIGN geht auch alles andere als zügig. Eine Wand mit meht als 900 Ziegeln lässt sich mit freecad auch nicht sicher laden. Die Datei scheint in Ordnung, man muss es halt manchmal mehrfach versuchen, bis es klappt.
Kleine Tempo-Liste für die Erstellung der Ziegel:
Anzahl Ziegel: 120 Zeit: 20.548341989517212 sec
Anzahl Ziegel: 210 Zeit: 60.23632740974426 sec
Anzahl Ziegel: 300 Zeit: 129.59219908714294 sec
Anzahl Ziegel: 390 Zeit: 202.27356243133545 sec
Anzahl Ziegel: 480 Zeit: 331.454048871994 sec
Anzahl Ziegel: 570 Zeit: 512.7994446754456 sec
Anzahl Ziegel: 660 Zeit: 717.5465302467346 sec 11.959108837445577 min
Anzahl Ziegel: 750 Zeit: 930.205085515976 sec 15.503418091932932 min
Zitat von Rolf im Beitrag 3D-Druck: Ziegel für FreeCAD
--SCHNIPP/SCHNAPP--
Bei algorithmisch erzeugten Mustern oder Objekten kommt OpenSCAD überraschend schnell an seine Grenzen. Allerdings vermute ich mittlerweile, dass das auch an der etwas merkwürdigen Skriptsprache liegt, bei der in einer Schleife im Prinzip alle Durchläufe gleichzeitig vorliegen. Im Moment habe ich leider nicht so viel Zeit zum herumspielen, aber wenn ich wieder etwas mehr Zeit habe, möchte ich mal folgendes Vorgehen ausprobieren:
Die gesamte Mathematik inklusive der Nichtperfektion in Python mit NumPy rechnen (das geht dort rasend schnell). Und dann (um im Beispiel der Ziegelwand zu bleiben) jeden Ziegel als einen Quader mit fester Größe und festen Koordinaten von Python aus in eine Textdatei schreiben. Diese dann in OpenSCAD einlesen. Damit macht OpenSCAD dann nur noch die reine Grafik und nicht mehr die Mathematik der Koordinatenberechnung. --SCHNIPP/SCHNAPP--
Ich mache selten CAD im CAD-Program, sondern das, was Du vorhast. Die "Würfel" kommen aus einem C-Program , ich brauche Openscad nur fürs STL-File und für Bilder im Forum. Mein Program produziert Output für Povray, Blender und Openscad (deshalb der Test, Freecad soll dazu kommen). Povray nutze ich zur Visualisierung beim konstruieren, geht blitzschnell, da alle CPUs genutzt werden. Zu Openscad: Das Rechnen ist nicht das Problem sondern die 3D-Fähigkeiten, da Openscad nur "monothreading" kann, eine CPU bei 100%, der Rest schläft. Wenn der erste CGAL Status in der Konsole erscheint dürfe der Usertext abgearbeitet sein, und das geht relativ schnell.
Das Ruckeln des Screens bei Openscad kommt daher, das die Berechnung des Objektes in der Bildschirmausgabe erfolgt (OpenCSG und OpenGL, wenn ich mich nicht täusche). Das STL wird aber über den Renderer (CGAL) erzeugt, ein ganz anderer Weg. Du kannst das Ruckeln reduzieren in dem Du den Baugruppen den Befehl render() vorsetzt, dann wird auf CGAL umgeleitet und die Grafikengine bekommt ein fertiges 3D-Objekt, nur kostet render() auch Zeit und die Farbe geht meistens verloren. Es geht auch eine Boundingbox mit intersection (kostet auch Zeit), das scheinbar von OpenCSG nicht unterstützt wird (?) und Openscad zum rendern zwingt.
Es gibt ja auch neue CAD-Progamme wie Angelcad, die von sich sagen Openscad Dateien schneller zu verarbeiten. Das habe ich aber noch nicht probiert.
Disclaimer:
Meine Aussagen zu den CAD-Systemen beziehen sich auf meine Art zu Arbeiten und meine Hardware. Der Austausch von Rechner oder der Person vor dem Rechner kann entscheidende Verbesserungen bringen. Und ich habe nicht immer Recht...
Gruss Ulli