CAD SL Freecad parametrik konsole

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
ch_ris
Beiträge: 3058
Registriert: Mo 30. Nov 2015, 10:08

CAD SL Freecad parametrik konsole

Beitrag von ch_ris »

besserer Titel ist mir nicht eingefallen.

ich hab mal eine Feder gebaut, das geht so easy, es ist ein Traum, erstmal...
2024-01-22 12_47_21-Window.png
Die ist angelegt, geschliffen und Progressiv.
Der Sketch ist nur ein Kreis mit Durchmesser und Distanz zum Nullpunkt.
Das ist auch schön parametrisch, Draht- und Feder-Durchmesser betreffend.
Und danach gings bergab...um Hilde Knef zu bemühen.

links sind die Eigenschaften zu sehen.
Steigung und Windungen Modus, und die Werte des Segments. Derer 4 sind's insgesamt.
Profile ist, wo dieses Segment an das vorherige anschließt. Also Face4 von Helix1.

in dem Moment wo ich eine Windungszahl verändere, bricht das Model zusammen weil Face4 nicht mehr existiert oder wo anders liegt.
Ein grundsätzliches Freecad Problem.
ich fand das jetzt un-fixbar, keine Ahnung welche und ob Möglichkeiten zur Reparatur es gibt.
Phyton mag ich total...nicht, egal, hab folgendes in die Konsole getan (bei dem noch heilen Model):

Code: Alles auswählen

>>> doc=FreeCAD.ActiveDocument
>>> feder1=doc.getObject('AdditiveHelix')
>>> feder2=doc.getObject('AdditiveHelix001')
>>> feder3=doc.getObject('AdditiveHelix002')
>>> feder4=doc.getObject('AdditiveHelix003')
>>> print(feder1.Turns)
1.0
>>> print(feder2.Turns)
2.0
>>> print(feder3.Turns)
2.0
>>> print(feder4.Turns)
1.0
>>> print(feder1.Profile)
(<Sketcher::SketchObject>, [])
>>> print(feder2.Profile)
(<PartDesign::AdditiveHelix>, ['Face3'])
>>> print(feder3.Profile)
(<PartDesign::AdditiveHelix>, ['Face5'])
>>> print(feder4.Profile)
(<PartDesign::AdditiveHelix>, ['Face7'])
>>> 
Gut, das ist ja schon mal informativ.
Auffällig ist, das im Unterschied zur Gui hier nur von AdditiveHelix die rede ist, bei dem Wert von Profile.
Der, fand ich heraus, ist ein Tuple und nicht veränderbar, muss also neu gebaut werden.
edit. ich will die Windungszahl um 1 erhöhen, das ergibt dann 1 Face mehr, und Profile muss dementsprechend angepasst werden.
Ich sage also:

Code: Alles auswählen

feder2.Turns= 3
feder3.Profile=(feder2,'Face6')
feder4.Profile=(feder3,'Face8')
Also wenn das nicht "a programmers CAD" ist, weis ich auch nicht :roll:

Der "geschliffen" subtracive Zylinder kann manuell verschubbelt werden.
könnte man auch per script machen, wenn man spas dran hat.
2024-01-22 13_25_26-.png
Benutzeravatar
eJunkie
Beiträge: 756
Registriert: Mi 14. Aug 2013, 20:05

Re: CAD SL Freecad parametrik konsole

Beitrag von eJunkie »

Irgendwie habe ich noch die Hoffnung, dass die Jungs von FreeCAD da noch was tun. In dem speziellen Fall wäre das wahrscheinlich gar nicht schwer, dem "Ende" der Helix einen Namen zu geben der von der Anzahl der Segmente abhängt ist (freundlich gesagt) etwas ungeschickt. Für diese spezielle Fläche bräuchte man nur ein anderes Namesschema. Aber ich verstehe auch, das es nicht ganz einfach sein wird die Flächen nach ihren Eigenschaften zu benennen.
ch_ris
Beiträge: 3058
Registriert: Mo 30. Nov 2015, 10:08

Re: CAD SL Freecad parametrik konsole

Beitrag von ch_ris »

ja. das dann allgemein gültig hin zu kriegen...
is halt extrem blöd das du das geplatzte model nicht im propertys dialog manuell fixen kannst.
meine lehre ist jedenfalls:
console offen haben, rein gucken, lernen.
merken:
print()
App.activeDocument.getObject()

obj.Shape.Faces ist ja ein array.
Face9 gibts da nicht.
ein lastFace hülfe ja nur in diesem fall.
irgendwie ist das Dom da ungeschickt.
Benutzeravatar
eJunkie
Beiträge: 756
Registriert: Mi 14. Aug 2013, 20:05

Re: CAD SL Freecad parametrik konsole

Beitrag von eJunkie »

Mein erster Gedanke war auch gleich: Einfach neu zuordnen, wo ist das Problem? Nur geht an der Stelle nicht... Eigentlich müsste man mal diesen Dialog pimpen dass man da auch andere Dinge auswählen kann.
ch_ris
Beiträge: 3058
Registriert: Mo 30. Nov 2015, 10:08

Re: CAD SL Freecad parametrik konsole

Beitrag von ch_ris »

da muss man das faces array lesen, daraus die strings bauen, ('Face'+(i-1)).
und das dann in einer Auswahlliste anbieten.
hmm. wasn das überhaupt? auch phyton?


edit
im [...] bzw Link Dialog wird das Face editierbar durch doppelklick.
das ist ja zumindest etwas.
Dateianhänge
2024-01-24 07_58_55-Window.png
ch_ris
Beiträge: 3058
Registriert: Mo 30. Nov 2015, 10:08

Re: CAD SL Freecad parametrik konsole

Beitrag von ch_ris »

eJunkie hat geschrieben: Di 23. Jan 2024, 20:09 Irgendwie habe ich noch die Hoffnung, dass die Jungs von FreeCAD da noch was tun. In dem speziellen Fall wäre das wahrscheinlich gar nicht schwer, dem "Ende" der Helix einen Namen zu geben der von der Anzahl der Segmente abhängt ist (freundlich gesagt) etwas ungeschickt. Für diese spezielle Fläche bräuchte man nur ein anderes Namesschema. Aber ich verstehe auch, das es nicht ganz einfach sein wird die Flächen nach ihren Eigenschaften zu benennen.
über das topological naming problem:
https://ondsel.com/blog/freecad-topological-naming/

ich ziehe mir gerade den dort angesprochenen fork, mal gucken wie weit das ist.

edit. Standard version 0.21.1
das hier ist ein Pad001 auf einem Pad.
Fillet liegt auf Pad. bzw zwischen den beiden.
Das Model versagt hier ohne das es zu einem Fehler kommt.
In der Fork Version Stable 2024.01.23 ist es einfach nicht möglich das so zu konstruieren, Fillet wird automatisch auf Pad001 gesetzt.
Bei der Helix ist leider alles beim alten.
Dateianhänge
2024-01-24 10_48_37-Window.png
2024-01-24 10_52_21-Window.png
Benutzeravatar
eJunkie
Beiträge: 756
Registriert: Mi 14. Aug 2013, 20:05

Re: CAD SL Freecad parametrik konsole

Beitrag von eJunkie »

ch_ris hat geschrieben: Di 23. Jan 2024, 21:46 im [...] bzw Link Dialog wird das Face editierbar durch doppelklick.
das ist ja zumindest etwas.
Ui, darauf wäre ich nicht gekommen... Hab diesen Dialog bisher für recht sinnfrei gehalten, weil man da die interessanten Dinge nicht auswählen kann.
ch_ris
Beiträge: 3058
Registriert: Mo 30. Nov 2015, 10:08

Re: CAD SL Freecad parametrik konsole

Beitrag von ch_ris »

ja, kommt man nur durch sinnfrei hektisch überall hin klicken drauf :lol: hab ich vom vadder abgeguckt.
Antworten