Hallo wertes Forenpublikum,
ich bin ein Einsteiger in ArchiCAD und arbeite mit Archicad 2012 StartEdition. In der GDL-Programmierung hapert es noch. Habe mir einen Quellcode, der mir ein Industriegeländer bastelt. Wenn das Geländer schräg im Raum liegt ist die Geländerlänge nicht mehr A, sondern ein winkelfunktionierter Wert. Muss ich Euch nicht erklären. Diesen Wert habe ich als Variable im Quellcode und möchte ich später bei der Objektauswertung direkt in der Liste sehen.
DA LIEGT MEIN PROBLEM. Wie übergebe ich diesen Wert?
_SchtLANGE heißt die Variable.
Bitte helft mir! (Die Mathematiker unter Euch mögen sich bitte das Lächeln über den ungekürzten und nicht zusammengefaßten Winkelfunktionswust sparen 🙂 )
In den Auswertungen gibt es "eigene Werte". Kann ich die benutzen?
Besten Dank vorab
und einen schönen Resttag.
Gruß Mario
aus dem 3D-script
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! SCHRÄGENBEREHCNUNG
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_SchtALPHA = ATN(_SchtHO / A)
!! TEXT2 0,0, STR(_SchtALPHA,8,5)
_SchtLANGE = SQR(_SchtHO*_SchtHO + A*A)
!! TEXT2 0,-1, STR(_SchtLANGE,8,5)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! HOTSPOTS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
HOTSPOT 0,0, 0+PFOSTENUNTEN
HOTSPOT 0,0,ZZYZX
HOTSPOT A / 2 ,0,ZZYZX + _SchtHO/2
HOTSPOT A / 2 ,0, 0+PFOSTENUNTEN + _SchtHO/2
HOTSPOT A,0,ZZYZX + _SchtHO
HOTSPOT A,0, 0+PFOSTENUNTEN + _SchtHO
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! PFOSTEN
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Eckpfosten setzen
DEL TOP
ADD Eckabstand, DELTAPfosten, PFOSTENUNTEN + (TAN(_SchtALPHA) * Eckabstand)
MATERIAL _MAT1
CYLIND ZZYZX + ABS (PFOSTENUNTEN)- HolmRADIUS/COS(_SchtALPHA), PFOSTENRADIUS
DEL TOP
ADD A-Eckabstand, DELTAPfosten, PFOSTENUNTEN + (TAN(_SchtALPHA) * (A - Eckabstand))
CYLIND ZZYZX + ABS (PFOSTENUNTEN)- HolmRADIUS/COS(_SchtALPHA), PFOSTENRADIUS
DEL TOP
!! Prüfen ob gerade oder ungerade GANZZAHL zwischen den Eckpfosten
_SCHTa = INT(A - 2 * Eckabstand)
! TEXT 0.1,0,STR (_SCHTa,8,2)
!! Prüfen ob bei Teilung durch 2 Rest bleibt
_SCHTb = FRA (_SCHTa / 2)
! ADD 0,0.1,0
! TEXT 0.1,0,STR (_SCHTb,8,2)
.
.
.