abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

Lichtschacht für Wandzubehör-Addon

Hmooslechner
Moderator
Weil es nicht nur in die Wunsch-Sektion gehört, sondern auch in die GDL-Sektion hier im Forum:

Ich habe mal die Grundstruktur für ein GDL geschaffen, wie man Lichtschächte einigermaßen automatisiert an die Kellerwände hängen kann.

Dazu habe ich ein von Graphisoft vorgegebenes Zubehör-Addon für die Wand - ein Wand-GDL abgeändert, weil ich von den Regeln und Funktionen des Addons leider keine Ahnung haben kann - weil das Graphisoft nicht wirklich dokumentiert. Also - eine primitive Form des Reverse-Engeneerings angewandt.

Ich habe den 3D-Script fast völlig entfernt und nur im Masterscript herausgefunden, wie die Koordinatenwerte der Wandöffnungen heissen.

Dann habe ich diese Werte in meinem sehr rudimentären Code für einfachste Lichtschächte verwendet, die dann wegen des Addons aber brav am Fenster und Türöffnungen hängen.

Dazu habe ich einen editierbaren Hotspotschalter im 2D und 3D eingefügt, um den einzelnen Lichtschacht aus und einschalten zu können.

Die Maße habe ich im einen zusätzlichen Wert für die Innenvergrößerung des Lichtschachtes um die Breite und Tiefe vergrößert.

Dann führe ich 2 Gruppen ein, die ich voneinander abziehe, um die primitive Schachtel des LS herzustellen.

Das Problem dabei: Gruppennamen dürfen nur einmal vorkommen. Da aber der Lichtschacht je wand öfter vorkommen kann, habe ich einen sich jedesmal ändernden Gruppennamen herstellen müssen.

Bisher funktioniert mein System brav.

in 25 Min online:




https://www.youtube.com/watch?v=F9WWsk2WFuQ

(Jetzt kommt der Wind - ich muss aufs Wasser)
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
23 ANTWORTEN 23
Ma_Scht
Advocate
Herr Mooslechner,
flippig! Danke sehr!
Den Link bitte!

Und, wie war's auf dem Wasser?
Segler, Surfer oder GegendenWindrundernLiebender?

Gruß
Hmooslechner
Moderator
Am Wasser wars so: (nicht von gestern, aber the same..)

https://www.youtube.com/watch?v=HP65V_Lj4Z0

oder so:

https://www.youtube.com/watch?v=M8_apYPbb8Y

oder so:

https://www.youtube.com/watch?v=HzYzJV1YWIM

Zurück zum Thema:

Bei schräg anschließenden Wänden übergibt mir das Addon zusätzliche Löcher rein, wo die Überschneidungen über Eck tief in meine Wand eingreifen würden und da setzt mein GDL dann zusätzliche Lichtschächte ein. In meinem Vid bei 2:35. Mir ist noch nicht ganz klar, wie ich das verhindern soll - muss ich wohl mit irgendeiner Drehwinkelabfrage lösen.

Den link gibts, wenn es problemloser funktioniert.

Wer trotzdem schon damit rumspielen will:

Einfach eines der mitgelieferten GDLS vom Addon öffnen und im 3D-script alles raus und das hier rein:


if ac_refSide then
mul2 1,-1
else
mul2 1,1
endif

building_material WandmaterialLS

rotx 90
if wd_num<>0 then

for i=1 to wd_num

!!! Weil sich wiedeholende Namen in Groups nicht gehen - hier sich ändernden Namen initiieren:
Lochname = "Innenloch" + str(i, 3, 1)
Formname = "Form" + str(i, 3, 1)
! Lichtschachtname = "LS" + str(i, 3, 1)


!!! Ein-Ausschalter
addx wd_hole_poly[i][1]+(wd_hole_poly[i][3]-wd_hole_poly[i][1])*0.5
addy wd_hole_poly[i][2]+(wd_hole_poly[i][4]-wd_hole_poly[i][2])*0.5
addz 1

hotspot 0, 0, 0, unID, EINAUS[i], 1+128 : unID=unID+1
hotspot 0, -1, 0, unID, EINAUS[i], 3 : unID=unID+1
hotspot 0, EINAUS[i], 0, unID, EINAUS[i], 2 : unID=unID+1

del 3


!!!! Eigentlichen Lichtschacht darstellen:
if EINAUS[i] = 1 then

group Lochname
addx wd_hole_poly[i][1]-Breiter
addy wd_hole_poly[i][2]-Tiefer

!! Hier kommt der Funktionsaufruf für verschiedene Lichtschächte rein.
block wd_hole_poly[i][3]-wd_hole_poly[i][1]+Breiter*2, wd_hole_poly[i][4]-wd_hole_poly[i][2]+ Tiefer+ Heoher, Innenbreite

del 2
endgroup


Group Formname
addx wd_hole_poly[i][1]-Breiter-Wandbreite
addy wd_hole_poly[i][2]-Tiefer-Wandbreite

!! Hier kommt der Funktionsaufruf für verschiedene Lichtschächte rein. Wandbreite
block wd_hole_poly[i][3]-wd_hole_poly[i][1]+Breiter*2+ Wandbreite*2, wd_hole_poly[i][4]-wd_hole_poly[i][2]+ Tiefer+ Heoher+ Wandbreite, Wandbreite +Innenbreite

del 2
endgroup

Lichtschacht = subgroup(Formname, Lochname)

placegroup Lichtschacht !!!! Eigentliche Lichtschachtform
killgroup Lichtschacht
killgroup Formname
killgroup Lochname



else !!!! Eigentlichen Lichtschacht darstellen Ende



!! warum ein Else? Weil immer ein letztes Element Da sein muss, sonst kann man das Element nicht mehr anklicken und ändern
addx wd_hole_poly[i][1]+(wd_hole_poly[i][3]-wd_hole_poly[i][1])*0.5
addy wd_hole_poly[i][2]+(wd_hole_poly[i][4]-wd_hole_poly[i][2])*0.5
addz 1
circle 0.1
del 3

endif

next i !!for i=1 to wd_num

else

endif !!! if wd_num<>0 then

del 1 !! mul2 1,1




end



im 2D-Script alles raus und das hier rein:

project2 3, 270, 2



if wd_num<>0 then

for i=1 to wd_num


add2 wd_hole_poly[i][1]+(wd_hole_poly[i][3]-wd_hole_poly[i][1])*0.5, wd_hole_poly[i][2]+(wd_hole_poly[i][4]-wd_hole_poly[i][2])*0.5
rot2 180
add2 0, 2

hotspot2 0, 0, unID, EINAUS[i], 1+128 : unID=unID+1
hotspot2 0, -1, unID, EINAUS[i], 3 : unID=unID+1
hotspot2 0, EINAUS[i], unID, EINAUS[i], 2 : unID=unID+1

del 3

if EINAUS[i] = 1 then
add2 wd_hole_poly[i][1], wd_hole_poly[i][2]

!! Hier kommt der Funktionsaufruf für verschiedene Lichtschächte rein.
! rect2 wd_hole_poly[i][3]-wd_hole_poly[i][1], wd_hole_poly[i][4]-wd_hole_poly[i][2]

del 1
else
!! warum ein Else? Weil immer ein letztes Element Da sein muss, sonst kann man das Element nicht mehr anklicken und ändern
add2 wd_hole_poly[i][1]+(wd_hole_poly[i][3]-wd_hole_poly[i][1])*0.5, wd_hole_poly[i][2]+(wd_hole_poly[i][4]-wd_hole_poly[i][2])*0.5
rot2 180
add2 0, 2
circle2 0, 0, 0.1
del 3
endif

next i !!for i=1 to wd_num

else

endif !!! if wd_num<>0 then

end:



Im Parameterscript anfügen:
values "EINAUS" 0, 1


Im Masterscript hinzu:
unID = 1



Neue Parameter anlegen:

https://ibb.co/pWCpzzx

Dann sollte es gehen.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Hab gerade gesehen, dass jenes zusätzliche Lichtschacht ums Eck nicht zum GDL jener Wand gehört auf welches es sich bezieht, sondern zum GDL der schräg anlaufenden Wand.

Also übergibt das Addon an jede Wand die Löcher der Nachbarn, wenn sie überschneiden, was natürlich in anderen Fällen sehr sinnvoll ist.

Wie ich das in meinem Fall ausgleichen oder abdrehen soll - keine Ahnung...

Man kann den unsinnig hergestellten LS aber zumindest manuell abschalten. Es betrifft ohnehin nur jene Fälle, wo die Wand in sehr schleifendem Winkel angrenzt und das eigentliche Fenster in jenen Bereich reinfällt.

Vielleicht gibt ein Flag für die Nachbarschaft oder so..

(leider nicht unter wd_hole_poly[5], wo ich es gesucht hätte)
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Moderator
Die Wall_INCL sollte unterschiedlich sein. Aber sind das dann 2 Objektinstanzen, die synchron sind?
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
Moderator
Wandparameter, verfügbar für Fenster/Türen, Listen und Etiketten
WALL_INCL Neigung der Wandoberflächen
der Winkel zwischen den zwei geneigten Wandoberflächen - 0 für allgemeine gerade Wände
GDL-Handbuch Seite 365

Wall_incl find ich leider fürs addon .. nicht.. und meint wohl den winkel zwischen 2 Wänden, die geneigt wurden gegen den Boden???

Ich finde die Beschreibungen im GDL-Handbuch immer so ....vielsagend....
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Derzeitiger Stand der Entwicklung:





https://www.youtube.com/watch?v=wJqRNHU_6Ho

Mal zum Probieren:

https://www.dropbox.com/s/5smuue0ahkd5etu/Kellerfenster%20Zubeh%C3%B6rversuche.pln?dl=0

Addon von Graphisoft zum Nachinstallieren:

AC25: https://graphisoft.com/de/downloads/goodies
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Moderator
Die Wall_INCL sollte unterschiedlich sein. Aber sind das dann 2 Objektinstanzen, die synchron sind?

Mein Fehler. WALL_INCL gibt die Rotation der Wand nicht an. Das war ein anderer Parameter, den ich gerade nicht erinnere. Ich meine aber, dass es den gibt. Kann sein, dass das auch ein Typenparameter á la AC_wal... war.
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
Moderator
Funktioniert eh schon so weit ich sehen kann..

Mittlerweile bin ich auf einen Bug in der 25er gestoßen, der in der 26er nicht existiert:

Ich habe die 2D-Hotspots mittlerweile auf 3D umgesetzt.

Die Funktion der 3D-Hotspots ist aber dann in der Edu-Aut25 davon abhängig, in welchem Sichtwinkel ich draufschaue. Wenn ich "zu flach" draufschaue, kommt ein Wolkensymbol und er läßt mich den Hotspot nicht hinziehen, wo ich ihn haben will. Eine nummerische Eingabe ist aber möglich.

In der 26 mit dem selben Script funkioniert es aber ? ! ? ! ?

Es ähnelt dem Problem, dass ein drehbarer Hotspot ohne den 4. Parameter im 3D erzeugt.

Ähnliche Funktionsausfälle hatte ich schon früher und es hatte auch mit mulx -1 zu tun, aber ich war mir nie ganz sicher, woher das wirklich kommt.

Wenn es jetzt in der 26EduAut geht, tippe ich im Nachhinein auf eine grundsätzliche Funktionsbeschränkung in der 25er, die in der 26er erweitert wurde.

im Upload:





https://www.youtube.com/watch?v=cH-WJIYPSMc

AC25EduAut: https://www.dropbox.com/s/h465y74sul94veh/Kellerfenster%20Zubeh%C3%B6rversuche%201.pln?dl=0

AC26EduAut:
https://www.dropbox.com/s/hk5kq4nyideo534/Kellerfenster%20Zubeh%C3%B6rversuche%20v26%201.pln?dl=0
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Sorry -vorher falscher Videolink:

im upload:
Bug-Report:
https://www.youtube.com/watch?v=jFjWQsaLGbE




Neuerungen Hotspots in 3D:



https://www.youtube.com/watch?v=O_xTOYVgjJs
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