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
Posts: 7109
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Path Workbench scripten

Postby bernd » Sat Jan 12, 2019 11:58 am

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: 11
Joined: Sun Oct 30, 2016 12:56 pm
Location: Lippstadt/Deutschland

Re: Path Workbench scripten

Postby RalfG » Sat Jan 12, 2019 5:37 pm

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 191 times

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

Re: Path Workbench scripten

Postby chrisb » Sun Jan 13, 2019 12:33 am

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.
tcs_ulrich
Posts: 22
Joined: Mon Aug 28, 2017 10:11 am

Re: Path Workbench scripten

Postby tcs_ulrich » 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 ?
User avatar
microelly2
Posts: 4200
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Path Workbench scripten

Postby microelly2 » Mon Jan 14, 2019 7:23 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 ?
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
Posts: 7109
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Path Workbench scripten

Postby bernd » 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.
chrisb
Posts: 14108
Joined: Tue Mar 17, 2015 9:14 am

Re: Path Workbench scripten

Postby chrisb » Mon Jan 14, 2019 7:50 am

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")
tcs_ulrich
Posts: 22
Joined: Mon Aug 28, 2017 10:11 am

Re: Path Workbench scripten

Postby tcs_ulrich » 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.
User avatar
bernd
Posts: 7109
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Path Workbench scripten

Postby bernd » Mon Jan 14, 2019 9:14 am

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: 22
Joined: Mon Aug 28, 2017 10:11 am

Re: Path Workbench scripten

Postby tcs_ulrich » Mon Jan 14, 2019 9:28 am

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 2 times