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

Anfänger in GDL bitte hilfe!

Anonymous
Nicht anwendbar
Ich habe einen Lichtschacht erstellt... welche Werte muss ich in Variablen ändern, um die Länge und Breite zu ändern?

Hier das Skript:

 !
! Name : Ohne Titel.gsm
! Datum : Montag, 02. Februar 2009
! Version : 12.00
! Geschrieben von ArchiCAD
!

mulx A/ 1.5
muly B/ 0.6
mulz ZZYZX/ 1.3
add 5.551115123126E-17, 1.110223024625E-16, 0.15
body -1
model solid
resol 36
GLOB_SCRIPT_TYPE = 3
GLOB_CONTEXT = 3
GLOB_SCALE = 100
GLOB_NORTH_DIR = 90
GLOB_DRAWING_BGD_PEN = 19
GLOB_FRAME_NR = -1
GLOB_EYEPOS_X = -17.93270483016
GLOB_EYEPOS_Y = -0.8596830448271
GLOB_EYEPOS_Z = 8.904789464968
GLOB_TARGPOS_X = 9.81919277809
GLOB_TARGPOS_Y = 12.37276053568
GLOB_TARGPOS_Z = 2.880169464968
GLOB_SUN_AZIMUTH = 270
GLOB_SUN_ALTITUDE = 45
GLOB_HSTORY_HEIGHT = 2.95
resol 36
!!Wand-001
pen 1
GLOB_LAYER = "01 Aussenwaende"
GLOB_ID = "Wand-001"
GLOB_INTGUID = "EEDED54B-ACC8-5446-A39B-5C5BABCB7048"
group "group_D7765337_03EB_974C_9D53_738D18F68152"
add 0.12, 1.100491318242E-17, -0.15
rotz 90
rotz -90
add -0.12, -1.100491318242E-17, 0.15
del 2
xwall_{2} "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
1.3, 0, 0.6, 0.6, -1.83527939773E-17, 0, 9.225055520568E-17, 0.12, 0.12, 0.12, 0,
0, 0,
15, 15, 15, 15,
0,
0
del 2
endgroup
group "group_BA046AAA_D415_AB46_86B8_8AEF10F1FA72"
add 0, 0, -0.15
cprism_ "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
5, 1.3,
-5.551115123126E-17, 0.6, 15,
0.12, 0.48, 15,
0.18, 0.54, 15,
0.06, 0.66, 15,
-5.551115123126E-17, 0.6, 15
del 1
endgroup
set material "Verputz, glatt, weiß"
result_55C8A6F5_92FA_7849_80ED_A04E075BF23A = subgroup ("group_D7765337_03EB_974C_9D53_738D18F68152", "group_BA046AAA_D415_AB46_86B8_8AEF10F1FA72")
killgroup ("group_BA046AAA_D415_AB46_86B8_8AEF10F1FA72")
add 0.12, 1.100491318242E-17, -0.15
rotz 90
del 2
placegroup (result_55C8A6F5_92FA_7849_80ED_A04E075BF23A)
body -1
add 0.12, 1.100491318242E-17, -0.15
rotz 90
del 2
killgroup (result_55C8A6F5_92FA_7849_80ED_A04E075BF23A)
killgroup ("group_D7765337_03EB_974C_9D53_738D18F68152")
resol 36
!!Wand-002
GLOB_ID = "Wand-002"
GLOB_INTGUID = "5E7823F2-1B06-394A-BFE9-33EC41DAFFE1"
group "group_4B170815_190C_304D_B4C0_FA1D7C137450"
add -5.502456591209E-17, 0.48, -0.15
add 5.502456591209E-17, -0.48, 0.15
del 1
xwall_{2} "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
1.3, 0, 1.5, 1.5, 0, 0, 0, 0.12, 0.12, 0.12, 0,
0, 0,
15, 15, 15, 15,
0,
0
del 1
endgroup
group "group_2D7B1D65_187E_364C_8CF0_BCA47ED715CC"
add 0, 0, -0.15
cprism_ "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
5, 1.3,
0.12, 0.48, 15,
-5.551115123126E-17, 0.6, 15,
-0.06, 0.54, 15,
0.06, 0.42, 15,
0.12, 0.48, 15
del 1
endgroup
result_B525E0AE_3ECB_D548_9120_51EFAE1BEB1B = subgroup ("group_4B170815_190C_304D_B4C0_FA1D7C137450", "group_2D7B1D65_187E_364C_8CF0_BCA47ED715CC")
killgroup ("group_2D7B1D65_187E_364C_8CF0_BCA47ED715CC")
group "group_5D090D75_C906_2749_94CF_8B23C891C1A1"
add 0, 0, -0.15
cprism_ "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
5, 1.3,
1.5, 0.6, 15,
1.38, 0.48, 15,
1.44, 0.42, 15,
1.56, 0.54, 15,
1.5, 0.6, 15
del 1
endgroup
result_496C1DE0_C75B_D24E_9511_C199664F2D9A = subgroup (result_B525E0AE_3ECB_D548_9120_51EFAE1BEB1B, "group_5D090D75_C906_2749_94CF_8B23C891C1A1")
killgroup ("group_5D090D75_C906_2749_94CF_8B23C891C1A1")
add -5.502456591209E-17, 0.48, -0.15
del 1
placegroup (result_496C1DE0_C75B_D24E_9511_C199664F2D9A)
body -1
add -5.502456591209E-17, 0.48, -0.15
del 1
killgroup (result_496C1DE0_C75B_D24E_9511_C199664F2D9A)
killgroup ("group_4B170815_190C_304D_B4C0_FA1D7C137450")
killgroup (result_B525E0AE_3ECB_D548_9120_51EFAE1BEB1B)
resol 36
!!Wand-003
GLOB_ID = "Wand-003"
GLOB_INTGUID = "A0393A5F-25F5-3E42-8F3D-275F752DE0A5"
group "group_5B69F02E_392E_9D40_90BF_F15D92C4B0FD"
add 1.38, 0.6, -0.15
rotz 270
rotz -270
add -1.38, -0.6, 0.15
del 2
xwall_{2} "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
1.3, -0, 0.6, 0.6, -2.204364238465E-17, 0, 1.102182119233E-16, 0.12, 0.12, 0.12, 0,
0, 0,
15, 15, 15, 15,
0,
0
del 2
endgroup
group "group_9D7E0A20_60A6_A74E_8736_34B2D71892DF"
add 0, 0, -0.15
cprism_ "Verputz, glatt, weiß", "Verputz, glatt, weiß", "Verputz, glatt, weiß",
5, 1.3,
1.38, 0.48, 15,
1.5, 0.6, 15,
1.44, 0.66, 15,
1.32, 0.54, 15,
1.38, 0.48, 15
del 1
endgroup
result_389C3202_1D6A_ED41_83A5_DB34125CDB6A = subgroup ("group_5B69F02E_392E_9D40_90BF_F15D92C4B0FD", "group_9D7E0A20_60A6_A74E_8736_34B2D71892DF")
killgroup ("group_9D7E0A20_60A6_A74E_8736_34B2D71892DF")
add 1.38, 0.6, -0.15
rotz 270
del 2
placegroup (result_389C3202_1D6A_ED41_83A5_DB34125CDB6A)
body -1
add 1.38, 0.6, -0.15
rotz 270
del 2
killgroup (result_389C3202_1D6A_ED41_83A5_DB34125CDB6A)
killgroup ("group_5B69F02E_392E_9D40_90BF_F15D92C4B0FD")


Brauche wirklich Hilfe! Habs schon mit einlesen funktioniert aber es bringt nichts!

Thx euch Freaks!
6 ANTWORTEN 6
poeik
Ace
Ich will dir ja nicht die Motivation am GDL-Programmieren nehmen. Aber warum nimmst du nicht einfach einen Lichtschacht aus der Standardbib.?

Wenn ich "dein" Script richtrig anschaue, willst du unterschiedliche Wandstärken seitlich und vorne? Geht mit dem "Lichtschacht_einfach 12" sehr einfach.

- Öffne das Objekt und speichere es gleich unter neuem Namen in deine Bürobib.

- Füge einen neuen Parameter ein:
Variable: stv
Typ: Länge
Name: Stärke vorne
Wert: 10 (bzw. deine gewünschte Wandstärke)
- Ersetze im 3D-script überall "b-st" durch "b-stv". Das script sieht dann so aus:



 ! saut-loup

if git=0 then goto 10

material matg

add -a/2+st,0,zzyzx-0.02

rect a-2*st,b-stv

del 1


10:

material mat

prism 8, zzyzx,
-a/2, 0,
-a/2+st, 0,
-a/2+st, b-stv,
a/2-st, b-stv,
a/2-st, 0,
a/2, 0,
a/2, b,
-a/2, b


end
- speichern, Fertig!


Gruss, poeik
ArchiCAD CHE 5 - 27 - Windows 10
Anonymous
Nicht anwendbar
Ja aber ich habe den Lichtschacht aus 3 Wänden gezeichnet und dann als Objekt abgespeichert. Das geht doch eigentlich!

Aber ich will GDL wirklich lernen, aber mit dem Handbuch bist du da aufgeschmissen, weil das meiner Meinung nach nicht gut ist!

Wie habt ihr das gelernt? Wenn möglich alle Hilfen Freeware!

Joy
poeik
Ace
GDL ist eine Programmiersprache, ähnlich Basic. Du hast nicht Programmzeilen geschrieben, sondern sie von Archicad automatisch erstellen lassen. Natürlich geht das. Nur kommt dabei ein Script raus, dass ohne jegliche Vereinfachung Polygon an Polygon reiht, bis alle Flächen deines Objekts beschrieben sind. Wenn du mal die Zeilen von deinem und meinem Script anschaust, siehst du schon anhand der Textlänge, dass da Welten dazwischen liegen. Ganz abgesehen davon, dass in meinem Script mehrere Parameter individuell eingestellt werden können. Dein ganzes Script wird bei mir eigentlich ersetzt durch:

 material mat

prism 8, zzyzx,
-a/2, 0,
-a/2+st, 0,
-a/2+st, b-stv,
a/2-st, b-stv,
a/2-st, 0,
a/2, 0,
a/2, b,
-a/2, b


Also ein achteckiges Prisma mit der Höhe "zzyzx" und dem Material "mat". Die acht Eckpunkte des Prismas sind durch die Koordinaten "-a/2, 0" usw. definiert.

Wenn du GDL wirklich lernen willst, gibt es einen Gratis-Onlinekurs:
http://www.archiservice.at/GDL-Onlinekurs
Oder, wenn ich Jochen Suehlo zitieren darf "Beginnen würde ich mit "GDL Objekterstellung mit ArchiCAD" von David Nicholson Cole oder das später erschienene "Intro to Object Making" vom selben Autor. (Beide kostenlos für ArchiCAD-Lizenzinhaber als PDF erhältlich).
Wenn man es "ernst" meint, kann man auch gleich das GDL-Kochbuch erwerben, was zum Erlernen sehr geeignet ist.

Ich habe übrigens GDL nie richtig gelernt, aber habe am Anfang des PC-Zeitalters mal etwas Basic auf dem sagenhaften Commodore64 ausprobiert. Für den Alltag reicht dein Methode meistens. Die Standard-Werkzeuge wurden soweit verbessert, dass heute schon fast jede Form so erstellt werden kann. Nur wenn es etwas komfortabler mit Variablen gehen soll, oder organische Formen benötigt werden kann es mal nützlich sein. Viele Objekte wie Fenster, Raumstempel etc. in AC sind inzwischen so kompliziert, dass nur noch Profis da den Durchblick haben, oder gar etwas daran ändern können.

Gruss, poeik
ArchiCAD CHE 5 - 27 - Windows 10
Anonymous
Nicht anwendbar
Hallo!

Also ich will auch gerade GDL - programmieren lernen, und finde, das was in diesem Onlinekurs gelernt werden kann ja alles schön und recht, aber in der Vertiefung geht das auf keinen Fall. Da würde ich schon eher das GDL Kochbuch empfehlen!

Bezüglich dem Handbuch was GDL betrifft, kann ich nur sagen, das Klaus zu 100% recht hat!

Lg Stefan :winken:
Anonymous
Nicht anwendbar
Hier finde ich mich eigentlich sehr gut zurecht!

Lg Stefan :winken:
Anonymous
Nicht anwendbar
GDL braucht einige Übung und viel Zeit. Mit probieren gehts auch, allerdings wird das zu einigen Verirrungen führen.
Ich würde nach den ersten Schritten das GDL Kochbuch empfehlen. Da ist nach einigen Vorügungen in den ersten Kapiteln beschrieben wie ein GDL-Skript strukturiert werden sollte. Das ist neben dem Arbeiten mit Parametern (Variablen) meiner Meinung nach der Schlüssel für eine gute und erfolgreiche GDL-Programmierung.
Die Einzelbefehle sind dann relativ schnell gelernt.

Und hier noch ein ganz grosses Dankeschön an die Verfasser von selfGDL. Ein hervorragendes Nachschlagewerk für die einzelnen Befehle. Sehr aktuell, verständlich, übersichtlich und hilfreich :yeah: