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

Balkon - Terrassengeländer

Hmooslechner
Moderator
Ich bastle schon länger an einem Geländerteil herum, das auf die GDL-Polygongrundlagen vom 2013.08.05 arq. esteban ramos - base code beruht.

Polygonzug mit graphisch editierbaren Hotspots und möglicher Erweiterung direkt im grafischen Editor - mit der Möglichkeit , zum fertigen Polygonzug um einen bestimmten Wert Parallelen zum Ursprung zu zeichnen und daran dann 3D-Elemente zu "hängen"

Dies würde sich auch gut als Grundlage gut dazu eignen, um Dachrinnen zu zeichnen usw.

Polygonzug:
Im 2D kann durch Anklicken des Mittelpunkt-hotspots eines Segmentes ein neues Segment eingefügt werden. Am Ende genügt das Anklicken des leeren Hotspots um ein weiteres Segment anzufügen. Dies würde "unendlich funktionieren.






download Dropbox für jene, die reinschnuppern wollen:

https://www.dropbox.com/s/jqs9im2dv7c1swh/Eigener%20Polygonzug_j.pln?dl=0

Die Parallelen, die darauf aufbauen, sind allerdings bis nur 50 Segmente programmiert, um den Aufwand in Schranken zu halten - und soviel braucht man allgemein eh nicht.. grins.

Es sind drei Parallelen eingebaut. Die Grundlinie nimmt dann die beiden anderen Parallelen "mit"

Es ist im Grundriss-2D eine Querschnittdarstellung mit eingebaut, in der man mit Hotspots die Parallelen verschieben kann - und etwa auch Geländerhöhen, Querschnittsmaße der Einzelteile usw.

Die Parallelen können aber auch im Grundriss direkt am Start verschoben werden.

Weiters eingebaut:

Im 2D werden in jedem Segment kleine Kreise dargestellt, um einen Abstandswert jeweils nach innen verschoben. Daran könnte man Befestigungen und Paneele "hängen".


Der Abstand dieser Punkte wird automatisch aufgeteilt , sobald der Abstand größer als ein anzugebender Wert wird.

Nach innen versetzte Füllungs-Start-Punkte mit Hotspots können einzeln verschoben werden

Automatische Teilungen bei Überschreitung eines maximalen Abstandes pro Segment (zwischen nach innen versetzten Hotspots)

Es ist noch einige Arbeit nötig, bis ich sowas auf den Bim-Component-Server rauflade. Bis dahin könnt Ihr ja den Dropbox-Download versuchen..

Bitte um Rückmeldungen, Vorschläge, Kritik usw..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
14 ANTWORTEN 14
Hmooslechner
Moderator
Fortschritt:

Dieses Ding kann eigentlich schon einigermaßen professionell genutzt werden.

Ich habe einen extra "Handlauf" mit eingebaut. Eine zusätzliche Tube, die man in der Querschnittdarstellung verschieben und verändern kann - zum Beispiel auch als Verkleidung der Stützensockel oder umlaufendes Paneel.

Angedacht ist eine Möglichlichkeit zur Veränderung der Z-Koordinate jedes Eckpunktes im Polygon. Für die Tubes würde das schon grundsätzlich funktionieren, aber für die Steher und Füllpaneele noch nicht.

Für die Tubes müsste man dann bei jedem Eckpunkt einen zusätzlichen Polygonpunkt mit gleicher Höhe mit minimalem Abstand vom Eck einführen, um gedrehete Tubekonturen zu vermeiden. Davon ausgehend müsste man dann die Höhenlagen der Steher iterieren. Die Paneele sind derzeit einfache Block-Befehle. Diese müssten dann durch irgendeinen Polygonbefehl ersetzt werden zur Erzeugung von Parallelogrammen.

Die z-Veränderung ist aber noch Zukunftsmusik...

Mit den derzeitigen Funktionen des GDLs ist allerdings jetzt schon eine große Vielfalt des Geländer-Designs möglich. 😁









download file: (AC18EduAut)
https://www.dropbox.com/s/yv0ca7wecs9i17h/Eigener%20Polygonzug_k.pln?dl=0
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Die Rückmeldungen überschlagen sich geradezu 😉

Braucht wahrscheinlich niemand, so ein Teil... 💡


Ich denke schon, dass es in der Bearbeitung von Profilmanager - Anwendungen eine ähnlich simple Arbeitsweise geben sollte... So als Wunsch für die Wunschliste später...
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Anonymous
Nicht anwendbar
"hmooslechner" wrote:
Die Rückmeldungen überschlagen sich geradezu 😉

Braucht wahrscheinlich niemand, so ein Teil... 💡


Wahrscheinlich nicht alle arbeiten in 18.
Auf BIMcomponents.com für 16-17 wird herunterladen?
Hmooslechner
Moderator
Ich hinaufladen werde BimComponents Server bugs wenn weniger sind 18+16+17.. 😄 (tschuldige - musste sein)

Allerdings - momentan scheinen die auf Bimcomponents alle auf Urlaub zu sein oder so..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Habe das Teil nun auch auf den Bimserver raufgeladen - wie gesagt - dort dauerts derzeit ein wenig.. 🙄

Unter "Geländer polygonal" für V18, suchen.

zusätzlich unter
"Geländer polygonal V17"
und
"Geländer polygonal V16"
für die beiden Vorversionen von Archicad
suchen.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator




Diesmal - Füllungen zwischen den Stehern können Stabteilungen waagrecht oder senkrecht sein - mit oder ohne Rahmen.

Habs auf Bimcomponents hochgeladen.. Bie die es dann irgendwann freigeben...Solange müßt Ihr eben warten.. 🙄

Wenn ich sowas verkaufen wollte - was wäre ein angemessener Preis für sowas - und - dürfte ich sowas denn überhaupt mit der Edu herstellen?
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Ich bekomme nun von Bimcomponents solch ein Rückmail:

Object upload error! 
Dear Heimo Mooslechner,

You recently uploaded an object, N/A, to the BIMcomponents.com portal that failed to pass the automatic checking process because of errors in the object's content.

Attached please find the log file with detailed information about the errors. This will help you find and solve the issues preventing the upload of your object. Please fix the problems and upload the corrected object again to make it available for the BIM Components community.

Should your upload problems persist, please visit our troubleshooting page for further advice.

Thank you!

The BIM Components Team



leider ist kein automatisches logfile mit geliefert worden.

ich denke dass es an diesem Code liegen könnte:


dx = x2 - x1 !!!x+y Distanz der Punkte des Segmentes
dy = y2 - y1

if dx < 0 then dx = -dx
if dx = 0 then dx=RND (0.0001)

if dx < RND (0.0001) and dx < -RND (0.0001) then
Winkelsegment = 90
else
WinkelSegment = atn(dy/dx)
endif

RewinSeg = WinkelSegment - 90

Diagonale1 = sqr (dx^2+dy^2) !!!!Distanz der Punkte des Segmentes


Dabei geht es um Verhinderung exakt 0° oder 90° - Verlängerungen des Polygonzuges und dann eben um Verhinderung von tan(90°)

Archicad macht mich schon aufmerksam:

Die Verwendung von ralen Typen kann zu Präzisionsproblemen Führen bei Zeile...


In der dann angeführten Zeile kann ich aber nichts "finden"

Bisher war dies auf Bimcomponents kein Problem, jetzt scheint dies geprüft zu werden und somit wird eine Freischaltung verhindert.

Übrigens - in Archicad funktioniert das Teil problemlos...

Um ehrlich zu sein - ich versteh das Problem nicht wirklich. Vielleicht kann mir das mal jemand so erklären, dass mein einfaches Gemüt damit keine Probleme hat.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Moderator
Das könnte vielleicht schon das Problem sein. Ich habe bisher immer Logdateien mitbekommen. Komisch, dass die bei Dir nicht dabei waren. Das sieht dann so aus:

warning: (in Script_1D) : Uninitialized array element at index: [3] 
> at line 56 in the Master script of file DŠmmung - ACB.gsm.


Seit einigen Versionen ist es eigentlich Pflicht alle Variablen, die Du verwendest, am Beginn des Skriptes irgendwann zu initialisieren. Also mit
dx=0
dy=0
WinkelSegment=0


Wie das die meisten Sprachen fordern. Ich mache das aber auch meistens nicht und kann die Objekte trotzdem hochladen. Vielleicht ist da noch was anderes im Busch.
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
Die Meldung mit dem Initialisieren kenn ich und beachte ich - wenn es kommt.

Allerdings:
Die Verwendung von realen Typen kann zu Präzisionsproblemen führen bei Zeile...


verstehe ich einfach nicht - bzw. bringt mich dann immer zu Zeilen, bei denen ich nichts finde.

Nachdem ich aber mit vielen Schleifen und ähnlichen Mitteln wiederholt arbeite - kommt die Meldung bei Prüfung des Codes dann so oft, dass ich es einfach nicht mehr prüfe und nur die Meldungen beim Abspeichern beachten kann. Die helfen dann schon weiter - bzw. die Zeilennummer muss man sich merken, denn er springt nicht automatisch hin, sondern irgendwohin, wo dann aber nichts markiert ist. Man gewöhnt sich daran.

Na ja - wenn was im Busch ist, werden wir mal draufklopfen.. 😁

Das meine ich:





Diese Meldung:
"Die Verwendung von realen Typen kann zu Präzisionsproblemen führen bei Zeile..." sollte abschaltbar sein - finde ich - oder genauer erklärt werden - und wenn es schon irgendwo drinsteht - dann wo genau?

Habe grad wieder das gefunden - mal sehen...
http://archicadforum.com/viewtopic.php?f=6&t=15256

Jochen schreibt da:

Punkt 2: Das Präsionsproblem iust auch eine Neuerung nach AC 9. Diese Fehlermeldungen treten nur beim Prüfen des Scriptes auf.
Du kannst nicht 2 reale Zahlen miteinder mit dem =Zeichen vergleichen, sondern musst davon ausgehen, dass auf Grund von Ungenauigkeiten in der 5. Nachkommastelle die beiden Werte eventuell abweichen. Also schreibe nicht:
Code:


 IF a=deck_hoehe THEN


sondern
Code:

 IF ABS(a-deck_hoehe)<eps THEN


Da habe ich wohl einige Austauscharbeit vor mir..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia