Hallo zusammen.
Ich bin auf der Suche nach folgender Problemlösung bzw. Aufgabe:
Ich habe eine kleine Sammlung von verschiedensten (farbigen)
Step-Modellen und möchte sie mit einem Programm/Script zusammenfügen und
anschließend speichern. Es ist also ausreichend, mehrere Modelle zu
importieren, zu verschieben und zu drehen. Eine (aber nicht die einzige)
Beispielanwendung wäre, auf eine PCB Bauteile zu platzieren. Ein
Nice-to-have wäre die Benamung der einzelnen Komponenten (sodass später
z.B. ein Widerstand den Namen R100 hat).
Ich habe so etwas mit CadQuery in Python ausprobiert und es klappt
theoretisch auch alles. Allerdings verlieren die Komponenten beim
importieren die Farbe (siehe Anhang). Diese hätte ich aber gerne.
Ich habe es auch mit FreeCAD probiert, allerdings verlieren hier die
Modelle ebenfalls die Farbe, wenn ich mit Import.insert() das Modell
einlese. Wenn ich das aber mit ImportGui.insert() mache, funktioniert
es. Allerdings habe ich hier nicht rausgefunden, wie ich den jeweiligen
Komponenten dann Namen geben kann und gezielt "anwählen und
verschieben/rotieren" kann. Ich habe irgendwo mal gelesen, dass FreeCAD
auch CadQuery nutzt, daher nehme ich an, dass es den selben Grund hat,
wieso bei beiden beim "normalen" Import die Farben verloren gehen.
Daher frage ich jetzt hier mal in die Runde: Kennt jemand eine
Möglichkeit, wie ich es mit CadQuery hinbekomme die Farben zu behalten?
Oder kennt jemand eine kostenfreie oder zumindest günstige Alternative,
mit dem ich das machen kann? Wie gesagt geht es nur um das
zusammenfügen, verschieben, rotieren und exportieren (wieder als Step),
nicht jedoch um das Modellieren von Komponenten.
Vielen Dank und liebe Grüße
Michael
Hier nochmal mein CadQuery Code:
1 | import cadquery as cq
|
2 |
|
3 | pcb = cq.importers.importStep("C:/temp/PCB_160x100.stp")
|
4 | ic1 = cq.importers.importStep("C:/temp/SOT23-6.stp").translate((10,10,0))
|
5 |
|
6 | assy = cq.Assembly()
|
7 | assy.add(pcb, name="pcb")
|
8 | assy.add(ic1, name="ic1")
|
9 |
|
10 | assy.save("C:/temp/ass_PCB.step")
|
PS: Mir ist bewusst, dass es E-CAD Programme gibt, die eine Platine mit
Bauteilen als 3D Modell exportieren können. Dies war allerdings auch nur
ein Beispiel, um es etwas zu verdeutlichen.