Arbeitn mit dem internen Parameter-Stack

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-18 02:04 PM
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
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-18 02:58 PM
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.

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-18 04:34 PM
Ich bin halt ein Mensch der Fülle..
Danke für Deinen Link.

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-19 09:37 AM

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-20 10:03 AM
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)

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-20 10:40 AM
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!
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-20 11:19 AM

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-20 02:16 PM

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-20 03:40 PM
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...)

- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2012-11-27 05:23 PM
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