abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Variable in Liste auswerten

dihes8010
Participant
Hallo Forum

habe gesucht aber nicht ausreichend gefunden.

bei meiner Möbelkollektion setze ich die Produktnummer aus verschiedenen Eingabeparametern zusammen.

das funktioniert im 2d-Script
die Variable "Ndtxt" die wird in folge auch korrekt in den Plan geschrieben.
NdTxt ist eine String-Variable zB "MxKt868", ...

wie kann ich diese Variable in einer Liste auswerten?
Dazu brauche ich offenbar das Parameterscript bzw. Eigenschaftenscript?
Damit die Variable für Listen sichtbar wird.

Danke für die Hilfe
9 ANTWORTEN 9
JensDD
Graphisoft Partner
Graphisoft Partner
man könnte die Variable als ausgeblendeten bzw. gesperrten Parameter anlegen, dann ist der in der Liste auswählbar. Allerdings solltest du da noch mal testen ob die Liste bei Änderungen im Objekt auch richtig aktualisiert wird.

vg jens
https://www.graphisoft-dresden.de
Anonymous
Nicht anwendbar
Schreib die Variable in einen Parameter.
Dazu schreibst Du im Master-Script:
myParam = NdTxt
im Parameter-Script:
PARAMETERS myParam = myParam
Dann kannst Du auf den Parameter in der Liestenauswertung zugreifen.
dihes8010
Participant
hallo Jochen

Danke, der Weg ist das Ziel, ...

myParam = NdTxt
im Masterscript
wirft die Fehlermeldung:
"Nicht initialisierte Variable ..."

Hinweise
NdTxt erzeuge und verwende ich einfach im 2D-Script ohne vorherige Definition
NdTxt = ndTyp + str(a/10,2,0) + str(b/10,1,0)

thx
Anonymous
Nicht anwendbar
Sorry, Du musst NdTxt nur im Master-Script definieren, das gilt dann für alle Scripte.
dihes8010
Participant
Danke für die Hinweise

Leider komme ich nicht klar.

1) Mein derzeitiger Wissensstand ist, dass ich eine Art globale Variable im Parameterscript machen muss - nach diesem Prinzip

Name,Typ,Beschreibung

NdTxt ="" ! reicht das?

2) danach ist es notwendig den COMPONENT Befehl zu nutzen, allerdings keine Ahnung wie genau.
Das bewirkt offenbar, dass ich die Variable in den Auswertungslisten sehe.

3) reicht es dann im 2d-Script, die Variable berechnen zu lassen
NdTxt = ....


thx
Anonymous
Nicht anwendbar
Also Du schreibst ins MAster-Script:
NdTxt = ndTyp + str(a/10,2,0) + str(b/10,1,0) (bitte nur im Master-Script, das reicht: das 2D-Script greift darauf zu)
myParam = NdTxt (wobei Du diesen Parameter als Textparameter erzeugst)
Im Parameter-Script: PARAMETERS myParam = myParam

Dann arbeitest Du doch wohl mit der interaktiven Auswertung, oder?
Dafür brauchst Du keinen Component-Befehl; den brauchst Du nur für die alten Listenauswertungen.

In der interaktiven Auswertung legst Du ein Listenschema für Objekte an und klickst in den Schema-Einstellungen unten links auf "zusätzliche Parameter", klickst Dich zu Deinem Objekt durch und wählst dort den Namen Deinen Parameters myParam aus.
dihes8010
Participant
Danke Jochen

das im Masterscript funktioniert

im Parameterscript habe ich die Fehlermeldung:

'MYPARAM' ist ungültig

weil das mittlerweile sehr einfach aussieht und deine Erklärung sehr klar ist, verstehe ich das nicht.

vielleicht gibts da noch was

wie ich das mittlerweile verstehe ist der Ausdruck im Parameterscript dafür zuständig, dass ich die Variable in der "interaktiven Auswertung" sehe.
mit den Listen komme ich sehr gut klar.

thx
Anonymous
Nicht anwendbar
Hast Du myParam als Parameter angelegt?
Wenn es den in der selben Schreibweise wie im Script gibt, sollte es nicht meckern.
dihes8010
Participant
Hallo Jochen

im Masterscript steht

myParam = NdTxt

so habe ich das verstanden und da klagt das Script auch nicht.