Aufruf einer Klassen Eigenschaft als Variable in FreeCAD 0.16

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
funkenflug
User
Beiträge: 4
Registriert: Dienstag 22. März 2016, 17:36

Hallo Allerseits,
Ich schreibe (wurschtle) gerade an einem Makro innerhalb von FreeCAD 0.16
mein Problem ist wie ich die Eigenschaft einer Klasse mittels einer variablen abfrage in der entspechende Eigenschaften gespeichert sind?
Hier wären ein paar schlagworte oder ein Lösungsansatz ganz nett.

Es Ist ein Syntax-Problem meinerseits wie ich denke.

So sieht das aus!

Code: Alles auswählen

Python 2.7.8 (default, Nov 17 2014, 20:37:05) [MSC v.1800 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> print App.ActiveDocument.Spreadsheet.B15
1000.0
>>>
hiermit lese ich die Zelle B15 korrekt aus.

Ich wollte durch eine Schleife Ascii Buchstaben hochzählen und damit die Spalten wechseln bzw. die Zellen wechseln


Versucht habe ich den Aufruf über:

Code: Alles auswählen

>>> zelle=str("B15")
>>> print App.ActiveDocument.Spreadsheet.zelle

>>> print App.ActiveDocument.Spreadsheet.(zelle)

>>> x="B"
>>> y=15
>>> print App.ActiveDocument.Spreadsheet.x,y
>>> print App.ActiveDocument.Spreadsheet.(x,y)
Ich benötige hier mal ein Schlagwort nach dem ich suchen soll.

Danke Euch
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Schau dir mal die eingebaute Funktion "getattr" an.
funkenflug
User
Beiträge: 4
Registriert: Dienstag 22. März 2016, 17:36

__deets__ hat geschrieben:Schau dir mal die eingebaute Funktion "getattr" an.
Ich Danke Dir aber diese Funktion wird bei mir nicht zur Auswahl angeboten, zumindest nicht in der Klasse "Spreadsheet"
oder hast Du es aus der Version FCAD 0.17?
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hast du das mal *gesucht*? Python getattr? Das ist eine eingebaute Funktion und hat mit FreeCAD nichts zu tun.
funkenflug
User
Beiträge: 4
Registriert: Dienstag 22. März 2016, 17:36

__deets__ hat geschrieben:Hast du das mal *gesucht*? Python getattr? Das ist eine eingebaute Funktion und hat mit FreeCAD nichts zu tun.
Ist ja schwarze Magie

danke Dir
es ist gelöst!

Hier für alle mit einem gleichen Problem!

Code: Alles auswählen

x="B15"
>>> getattr(App.ActiveDocument.Spreadsheet,x)
1000.0
Antworten