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

Arbeitn mit dem internen Parameter-Stack

Hmooslechner
Rockstar
Hat jemand ein einfaches Beispiel, wie man richtig mit dem im GDL eingebautem Stack arbeitet? (Put, Get, NSP)
Kann man das auch verschiedenen Variablen als Liste zuordnen und wieder auslesen?

Konkret will ich bei meinem kleinen Mini treppen-Tool eine 3D-Fläche generieren, ohne auf Transformationen des Koordinatensystems zurückgreifen zu müssen.

Dies hätte den Vorteil dass ich dann ohne Zwischenschritt direkt eine Morph-Fläche erzeugen könnte, zum in die Breite ziehen des Körpers. (oder gleich direkt einen 3D-Körper)

Was das Ding derzeit kann: http://youtu.be/d_zkxVCK4bg

Der 3D-Code sieht derzeit so (ungeordnet, durcheinander ) aus:


rotx 90

gosub 0 !! Grundeinstellungen



if Levelcatch=1 then

!!y2 = Geschßhöhe als Paramerer übernehmen
else
gosub 2 !! Punkt 2
!LIN_ x1, y1, 0, x2, y2, 0
endif





for i= 0 to Stufenzahl-1 !!!Stufen
lin_ 0,0,0, 0,ST_H,0
lin_ 0,ST_H,0, ST_B,ST_H,0
addx ST_B
Addy ST_H
Stiegenlaenge = Stiegenlaenge + ST_B
Stiegenhoehe = Stiegenhoehe + ST_H
next i !!!Ende Stufen




lin_ 0,0,0, 0,-BodenaufbauO,0 !!Oben zu Bodenaufbau
addy -BodenaufbauO
lin_ 0,0,0, 0,-DeckenDO,0 !!Oben zu Deckendicke - UK
lin_ 0,-DeckenDO,0, -AnpassO,-DeckenDO,0 !!Schnittkante DUK-Laufpl-UK
addx -AnpassO
addy -DeckenDO
Lin_ 0,0,0, -Stiegenlaenge-AnpassUx,-Stiegenhoehe-DiffOU ,0 !!Laufplatten - UK
del Stufenzahl*2+3

Lin_ 0,0,0, -AnpassO-AnpassUx, 0, 0
addx -AnpassO-AnpassUx
Lin_ 0,0,0, 0,-DH2_U, 0
del 1



end:









0: !!!!Grundeinstellungen

DEFINE STYLE "aa" "Arial", txtgr, 5, 0
STYLE aa
MATERIAL Glas
hsid=1
n=a/100
PunkteRauf1 = 0
PunkteRauf2 = 0
PunkteRauf3 = 0
PunkteRauf4 = 0
PunkteRauf5 = 0
PunkteRauf6 = 0
Stiegenlaenge = 0
Stiegenhoehe = 0


!!! Berechnung derüber das Schrittmaß

StufenZahlkomma = (y2-y1)/ST_Maxh
Stufenzahl = int(StufenZahlkomma*100)+1

ST_H = (y2-y1)/ Stufenzahl

ST_B = Schrittmass-2*(ST_H)

Winkel = atn(ST_h/ST_b)

!!!Laufplattendicke
LaufX = Laufplattendicke*sin(Winkel)
LaufY = Laufplattendicke*cos(Winkel)


!!Berechnung Schnittpunkt UK-Platte - UK Decke

DH1 = SQR((tan(Winkel)*Laufplattendicke)*(tan(Winkel)*Laufplattendicke)+Laufplattendicke*Laufplattendicke)
DH2 = BodenaufbauO+DeckenDO !!GesamtBodenaufbau oben
DH3 = DH2-DH1
AnpassO = tan(90-Winkel)*DH3 !!!Länge Horizontal DUK- Ende bis Laufplatten-unterkante

X_2 = sqr(AnpassO*AnpassO + DH3*DH3)
X_1 = DH1/tan(Winkel)
retour = X_1+X_2 !!Laufplatten - Unterkanten Rückschritt oben bis Schnittkante DUK
retourx = retour*cos(Winkel)
retoury = retour*sin(Winkel)

DH2_U = BodenaufbauU+DeckenDU !!Gesamtaufbau unten

!!!Differenz Deckengesamtdicke oben - Unten
DiffOU = DH2_U - DH2

StartSchnittpunkthoehe = Laufplattendicke / tan(Winkel)
DiffDUUK = DH2_U - StartSchnittpunkthoehe
AnpassUy = DiffOU*sin(Winkel)
AnpassUx = DiffOU*cos(Winkel)




return





2: !!! Punkt 2 - Höhe graphisch übernehmen


!!!X-Koordinate Punkt 2
hsid=hsid+1
HOTSPOT x2, 0, PunkteRauf2, hsid, y2, 1+128
hsid=hsid+1
HOTSPOT x2, -a/2, PunkteRauf2, hsid, y2, 3
hsid=hsid+1
HOTSPOT x2, y2, PunkteRauf2, hsid, y2, 2

!!!Y-Koordinate Punkt 2
hsid=hsid+1
HOTSPOT 0, y2, PunkteRauf2, hsid, x2, 1+128
hsid=hsid+1
HOTSPOT -a/2, y2, PunkteRauf2, hsid, x2, 3
hsid=hsid+1
HOTSPOT x2, y2, PunkteRauf2, hsid, x2, 2
hsid=hsid+1

!!!Punkt 2 zeichnen und schreiben
addx x2
addy y2
addz PunkteRauf2
if Nr_aus = 1 then text 0.001, 0, "2"
if Nr_aus = 1 then circle 0.05
lin_ 0,0,0, 0,0,-PunkteRauf2

del 3
return



AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
9 ANTWORTEN 9
Frank Beister
Advisor
Du findest eine umfangreiche Erklärung auf selfGDL. Du kannst es überall verwenden, wo numerische Variablen in Folge gefordert sind. (VALUES, POLY, PRISM...)

BTW: Deine Tutorials in Ehren, aber manches läßt sich schneller und treffender per Text plus Screenshot zeigen. V.a. wenn die Videos ungeschnitten sind, ist es für den Zuhörer mühsam zu sehen, ob die gesuchten Informationen darin vorkommen. Irgendwann tritt eine Sättigung ein, weil einiges zu langatmig ist. MHO.
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
Hmooslechner
Rockstar
Keine Angst vorm einen Tuts - die Herstellungs-Frequenz wird nun wohl deutlich geringer, weil ich in Kürze wesentlich mehr Stunden in meiner Tätigkeit als Lehrer halten muß/darf als bisher...
Ich bin halt ein Mensch der Fülle..

Danke für Deinen Link.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Ich bin gerade dabei mit Hilfe des GDL-Cookbooks - 2.48 dieses Problemchen zu lösen. Hab ganz vergessen, was bei mir alles so rumliegt. funktioniert schon ganz gut. Jetzt bin ich dabei mit zusätzlichen Hotlines jede Stufenkante anfassbar zu machen.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Ich versuche gerade, die aktuelle Geschoßhöhe für mein Stiegen-Tool auszuwerten, damit die Höhe gleich stimmt.

im 2D-Fenster funktioniert das hier gut:

y2 = GLOB_CSTORY_HEIGHT


Das gleiche im 3D-Script bringt ja bekanntlich nichts, weil es im 3D keine vernünftigen Werte liefert (selfGDL)..?!!?
Übers Masterscript gehts auch nicht.
Offenssichtlich wird 3D komplettgetrennt aufgebaut und sind 2D und 3D ganz getrennte Dinge - (gut und schlecht..)


Wie bekomme ich am einfachsten den Wert vom 2D ins 3D?

(Dann konnte man beim Einsetzten des Teiles schon automatisch die Geschoßhöhe übernehmen und bräuchte es gegebenenfalls im 3D oder schnitt nur anzupassen)
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Wer es ohne die automatische Geschoßhöhenanpassung versuchen möchte:

Ihr findet es in Archicad im Treppenwerkzeug oben links - suchen nach:

Einlaeufige Treppe Schnitt-3D_und_Interface_c

sobald es die Moderatoren bei den Bim-Components freigeschalten haben.

Meiner Meinung nach funktioniert diese Art Interface ganz gut.. Mal sehen was Ihr dazu schreibts.. 😁

und noch ein Nebensatz zum zwischen den Zeilen lesen...

BTW: Deine Tutorials in Ehren, aber manches läßt sich schneller und treffender per Text plus Screenshot zeigen. V.a. wenn die Videos ungeschnitten sind, ist es für den Zuhörer mühsam zu sehen, ob die gesuchten Informationen darin vorkommen. Irgendwann tritt eine Sättigung ein, weil einiges zu langatmig ist. MHO.


Danke für die emotionale Unterstützung 😁
(Und hier die 2. Zeile zum dazwischen lesen..)

Machs besser! rumkritisieren kann ich auch. Natürlich hast Du vollkommen recht mit der Langatmigkeit - aber nochmals - mach doch mit!
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
Lese die Geschosshöhen aller Geschosse aus. Prüfe das Home_Story (Nummer) deines Objektes und du hast die vermutliche Geschosshöhe deiner Treppe.
Hmooslechner
Rockstar
Danke ! Werd ich bald einbauen.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Lars - könntest Du Dich bitte etwas genauer ausdrücken?

GDL-Referenzhandbuch.pdf - Seite 267:

GLOB_HSTORY_HEIGHT Höhe des Ursprungsgeschosses
Ursprungsgeschoss - Geschoss, in dem das Objekt platziert wird
GLOB_CSTORY_ELEV Höhenlage des aktuellen Geschosses
= Aktuelle Geschossnummer - Ursprungsgeschossnummer
GLOB_CSTORY_HEIGHT Höhe des aktuellen Geschosses
= Aktuelle Geschossnummer - Ursprungsgeschossnummer
GLOB_CH_STORY_DIST relative Position des aktuellen Geschosses zum Ursprungsgeschoss
= Aktuelle Geschossnummer - Ursprungsgeschossnummer


Die Dinger funktionieren bei mir im 3D Script einfach nicht. (im 2D schon. aber er übernimmt mir diese Parameter leider nicht vom 2D ins 2D...)
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Mittlerweile bin ich bei Version g und habe auch noch Tronsolen - Anschlüsse und eine visuelle Kontrolle der Durchgangslichte eingebaut.

Derzeit arbeite ich an einer korrekten 2D-Darstellung mit Meter-Schnitt. Sobald das funktioniert, gibts ein neues Upload ans BimPortal.


Vorab: (Edu16-Version)
https://www.dropbox.com/s/94xr303d8ryyj6l/StiegenGDL%20mit%203D-Interface%2027.11.2012.pla
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen