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

Verschmelzen von Fenster- und Türprofilen verhindern

snow
Moderator
Hallo ihr Lieben,

weil es ja sonst keine solche einfachen Schiebetüren gibt – oder ich habe solche noch nicht gefunden – hab' ich mir jetzt mal mit ca. 150 Zeilen Skript eine solche gebaut.

Jetzt wär' es nur noch schön, man bräuchte nicht wieder dreierlei gleiche Materialien, oder Luftspalte zwischen den Bestandteilen, um das Verschmelzen der Profile (in 3D) zu verhindern.



Gibt es so eine Möglichkeit?

...und jetzt viel mir noch auf, dass auch das Glas mit den Rahmen verschmilzt.
Hab' mit ADDGROUP gearbeitet... auch ADDGROUP{2} probiert... ändert sich aber nichts in der Darstellung. 😞
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
35 ANTWORTEN 35
Ma_Scht
Advocate
Achmed,
bevor Du noch weiter in die Tiefe gehst.
Kopier mal 100 Fenster und schau einfach ob das Objekt noch performant ist!
Im 3D, bzw. wenn Du bei allen einen Parameter änderst, etc.
Gruß
snow
Moderator
...und ohne Code nicht wirklich zu beantworten.
Ich will das Forum, hier ja auch nicht überstrapazieren...
Aber jetzt bin ich mal so frech, und fasse dies hier als eine Einladung auf, tatsächlich den ganzen Code zu posten.

!model solid

!SECT_FILL schr, -1, 25, 18
! Schienen
building_material schm
material msch
addx -a/2
addz -2*zzyzx

!unten
addy -schu
BLOCK a, schu, zzyzx
DEL 1

! oben
addy b-scho

GROUP "schiene_oben"
PRISM_ 4, 2*zzyzx,
0, 0, 15,
A, 0, 15,
A, scho, 15,
0, scho, 15
ENDGROUP

DEL TOP

addx -a/2
addz -zzyzx

! FESTVERGLASUNG 1
! Rahmen 1
GROUP "rahmen"
building_material rm
material mp
PEN penr
addy -schu
PRISM_ 10, zzyzx,
0, 0, 15,
a/4+pb/2, 0, 15,
a/4+pb/2, b-scho+schu, 15,
0, b-scho+schu, 15,
0, 0, -1,

pb, schu+sh, 15,
A/4-pb/2, schu+sh, 15,
A/4-pb/2, B-scho+schu, 15,
pb, B-scho+schu, 15,
pb, schu+sh, -1
ENDGROUP


GROUP "glas"
! Glas 1
building_material bmg
PEN peng
add pb-ge, sh-ge, (zzyzx-gd)/2
PRISM 4, gd,
0, 0,
A/4-1.5*pb+2*ge, 0,
A/4-1.5*pb+2*ge, B-scho-sh+2*ge,
0, B-scho-sh+2*ge
del 1
ENDGROUP

result_1=SUBGROUP ("rahmen", "glas")
!result_2=ADDGROUP ("rahmen", "glas")
PLACEGROUP result_1
!PLACEGROUP "schiene_oben"
PLACEGROUP "glas"
KILLGROUP "rahmen"
!KILLGROUP "schiene_oben"
!KILLGROUP "glas"

addx a/4-pb/2
PEN penr
RECT pb, b-scho

addz -zzyzx-fa

! FLÜGEL 1
! Rahmen
model solid
GROUP "rahmen_2"
building_material rm
material mp
PRISM_ 10, zzyzx,
0, 0, 15,
a/4+pb/2, 0, 15,
a/4+pb/2, b-scho, 15,
0, b-scho, 15,
0, 0, -1,

pb, pb, 15,
A/4-pb/2, pb, 15,
A/4-pb/2, B-scho-pb, 15,
pb, B-scho-pb, 15,
pb, pb, -1
ENDGROUP

GROUP "glas_2"
! Glas 2
building_material bmg
PEN peng
add pb-ge, pb-ge, (zzyzx-gd)/2
PRISM 4, gd,
0, 0,
A/4-1.5*pb+2*ge, 0,
A/4-1.5*pb+2*ge, B-scho-2*pb+2*ge,
0, B-scho-2*pb+2*ge
del 1
ENDGROUP

result_3=SUBGROUP("rahmen_2", "glas_2")
!result_4=ADDGROUP("rahmen_2", "glas_2")
PLACEGROUP result_3
PLACEGROUP "glas_2"
KILLGROUP "rahmen_2"
KILLGROUP "glas_2"

addx A/4+pb/2

addz zzyzx
rotY 90
PEN penr
RECT zzyzx, b-scho
DEL 2

! FLÜGEL 2
! Rahmen
GROUP "rahmen_3"
building_material rm
material mp
PRISM_ 10, zzyzx,
0, 0, 15,
a/4+pb/2, 0, 15,
a/4+pb/2, b-scho, 15,
0, b-scho, 15,
0, 0, -1,

pb, pb, 15,
A/4-pb/2, pb, 15,
A/4-pb/2, B-scho-pb, 15,
pb, B-scho-pb, 15,
pb, pb, -1
ENDGROUP

GROUP "glas_3"
! Glas 3
PEN peng
building_material bmg
add pb-ge, pb-ge, (zzyzx-gd)/2
PRISM 4, gd,
0, 0,
A/4-1.5*pb+2*ge, 0,
A/4-1.5*pb+2*ge, B-scho-2*pb+2*ge,
0, B-scho-2*pb+2*ge
del 1
ENDGROUP

result_5=SUBGROUP( "rahmen_3", "glas_3")
!result_6=ADDGROUP( "rahmen_3", "glas_3")
PLACEGROUP result_5
PLACEGROUP "glas_3"
KILLGROUP "rahmen_3"
KILLGROUP "glas_3"

addx A/4-pb/2
addz zzyzx+fa
PEN penr
RECT pb, b-scho
addy -schu

! FEST 2
! Rahmen 2
GROUP "rahmen_4"
building_material rm
material mp
PRISM_ 10, zzyzx,
0, 0, 15,
a/4+pb/2, 0, 15,
a/4+pb/2, b-scho+schu, 15,
0, b-scho+schu, 15,
0, 0, -1,

pb, schu+sh, 15,
A/4-pb/2, schu+sh, 15,
A/4-pb/2, B-scho+schu, 15,
pb, B-scho+schu, 15,
pb, schu+sh, -1
ENDGROUP

GROUP "glas_4"
! Glas
building_material bmg
PEN peng
add pb-ge, schu+sh-ge, (zzyzx-gd)/2
PRISM 4, gd,
0, 0,
A/4-1.5*pb+2*ge, 0,
A/4-1.5*pb+2*ge, B-sh-scho+2*ge,
0, B-sh-scho+2*ge
del 1
ENDGROUP

result_7=SUBGROUP( "rahmen_4", "glas_4")
!result_8=ADDGROUP( "rahmen_4", "glas_4")
PLACEGROUP result_7
PLACEGROUP "glas_4"
KILLGROUP "rahmen_4"

DEL TOP
ADD -A/2, B-scho, -2*zzyzx

!result_10=ADDGROUP( "glas", "glas_4")
result_9=SUBGROUP ("schiene_oben", "glas")
result_10=SUBGROUP ("schiene_oben", "glas_4")
PLACEGROUP result_9
!PLACEGROUP result_10

KILLGROUP "glas"
KILLGROUP "glas_4"
KILLGROUP "schiene_oben"

Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
archig
Expert
Code posten ist schonmal gut.
Aber warum anwortet niemand?
Wahrscheinlich, weil der Code wegen der paar prism_'s schon ein bisschen unübersichtlich ist.

Ein paar Tipps:

  • wenn du Code postest, solltest du die Parameter am Anfang mal nennen und mit einem Standardwert versehen; so in der Art: scho=0.08 !Schiene oben Höhe
  • alles rauslöschen, was du verworfen hast
  • besser prism_ nehmen als prism oder gar block. Es wird dann übersichtlicher im Skript
  • group befehle nur nehmen, wenn notwendig (will heissen: wenns nicht anders geht). Das meint wahrscheinlich auch Ma_Scht, wenn er sagt, dass du mal 100 Fenster einsetzen sollst. group ist ein Performancekiller, und dein Fenster bekommst du auch ohne group hin.
ArchiCAD 25 / Windows 10
snow
Moderator
Der Hinweis, das Gruppierung – und somit die offenbar einzige Möglichkeit SEOs in GDL zu verwenden – Performance kostet ist natürlich ganz interessant 🙄 ... und gleichzeitig ist es auch etwas schade, dass das so ist.

Das Objekt hier ist für Eingänge... und da gibt es meistens nicht so viele im Projekt davon... sollte hier also gehen.

Mir erschien das halt als die simpelste Methode, Schiebeflügel zu erstellen, wenn sich das Glas seine Nut ins Profil selbst schneidet... und die Nut dort nicht nochmals definiert werden muss...
... aber klar, man kann das auch anders aufbauen...
auch angesichts dessen, dass mir die SEO-Handhabung in GDL doch recht gewöhnungsbedürftig erscheint.
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10
runxel
Legend
Noch der Hinweis an der Stelle, dass prism_'s sich grundsätzlich immer verbinden, also die Linien verschwinden. Die Linienausschaltung lässt sich erst mit cprism_{3} seperat kontrollieren.
Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»
snow
Moderator
Ah - sehr gut zu wissen.

Danke!
Archicad For Future F R E E D O M for-COLORS
______________________________________

archicad versions 8-27 | mac os 13 | win 10