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

Absolute Höhe Fenster

graber
Advocate
Hallo,

Wie komme ich zur Absoluten Höhe eines Fensters (oder einer Tür)
Glob_elevation gibt mir nur die Höhe von der Unterkante Wand an.

Danke
17 ANTWORTEN 17
zzyzx
Newcomer
also mit diesen etiketten hab ich mich bisher noch nicht auseinandergesetzt. grundsätzlich sollte man natürlich mal testen, ob die sache im fenster selbst überhaupt funktioniert. das hab ich mal gemacht, hier das ergebnis: funktioniert einwandfrei!
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">!!! 2d testfenster mit absoluthöhenanzeige by zzyzx

! fnt = "Arial" ! Schriftart
! siz = 2 ! Schriftgrösse (mm)
! nks = 3 ! Nachkommastellen
! ptx = 6 ! Stiftfarbe Text

define style "txtsty" fnt, siz, 8, 0
style "txtsty"
loesch=request("Height_of_style", "txtsty",zh) ! ermitteln der zeilenhöhe
zh2= zh*a_/1000 ! massstabsanpassung
pen ptxt

zabs = WALL_POSITION[3] + SYMB_POS_Y
zrel = SYMB_POS_Y

text2 0,zh2, "z relativ = "+STR(zrel, nks + 1, nks)
text2 0,0, "z absolut = "+STR(zabs, nks + 1, nks) also ist das problem das durchreichen des parameters (wie vermutete)
nur: etiketten sind nicht grad mein gdl-spezialgebiet, vielleicht kann ja andreas noch was dazu sagen 😉
graber
Advocate
Bitte erklärt mir doch mal wie der Befehl request("assoclp_parvalues",...) funktioniert. Es gibt da nämlich vielleicht doch einen absoluten Parameter in den Fenstern: nämlich: gs_non (Sturzunterkante) wenn ich diesen in den Marker bekäme...
graber
Advocate
ähem, mein irrtum: vergesst meinen letzten beitrag. das mit der Sturzunterkante (gs_non) stimmt so überhaupt nicht. Zurück zum Start:
Übrigens scheint wall_position[3] bei Etiketten zu funktionieren... ???
Frank Beister
Advisor
OK. Das war nur eine Idee. 😞

Scheint nicht durchgereicht zu werden. Per Request können offensichtlich auch keine globalen Werte abgefragt werden.

Auf die Schnelle habe ich da keine weiter Idee. Die Marker scheinen so angelegt zu sein, daß ihnen beim Verändern der Fenster ausgewählte globale Parameter übergeben werden. Welche und wie funktioniert wohl intern ohne Zugriff des GDL-Programmierers. GLOB_ELEVATION des Fensters wird z.B. als ac_glob_elevation durchgereicht und funktioniert. Auch an das Durchreichen von Wand-Eigenschaften wurde gedacht, aber nur an eine: WALL_THICKNESS als ac_wall_thickness.

Für auf der Geschoßebene stehende Fenster ist wohl

GLOB_HSTORY_ELEV + ac_glob_elevation

eine Näherung.

Sieht sonst nach Satz mit X aus. Also GANZ DRINGEND auf die Wunschliste damit!

Ich programmiere übrigens wenn es geht meine Marker ins Fensterobjekt. Ich muß zum Einstellen den Fensterdialog ohnehin öffnen. Allerdings kann ich sie dann nicht über die Reinzeichnungseinstellungen ausblenden. Aber dieser Einstellungszustand ist auch nicht abfragbar. So wie z.B. die Einstellung zur Darstellung von Schraffuren: REQUEST ("Constr_Fills_display", "", optionVal)

Zur Verdeutlichung ein Skript für ein Markerobjekt zum Testen:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">s=-0.2

text2 0,0,WALL_POSITION[3]

text2 0,s,GLOB_WORLD_ORIGO_OFFSET_X

text2 0,2*s,GLOB_HSTORY_ELEV

text2 0,s*3,ac_glob_elevation

text2 0,s*4,SYMB_POS_Y

re_fire=REQUEST ("ASSOCLP_PARVALUE", "WALL_POSITION[3]", nameind_fr, type_fr, flag_fr, dim1_fr, dim2_fr, val_fr)
text2 0,s*5,val_fr

[ 07. April 2005, 12:10: Beitrag editiert von: Frank Beister ]
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
graber
Advocate
man könnte natürlich im fenster einfach einen neuen paramter hinzufügen der die wall_position[3] abfragt, und anschließen ebendiesen abfragen.
Aber ich will ja nicht alle Fenster editieren und ändern müssen...
Frank Beister
Advisor
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">man könnte natürlich im fenster einfach einen neuen paramter hinzufügen der die wall_position[3] abfragt:) Nette Idee, aber so einfach geht es wohl nicht. Auch wenn die Parameternamen sehr ähnlich sind, wird AC deine händisch eingefügten Parameter (z.B. AC_WALL_POSITION) nicht mit den Werten des Fensters versorgen. Das ist schlicht nicht vorgesehen. Das meinte ich mit "außerhalb des Zugriffs für GDL-Programmierer".
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
graber
Advocate
leider wahr...
Anonymous
Nicht anwendbar
Hab mal Wnddurchbrüche mit absoluten Hühen programmiert mit:
Glob_Elevation =(J_)= Höhe Fenster über UK Wand
und
WALL_POSITION[3] = Globale Position des Anfangspunktes der Wand, wobei 3 für dir z koordinate steht