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

Wallhole - Schnittlinien ausblenden?

Hmooslechner
Moderator
Ich bin gerade dabei, an Einer Lösung zu arbeiten, für Fenster einen Schichteinzug auch im Schnitt darzustellen.

Abgesehen davon, dass es schon solche polygonalen Wandöffnungen und Fenster gibt, die toll funktionieren, habe ich es trotzdem an einem Fenster mit möglicher polygonaler Form versucht.

Dazu habe ich das bekannte Polygon-Sript vom Esteban Ramos auf 2D geändert und die Polygonpunkte zuerst für den Wallholebefehl genutzt.

Er schneidet das Fenster auch brav entlang des Polygones aus.

Mein GDL-Teil liegt derzeit noch in einer sehr primitiven Form vor. Im Grundriss sehe ich noch eine Ansichtsprojektion des Polygones -auch mit Anfassern, die genauso auch im 3D funktionieren.

Das GDL sucht sich in der Wand die erste Kernschichte und baut den Fensterrahmen dann bündig nach innen ein. Die Schichtdicken vor dem Kern werden werden addiert, um die nötige Tiefe und Dicke des Fassadenputzes zu errechnen - was auch gut funktioniert.

Mit der Angabe einer Überdämmdicke kann ich die Kontur mit dem Tubebefehl ohne große Neuberechnung paralleler Innenpunkte nach innen verschieben.

Meine Probleme dabei:

1. Die Wallholekante wird immer dargestellt - auch wenn ich in der Tube für die "Überdämmung" = Putzmaterial die gleiche Oberfläche einstelle wie das Wandoberflächenmaterial. Normalerweise läßt Archcad bei gleichen Materialeien die Lienien an Grenzen verschwinden.

Gibt es eine Möglichkeit, diese Grenzlinien zwischen der Tube und dem Wallholebefehl zu unterdrücken - ohne mein Hirn verrenken zu müssen - Grins!??


2. Es ist zwar möglich, die Baumaterialien der einzelnen Schichten der Wand auszulesen - aber damit kann ich im GDL nichts direkt anfangen - weil es im GDL noch keine Baumaterialien gibt.

Hierzu eine Frage -
A: kann man die Baumaterialien vielleicht als Umgebungsinfos auslesen - um Nachzuschauen, welche Oberfläche dem Baumaterial an sich zugeordnet ist?

Derzeit muß ich mir es noch manuell raus-suchen, und dann im Fensterdialog diregt gleich einstellen. Ist mühsam für den Anwender und sollte automatisch funtionieren!

wenn es dann hochgeladen ist:




Wer dieses frühe Stadium mal versuchen will - oder für eigene Versuche:
https://www.dropbox.com/s/ke1xb550qhnb7r9/Multifenster.pln?dl=0
AC19EduAut. Achtung: Ramos Esteban hat für seinen Code verfügt , dass ihm Erzeugnisse damit gemeldet werden - im Architalk.com der User "sinceV6".
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
7 ANTWORTEN 7
Anonymous
Nicht anwendbar
Baustoffe: GDL-Handbuch S.366. Durch Suchen gefunden. 😉
Hmooslechner
Moderator
Was glaubst Du wie oft ich das schon gelesen habe.... 🙄

Gut - ich bekomme die Materialliste (Oberflächenmaterialien) - nicht Baustoffe.

Auf Seite 371 findet man dann:

REQUEST ("Name_of_material", index, name)
Ergibt den Namen des durch index identifizierten Materials in der Variablen name.


Und wie bekomme ich nun raus, welche Oberflächenmaterialien bei welchen Baustoffen verwendet wurde?

Also nochmals - ich habe den Namen des Baustoffes - irreführenderweise benannt mit:

WALL_SKINS_BMAT_NAMES[1] der jeweiligen Schichte in der Wand herausgefunden.

Und wie genau hilft mir nun der Request -Hinweis? Bin ja vielleicht betriebsblind - aber mir fehlt da eine wichtige Info!
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
REQUEST{2} ("Building_Material_info", name, param_name, value_or_values)
Gibt Informationen in die vorgegebene(n) Variable(n) eines Parameters des spezifizierten Baustoffes. Mögliche Parameternamen von Baustoffen
entsprechend den Parametern der Baustoff-Definition:
param_name:
"gs_bmat_id": ID des Baustoffs
"gs_bmat_surface": Oberflächenmaterial-Index des Baustoffs
"gs_bmat_description": Beschreibung des Baustoffs
"gs_bmat_manufacturer": Hersteller des Baustoffs
"gs_bmat_collisiondetection": Baustoff beteiligt an der Kollisionserkennung (0 oder 1)
"gs_bmat_intersectionpriority": Verschneidungspriorität des Baustoffs
"gs_bmat_cutfill_properties": Schnittschraffureigenschaften des Baustoffs (Schnittschraffur-Indexnummer,
Schnittschraffur-Vordergrundstift, Schnittschraffur-Hintergrundstift)
"gs_bmat_physical_properties": Baustoff: physikalischen Eigenschaften (Wärmeleitfähigkeit, Dichte, Wärmekapazität,
gebundene Energie, gebundenes CO2)
Beispiel 7:
REQUEST{2} ("Building_Material_info", "Brick", "gs_bmat_id", id)
REQUEST{2} ("Building_Material_info", "Brick", "gs_bmat_surface", index)
REQUEST{2} ("Building_Material_info", "Brick", "gs_bmat_physical_properties",
thermalConductivity, density, heatCapacity, embodiedEnergy, embodiedCarbon)


Was genau willst Du denn nun wissen?
Hmooslechner
Moderator
Danke! - Hat soweit geholfen, dass ichs in der Masterscript und im 2D-Script auslesen kann. im 3D zeigt mir der gleiche Befehl den Wert 0 statt 18 für den Oberflächenmaterial-Index. Da mach ich noch irgentwas falsch. Falls ich wirklich nicht weiterkomm werde ich mich nochmals damit rühren..

Die erste Frage - wie ich die Kante(n) beim (zwischen) Wallhole und Tubebefehl unterdrücken kann weiss sonst niemand?
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Ich habe nun die ganzen Abfragen in Masterscript verlegt:


!! Wallparameter

Dickensumme = 0
Gesamtdicke = 0
OFT = WALL_SKINS_NUMBER
i=1



for i = 1 to oft

WSP[i] = WALL_SKINS_PARAMS[i][1] !Schraffur

KernSTR = STR(WALL_SKINS_PARAMS[i][6], 1,0)
Kern = WALL_SKINS_PARAMS[i][6]


WSBN[i]=WALL_SKINS_BMAT_NAMES[i][1] !Baumaterial
add2 0.15,0.02
style links

t = REQUEST{2} ("Building_Material_info", WSBN[i], "gs_bmat_surface", oberflaechen[i]) !!S378
r = REQUEST ("Name_of_material", oberflaechen[i], name[i])

del 1

if i = 1 then Aussenputz = oberflaechen[i]
if i = oft then Innenputz = oberflaechen[i]




s=request("Name_of_fill",WALL_SKINS_PARAMS[i][1],Schichtnamen[i])

!Schichtnamen[i]=WSBN[i]

Schichtdicken[i]=WALL_SKINS_PARAMS[i][2] !Dicke



if KernSTR="3" then
WoKern = i
else
Gesamtdicke = Gesamtdicke + Schichtdicken[s]
endif

add2 0, -0.015

next i
del oft-1

for s = 1 to WoKern-1
Dickensumme = Dickensumme + Schichtdicken[s]
next s






Wenn ich die Werte im 2D-Script dann ausgeben lasse, schreibt er sie mir richtig raus:





for i = 1 to oft
add2 0, 0.05
text2 0,0,oberflaechen[i]
Text2 0.2,0, Aussenputz !! nur als Test - schreibt brav 18 hin
next i
del oft-1







das funktioniert also!

Wenn ich das gleiche im 3D-Script versuche - bleiben die Werte immer 0





DEFINE STYLE test "Arial", 10, 1, 0
style test
for i = 1 to oft
addy -0.012
addz 0.1
text 0, 0,oberflaechen[i] - !!nur als Test - da schreibt er gar nichts hin
TEXT 0.01, 0, Aussenputz !! sollte überall 18 stehen - aber macht im 3D 0 draus
del 1
next i
del oft






Kann es sein, dass der die Abfrage im 3D einfach nicht macht?

	t = REQUEST{2} ("Building_Material_info", WSBN[i], "gs_bmat_surface", oberflaechen[i])  !!S378
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
https://www.dropbox.com/s/aovauo2a324fivu/Wandschlitz1.pln?dl=0

Vielleicht kennt das Problem ja irgendwer genauer und kennt eine vernünftige Lösung oder ists vielleicht ein Bug? Ich kann mir kaum vorstellen, dass dies so gewollt ist.



AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Das bisherige heutige ohrenbetäubende Schwiegen heißt wohl, dass es einfach nicht geht.. 😁
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia