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

Bibliotheken zu GDL

Anonymous
Nicht anwendbar
Hoi zsämme,
ich hätte da eine Anfängerfrage.
Wenn ich in processing oder rhinoscript programmiere, kann ich Bibliotheken verwenden und integrieren, ich muß also nicht alles selber schreiben. Wie ist das im GDL? Welche Plattform wird zum Austausch genutzt?
Merci, Euer Fred
7 ANTWORTEN 7
Hmooslechner
Moderator
Leider kaum. Hier sind mich selber ausgenommen alle sehr egoistisch, was Eigenenttwicklungen und Programmteile betrifft. Frank hat einige Teilchen auf seiner Seite gehostet, aber sonst wird hier nicht wirklich zusammengearbeitet.
Was es gibt, sind eben freie Elemente, wo man sich selber reverse-engeneeren kann, was der Entwickler so getrieben hat.
Aber hier kann man trotzdem Fragen stellen und es wird einem schnell und sinnvoll geholfen, wenn man wo "hängt", aber echte "standardisierte" Teil-Programme wird man nicht finden.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Frank Beister
Moderator
@Heimo.
Wir sind nun schon wirklich lange Forumskollegen. Umso mehr irritiert mich deine Abwertung aller Kollegen hier. Kaum einer der vielleicht zwei Handvoll Aktiven hat hier nicht mit Code und Erläuterungen anderen zur Seite gestanden und sich ein "RTFM" gespart.

Das gemeinschaftliche Arbeiten für produktiv einsetzbare Objekte hatte ich mir auch mal gewünscht (und u.a. deswegen auch openGDL eingerichtet). Dass das nicht funktioniert, hat aber alles andere als egoistische Gründe. Nutzbare GDL-Objekte schreiben sich nicht in 1/2 Std. Mittagspause. Dazu muss man in der Lage sein mehr als eine einzeilige Excel-Formel zu schreiben. Das ist nicht das Berufsfeld von Architekten und auch nicht ihre Aufgabe hier. Für professionelle Programmentwickler ist hingegen der Markt und die IDE nicht attraktiv. GDL-Entwicklung zu so einem Geschäftsfeld zu machen, dass man auf die Vergütung der Codeentwicklung nicht angewiesen ist, ist nicht möglich.

Jochen und ich haben an selfGDL >1000 Std. geschrieben und haben genau 1 Mentor gefunden, der uns immer mal für die Hostinggebühren unterstützt hat. Ich muss dir das nicht vorrechnen, weil du selber viel Zeit mit Programmieren verbringst, aber für ein umfangreiches Objekt fallen häufig hohe dreistellige Entwicklungsstunden an. Es freut mich ehrlich, wenn das für dich nicht wirtschaftlich sein muss und du dich selbst damit auf einen Sockel heben kannst. Die anderen Aktiven hier wollen und müssen aber davon leben.

Und zu guter letzt: Es war, glaube ich, nicht die Frage, ob jemand kostenlos Objekte teilt, sondern ob es GDL-Bibliotheken für Standardlösungen gibt. Und dazu taugen, ohne das damit abwerten zu wollen, deine Objekte auch nicht. Im Übrigen ist die Standardbibliothek und v.a. die integrierte BasicLibrary mit allgemeinen Makros die mitgelieferte Bibliothek.
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
runxel
Legend
Um noch mal zum Urschleim zurückzukommen:
GDL ist ja keine richtige Programmiersprache. Insgesamt ist das alles sehr deklarativ gehalten und damit auch ziemlich verbose.
Das liegt auch daran, dass GDL keine Funktionen kennt. Nur Subroutinen und Makros. Lediglich die Makros jedoch akzeptieren Inputparameter. Subroutinen sind für die Übersicht und sich wiederholende Teilskripte gedacht.
Andersrum jedoch ist es auch so, dass Objekte eben oft sehr distinktive, reale Dinge abbilden. Und daher gibt es wenig an allgemeinen Makros.
Was man öfter braucht hat GS bereits gut in seine Makros abstrahiert. Auf eine Dokumentation dazu darf man aber nicht warten.

Ein Nachteil bei den Makros ist natürlich, dass man dann in seiner Bib immer auf 2 Dateien aufpassen muss, und Objekte nicht mehr self-contained sind. Strenggenommen musst du ja aber ohnehin immer deine externen Abhängigkeiten vendoren, ob das nun processing oder Python ist.

Nichtzuletzt steht die Frage im Raum, welche Funktionen (wohlgemerkt: Geometrie erzeugende!) man so oft immer wieder in gleicher Form benötigt, dass es sich lohnt, das in eine Abhängigkeit (mit API) wegzuabstrahieren.
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»
Frank Beister
Moderator
Die Makros sind intern umfangreich dokumentiert. In den aufrufenden Objekten ebenso. Z.B.
! ------------------------------------------------------------------------------
! Call Quantity Text Macro
! ------------------------------------------------------------------------------
! Input Parameters:
! modelToPaper: Scale (real)
! unitValue Printed Unit Value (double)
! iUnitType Unit Type (integer) see "Units"
! textAlign Text Align (1 left, 3 right) (integer)
! szPrefix String Prefix value (±,-)
! bShowUnit Show Unit (bool)
! bShowSuperScript Show Superscrit (bool)
! Output Parameters:
! totalLength: Quantity Total Length (length)
! textboxHeight: Quantity Total Height (length)
! szExtraPrecision: Quantity Extra Precision (string)
! lengthOfIntegerPart: Length of Integer Part (length)
! lengthOfUnit: Length of Unit (length)
! ==============================================================================

Es gab/gibt eine Dokumentation, die aber glaube ich nur verfügbar ist, wenn man sich bei GS als GDL-Entwickler angemeldet hat.
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
Tschuldige - hab ich so natürlich nicht gemeint - wollte niemanden beleidigen und Ihr habt natürlich extrem viel Arbeit geleistet, um Bedürftigen zu helfen. Auch Mir! Danke!

Die Frage jedoch war, ob es hier vorgefertigte Routinen, gibt, auf die man zurück-greifen könnte, was zwar eigentlich der Fall ist, aber von Graphisoft meiner Einschätzung nach extrem schlecht dokumentiert ist. Das führt dazu, dass man sich als Scripter schnell als Alleinkämpfer sieht. In der Standardbibliothek sind solche Routinen ja vorhanden, aber nicht wirklich dokumentiert.

Ich stehe mit meinen eigenen Entwicklungen auf dem Standpunkt - dass ich damit nichts verdienen muss, weil ich ohnehin als Lehrer genügend bezahlt bin. Das ist natürlich ein Sonderstandpunkt - keine Frage. Egoismen sind niemals digital.. Und ein "Markt" für GDL, das ist auch so eine Sache.., besonders "breit" ist dieser Markt sicherlich nicht aufgestellt.

Meine Objekte sind sicherlich nur sehr eingeschränkt im normalen Alltag nutzbar, manche besser, manche schlechter. Dazu waren sie auch eigentlich nicht gedacht, sondern eher als Wunschliste für Graphisoft, wie ich mir so manche Funktionen in Archicad wünschen würde - als Beispiel sozusagen. Wenn wer damit Freude hat und es brauchen kann - schön.

Aber "abgeschlossen" (verschlüsselt - um Copyright durchzusetzen) hab ich meine Objekte nie, was viele andere Privatentwickler schon machen. Ist auch deren gutes Recht - aber eben doch ein Unterschied.. Wenn ich nur daran denke, wie lange es gedauert hat, bis jemand die Methode veröffentlicht hat, mit der man Polygone im GDL erweitern kann.. Das hat man schon sehr lange "einbehalten".
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Dazu passt L E I D E R genau dieses Thema:

viewtopic.php?f=12&t=27786&p=160849#p160849

Es gibt in GDL verschiedene Varianten des Befehles Project2.

Eine davon läßt es zu, dass man Schnittebenen einführt.

AC24 - GDL-Handbuch Seite 203:

... PROJECT2{4}, bietet als Zusatzfunktion die Möglichkeit mehrere Schneideebenen parallel zur X-Y-Ebene zu definieren, und
die Attribute der Schnitte und projizierten Teile der Beschneidungskörper zu kontrollieren, einschließlich Linientyp,Stifte und Schraffuren. Die
Anzahl der Schneideebenen kann Null sein, wodurch exakt ein unbeschnittener Beschneidungskörper entsteht (numCutplanes+1).


Dort wird genau aufgelistet, welche Parameter nötig sind, damit man den Befehl nutzen kann .
A B E R

Ohne sinnvolles Beispiel, wie man es eben für die obige Frage brauchen würde!

(So eine Sch....)

Dies ist eine echte Unterlassung im GDL-Handbuch.


Dann sucht man eben im Internet danach und findet:

https://gdl.graphisoft.com/tips-and-tricks/using-project24-command

Schön.

So kann man Gelände Höhenschichtenlinien darstellen. Aber wie geht noch mal, es in dem Geschoß, wo man sich gerade mit dem Teil befindet - genau in 1 m Höhe zu schneiden?

Nicht nur als Anfänger ist man da schnell komplett überfordert..

Genau jener Fall, der am Meisten vorkommt - der Meterschnitt für die korrekte Grundrissdarstellung - wird nicht erklärt!!!


(Abgesehen davon, dass es eigentlich einen Project2-Befehl geben müsste, der nur dies mit einer einfachen Befehlszeile schafft - weil es eben so oft vorkopmmt !!)
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Ma_Scht
Advocate
Salute,
ja, da gebe ich Herrn Mooslechner zu seinem letzten Beitrag Recht.

Das, was wichtig ist - fehlt als Baustein für die Nutzer.
Gerade als GDL-Anfänger verliert man da rasch die Lust.
Klar sollte nicht alles auf dem Silbertablett daher kommen, aber genau das sind die Bausteine aus denen mehr entsteht als der Zwölf'nDrölfzigste Desigerstuhl.

Gruß Mario