Path Workbench scripten

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

WICHTIG: Bitte zuerst lesen, bevor Sie posten
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Path Workbench scripten

Post by bernd »

so wie ich es sehe ist das Base propery des des Dokumentobjektes Profile_Faces eine link liste und keine liste von objekten ... Siehe https://github.com/FreeCAD/FreeCAD/blob ... hOp.py#L99

wie geschrieben ich habe gar keine Ahnung von path. Könntet Ihr folgendes machen ... zwei dateien, eine bei der das property Base mit der Gui gesetzt wurde, und eine bei der es nicht gesetzt wurde, dann würde ich versuchen das mal zu setzen.

gruss bernd
RalfG
Posts: 141
Joined: Sun Oct 30, 2016 12:56 pm
Location: Lippstadt/Deutschland

Re: Path Workbench scripten

Post by RalfG »

hjh wrote: Fri Jan 11, 2019 11:08 am
microelly2 wrote: Fri Jan 11, 2019 10:44 am Menü Help
--> Automatic Python moduls generation
Dann öffnet sich ein Webfenster und da findet man alles, was inline dokumentiert ist.
Gut das zu wissen, steht aber doch immerhin einiges drin

Path_Workbench_API_documentation_2019-01-11.png

Für mehr Antworten bleibt dann nur der Weg den Python source code zu finden und zu lesen und Fragen im Forum zu stellen betreffend dem Konzept (Modell für Path-WB)

Nur, wo steht der Source code genau
https://github.com/FreeCAD/FreeCAD/tree ... c/Mod/Path
:?:

Post updated.

Hallo ,

ich habe ja keine Ahnung, aber vielleicht hilft es ja.
Wenn man auf der aufgerufen Seite weiter nach unten scrollt, kommen noch weitere Erläuterungen zu den einzelnen Modulen.
Bild1.png
Bild1.png (63.48 KiB) Viewed 1090 times

Gruß Ralf
chrisb
Veteran
Posts: 54174
Joined: Tue Mar 17, 2015 9:14 am

Re: Path Workbench scripten

Post by chrisb »

Dieser Ausschnitt aus PathProfileFaces

Code: Select all

                faces = []
                for sub in base[1]:
                    shape = getattr(base[0].Shape, sub)
                    if isinstance(shape, Part.Face):
                        faces.append(shape)
                        if numpy.isclose(abs(shape.normalAt(0, 0).z), 1):  # horizontal face
                            for wire in shape.Wires[1:]:
                                holes.append((base[0].Shape, wire))
                    else:
                        ...

                if len(faces) > 0:
                    profileshape = Part.makeCompound(faces)
                    self.profileshape.append(profileshape)
sieht für mich so aus als würden direkt die faces angefügt. Ich hab es auch schon mit einem Compound versucht; aber hinterher steht in doc.Profile_Faces.Base immer noch dasselbe drin wie vorher.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
tcs_ulrich
Posts: 44
Joined: Mon Aug 28, 2017 10:11 am

Re: Path Workbench scripten

Post by tcs_ulrich »

Sowohl meie OPython als auch Freecad Kentnisse sind recht begrenzt :/
Lieg ich weit daneben, wenn ich glaube herausgefunden zu haben das die Gui das hier:
https://github.com/FreeCAD/FreeCAD/blob ... ui.py#L414
macht wenn man "hinzufügen" klickt im Dialog ?
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Path Workbench scripten

Post by microelly2 »

tcs_ulrich wrote: Mon Jan 14, 2019 6:46 am Sowohl meie OPython als auch Freecad Kentnisse sind recht begrenzt :/
Lieg ich weit daneben, wenn ich glaube herausgefunden zu haben das die Gui das hier:
https://github.com/FreeCAD/FreeCAD/blob ... ui.py#L414
macht wenn man "hinzufügen" klickt im Dialog ?
Das passt schon, aber von dort ist es noch ein weiter Weg bis zu den Properties die du ändern willst.
Ich würde sliptonic mal direkt ansprechen wegen eines Script Interface.
Ich könnte mir vorstellen, er hat automatische Testfälle, die du nutzen kannst.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Path Workbench scripten

Post by bernd »

tcs_ulrich wrote: Mon Jan 14, 2019 6:46 am Sowohl meie OPython als auch Freecad Kentnisse sind recht begrenzt :/
Lieg ich weit daneben, wenn ich glaube herausgefunden zu haben das die Gui das hier:
https://github.com/FreeCAD/FreeCAD/blob ... ui.py#L414
macht wenn man "hinzufügen" klickt im Dialog ?
poste doch mal ein file bei dem Du das Attribut mit der GUI gesetzt hast, und schreibst um welches Objekt und Attribut es sich handelt, das Du mit Python setzen willst.
chrisb
Veteran
Posts: 54174
Joined: Tue Mar 17, 2015 9:14 am

Re: Path Workbench scripten

Post by chrisb »

Du hast die richtige Stelle am Wickel.
Zum Überprüfen kannst Du zusätzliche Ausgaben einstreuen, in der Art

Code: Select all

        for sub in sel.SubElementNames:
            self.obj.Proxy.addBase(self.obj, sel.Object, sub)
            FreeCAD.Console.PrintLog("added something in PathOpGui\n")
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
tcs_ulrich
Posts: 44
Joined: Mon Aug 28, 2017 10:11 am

Re: Path Workbench scripten

Post by tcs_ulrich »

Hallo,

Die Datei ist im 3, Post von unten auf seite 2.
Das Objekt um das es geht ist Profile_Faces.Base und da sollen die Faces von ShapeString rein.
bernd wrote: Mon Jan 14, 2019 7:31 am
tcs_ulrich wrote: Mon Jan 14, 2019 6:46 am Sowohl meie OPython als auch Freecad Kentnisse sind recht begrenzt :/
Lieg ich weit daneben, wenn ich glaube herausgefunden zu haben das die Gui das hier:
https://github.com/FreeCAD/FreeCAD/blob ... ui.py#L414
macht wenn man "hinzufügen" klickt im Dialog ?
poste doch mal ein file bei dem Du das Attribut mit der GUI gesetzt hast, und schreibst um welches Objekt und Attribut es sich handelt, das Du mit Python setzen willst.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Path Workbench scripten

Post by bernd »

tcs_ulrich wrote: Mon Jan 14, 2019 8:42 am Hallo,

Die Datei ist im 3, Post von unten auf seite 2.
Das Objekt um das es geht ist Profile_Faces.Base und da sollen die Faces von ShapeString rein.
bernd wrote: Mon Jan 14, 2019 7:31 am
tcs_ulrich wrote: Mon Jan 14, 2019 6:46 am Sowohl meie OPython als auch Freecad Kentnisse sind recht begrenzt :/
Lieg ich weit daneben, wenn ich glaube herausgefunden zu haben das die Gui das hier:
https://github.com/FreeCAD/FreeCAD/blob ... ui.py#L414
macht wenn man "hinzufügen" klickt im Dialog ?
poste doch mal ein file bei dem Du das Attribut mit der GUI gesetzt hast, und schreibst um welches Objekt und Attribut es sich handelt, das Du mit Python setzen willst.
ja genau mit der Datei habe ich schon geteste. Jetzt bräuchte es genau die Datei bei der die faces mit der GUI schon drin sind, um zu wissen was denn das ziel des scripting ist. Ich kenne mich mit der Path GUI nicht aus.
tcs_ulrich
Posts: 44
Joined: Mon Aug 28, 2017 10:11 am

Re: Path Workbench scripten

Post by tcs_ulrich »

Sry, das hatt ich nicht verstanden :)
Hier sind jetzt vom Schriftzug die ersten 4 Faces drin (sollen natürlich später alle sein, aber ich denk das reicht ja als Beispiel oder ?)
Attachments
datron_faces.FCStd
(843.47 KiB) Downloaded 43 times
Post Reply