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

Parametersteuerung im Masterscript

snow
Ace
Hallo zusammen,

also, ich hab' das prinzipiell schon erfolgreich hinbekommen... aber jetzt funktjoniert weider was nicht... und ich weiß g'rad nicht, wo ich die Regeln nachschauen kann.

Ich will % eingeben können, um ROT... zu steuern.

Entweder ich schreib' die Formel nicht richtig, oder es liegt an etwas anderem...
... und ich weiß dann auch wieder nicht, was Vorfahrt hat, wenn ich die Eingabe von % und Winkel "offen" hab'.

berg=ATN(stg/10000)
ARCHICAD for Future
______________________________________

archicad versions 8-27 | mac os 13 | win 10
23 ANTWORTEN 23
runxel
Legend
Winkel in Prozent = tan(Winkel in Grad) * 100
Winkel in Grad = atan(Winkel in Prozent / 100)

Willst du sowohl die Neigung in Prozent, als auch in Grad eingeben können?
Dann musst du GLOB_MODPAR_NAME abfragen und jeweils das andere berechnen.
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»
snow
Ace
Ja, grundsätzlich funktsjoniert das doch so.

Bin gestern mit Metern und Zentimetern etwas durcheinandergekommen... daher bei mir 10.000 in der Formel... und / oder ich hatte mich irgendwo vertippt.

In GDL wird bei dem Arcustangens ein 'a' weggelassen, dann also so:

Winkel = atn("Prozentangabe"/100)

Das mit dem GLOB_MODPAR_NAME klingt interessant.
Ich weiß aber den Syntax einer Abfrage derzeit noch nicht...

Ließe sich mit dem Code denn die Drehung dann auch wieder graphisch steuern?
(Sonst, scheint das die Formel im Masterscript ja zu verhindern.)
ARCHICAD for Future
______________________________________

archicad versions 8-27 | mac os 13 | win 10
runxel
Legend
"Achmed" wrote:

In GDL wird bei dem Arcustangens ein 'a' weggelassen

Das mit dem GLOB_MODPAR_NAME klingt interessant.
Ich weiß aber den Syntax einer Abfrage derzeit noch nicht...

Ließe sich mit dem Code denn die Drehung dann auch wieder graphisch steuern?
(Sonst, scheint das die Formel im Masterscript ja zu verhindern.)


Indeed, da hatte sich noch ein 'a' eingeschlichen, "atn" heißt die Zuckerschnitte.

GLOB_MODPAR_NAME ist keine Abfrage, sondern eine Globale, die einen String liefert, und zwar den Namen des Parameters, der zuletzt bearbeitet wurde. Du machst also eine IF-Schleife mit Vergleich der Globale und des Parameters. Dann berechnest du in der Schleife den Counterpart und spielst das Ergebnis mit PARAMETERS wieder zurück. Ganz einfach eigentlich.

Die graphische Steuerung machst du ja dann im 2D/3D Script. Spricht nix gegen.
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»
snow
Ace
o.k. o.k. also wirklich ganz einfach. 😉

Ich begreife nur nicht, was es dann zu berechnen gibt, und wo die Sachen dann stehen müssen.
Tatsächlich diesmal im Parameterskript ? (üblicherweise werden Parameter ja im Masterskript gesteuert... wie mir scheint...)

Aber ob dann das mit der graphischen Steuerung (wieder) funktioniert?
Es ist ja offenbar so, dass wenn der Parameter berechnet wird (in meinem Fall also der Winkel für die Drehung) dass sich dieser dann nirgends wirkungsvoll manuell eingeben lässt, eben auch nicht über ein Hotspot-Set
ARCHICAD for Future
______________________________________

archicad versions 8-27 | mac os 13 | win 10
runxel
Legend

Ich begreife nur nicht, was es dann zu berechnen gibt, und wo die Sachen dann stehen müssen.
Tatsächlich diesmal im Parameterskript ? (üblicherweise werden Parameter ja im Masterskript gesteuert... wie mir scheint...)

Aber ob dann das mit der graphischen Steuerung (wieder) funktioniert?
Es ist ja offenbar so, dass wenn der Parameter berechnet wird (in meinem Fall also der Winkel für die Drehung) dass sich dieser dann nirgends wirkungsvoll manuell eingeben lässt, eben auch nicht über ein Hotspot-Set


Klar kann man das auch im Masterscript machen. Auf die Vor- und Nachteile geh ich jetzt mal nicht ein. Wenn du nicht weißt, warum du das im Master machen solltest, dann ist es vermutlich für dich übersichtlicher und nachvollziehbarer, die Parameter auch im gleichnamigen Skript zu berechnen.

Im 2. Absatz versteh mal wieder nicht, was dein Problem ist?! 😐
War das eine konkrete Frage oder nur Spekulation?
Die Berechnung findet ja nicht kontinuierlich, sondern nur in der Schleife statt, wenn die Bedingung GLOB_MODPAR_NAME = "meinRotationsparameterInProzent" erfüllt ist.
Es gibt keine Hinderung, den Parameter "meinRotationsparameterInGrad" graphisch direkt mit einem Hotspot zu steuern.
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»
snow
Ace
Vielen Dank für die ganzen Mühen mit mir!
...
Im 2. Absatz versteh mal wieder nicht, was dein Problem ist?! 😐
War das eine konkrete Frage oder nur Spekulation?...
Die Frage ist einfach die, ob die Hotspot-Steuerung nur dann (wieder) funktionieren wird, wenn die Sache mit GLOB_MODPAR_NAME eingebaut ist.

Mit der aktiven "einfachen" Berechnung gibt, lässt sich graphisch nichts mehr drehen.
ARCHICAD for Future
______________________________________

archicad versions 8-27 | mac os 13 | win 10
runxel
Legend
Die Frage ist einfach die, ob die Hotspot-Steuerung nur dann (wieder) funktionieren wird, wenn die Sache mit GLOB_MODPAR_NAME eingebaut ist.

Mit der aktiven "einfachen" Berechnung gibt, lässt sich graphisch nichts mehr drehen.


Ja, das sollte klar sein, denn ohne die Abfrage von GLOB_MODPAR_NAME würde dein GDL immer wieder kontinuierlich brav die Prozent in Grad umrechnen. Und wenn du jetzt den Hotspot an den Grad-Parameter bindest, naja dann beißt sich das eben – der Hotspot verliert.
Das bekommst du nur so wie beschrieben in den Griff. Probiers doch mal aus! (:
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»
Frank Beister
Advisor
PARAMETERS und GLOB_MOD_PARA gehören übrigens ins Parameter Skript und nicht ins Masterskript. Dann musst du deine Berechnung auch aus dem Master rausnehmen. Das funktioniert.
Immer, wenn du einen Parameter änderst, ob im Grundriss oder Dialog, wird danach (!) das Parameter Skript abgearbeitet. Wenn darin der jeweils andere Parameter aktualisiert wird, steht er für den anschließenden graphischen Rebuild korrekt zur Verfügung.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
snow
Ace
Ich mach' euch mal wieder Mühe... Bis jetzt funktsjonierts leider nicht.

Ich schreibe zuerst:

Winkel = ATN(Steigungshöhe/100) ?

Dann Frage ich, ob die Steigungshöhe zuletzt geändert wurde.
Falls ja, soll der %-Wert geschrieben werden.

PARAMETERS
Steigungshöhe = TAN(Winkel)*100
ELSE
ENDIF

Passiert aber nichts.
Parameter 'Steigungshöhe' ist tot.

Nur den Winkel kann ich eingeben, oder hotspotten.

Ah... es gibt nun doch einen Fehler im Paramter-Script... wird gemeldet... nur nicht welcher
ARCHICAD for Future
______________________________________

archicad versions 8-27 | mac os 13 | win 10