am 2024-09-22 10:55 AM
In Bezug auf gedrehte Staketen für Geländerdarstellung..
Ich habe mal versucht, das 3D-Script von Archicad "zu vereinfachen" - lesbarer zu gestalten und vielleicht später mal parametrisieren zu können.
bms_buildingMatAttribute_1 = 0
r = REQUEST{2} ("Building_Material_info", buildingMatAttribute_1, "gs_bmat_surface", bms_buildingMatAttribute_1)
rotx 90
set building_material buildingMatAttribute_1, DEFAULT, DEFAULT
sect_attrs{2} penAttribute_3, lineTypeAttribute_1
ruledshell{3} bms_buildingMatAttribute_1, bms_buildingMatAttribute_1,
bms_buildingMatAttribute_1, bms_buildingMatAttribute_1, bms_buildingMatAttribute_1,
bms_buildingMatAttribute_1, bms_buildingMatAttribute_1,
2, 2, 2, 0,
0, 0.004, 1, 0,
! -- transformation matrix -------------------------------------------------------
1, 0, 0, 0,
0, 0, -1, 0,
0, 1, 0, 0,
! -- profile 1 polyline ----------------------------------------------------------
0.002, -0.015, 2,
0.002, 0.015, 2,
! -- profile 2 polyline ----------------------------------------------------------
-0.015, 0.002, 2,
0.015, 0.002, 2,
! -- transformation matrix -------------------------------------------------------
-1, 0, 0, 0,
0, 1, 0, 0,
0, 0, -1, -zzyzx,
! -- generatrices ----------------------------------------------------------------
1, 1,
2, 2
del 1
Abgesehen davon, dass mir die Transformationsmatrixen die Gehirnwindungen verdrehen - dieser Script funktioniert jedenfalls mal in 3D.
Mein Problem ist nun Folgendes: Ich finde ums Verrecken nicht heraus - auch nicht mit den Beispielen von Archicads eigenen Geländerpfosten nicht - wie man die Höhe der Stäbe so anpassen kann, dass sie sich ins Geländer automatisch einfügen, wie es eben die Hauseigenen machen..
Frage - welcher Parameter muß im GDL vorhanden sein, dass ich die Höhe - bei mir oben eben zzyzx so einstellen kann, dass es im Geländer dann passt?
Gelöst! Gehe zu Lösung.
am 2024-09-22 03:07 PM
Probier mal die folgende Globale Variable: führt bei mir zu einem Ergebnis mit identischer Höhe in Bezug auf die GS-Geländerstäbe.
am 2024-09-22 03:07 PM
Probier mal die folgende Globale Variable: führt bei mir zu einem Ergebnis mit identischer Höhe in Bezug auf die GS-Geländerstäbe.
2024-09-22 03:43 PM - bearbeitet 2024-09-22 03:59 PM
Danke. Muß ich das mit Dim zuerst herstellen oder einfach nur in der Parameterliste?
OK - schon gesehen - einfach nur verwenden als Höhe. Danke nochmals.
am 2024-09-22 03:45 PM
Ich habe einfach in Dein Script folgendes geschrieben (ohne DIM):
zzyzx = RAILINGPOST_TOP_COORD[3]
am 2024-09-22 05:33 PM