GDL
About building parametric objects with GDL.

Open Source GDL library project

Podolsky
Ace
Hi there,

After long thinking on this subject I would like to hit the new Open Source GDL programming project on this forum. The idea to involve GDL developers worldwide to start building new, independent, international, non-commercial library for all. GDL technology has very strong potential and that is very important part why ArchiCAD as a CAD and BIM system is so unique.

Please read the initial statements of this project:

1. The project is running under the GNU GPL licence. It is based on GDL technology, but not limited by it. Any further translations to different programming languages or use in different CAD systems apart of ArchiCAD are welcomed. Additional C++ programming to improve use of the library parts by making special Add-Ons are welcomed too.
2. Anyone, who is taking part of the project, doing it by their free will and free of charge just following the desire to make BIM world better. Donations, investments and grants for developers are discussible and acceptable.
3. The objects must follow all official GDL standards (like GDL white paper) and Graphisoft recommendations. For example - I like to use uppercase in my GDL script for commands (because GDL manual shows all of them in uppercase). But as soon as GS recommends to use lowercase - my opinion or preferences are not valid.
4. Developed library parts must use standard GS variables names to have full compatibility with standard libraries, distributed with official ArchiCAD releases. As well - to use standard GDL subtypes, as soon as introducing new one is not necessary.
5. All library elements must be compatible with Grasshopper - means that most of calculations (that usually happens in Parameter script) shall happens in Master Script, because Grasshopper is not reading Parameter script.
6. Completed library element must be uploaded to BIMcomponents.com web-site for free access of ArchiCAD users worldwide.
7. Any modification to the library part code must be reflected into the versions text file (or log file), provided with the library element.
8. Library part must be truly international - means that they must have multi-language support.
9. Library objects must be not manufacturer-oriented but building element class-oriented with manufacturer support. For example - instead of having ACO drain element - to have rainwater drain element with possibility to choose ACO from manufacturers list.
10. There is no discussions about leadership of the project. Everyone is equal and differs only by experience - strongest are supporting weakest. I will try to manage this project as long as I can, also I'm willing to open some of my personal developments, but I do not pretend to be head of the project (even if this is my idea).
11. Anyone can be involved into any stage of library part development - starting from conceptual graphical schemes and algorithms ending by writing and re-writing actual scripts.
12. Any object must have textual / graphical description how to use it and YouTube video. The links to the manual must be implemented into the object User Interface.
13. Each object must have User Interface.
14. Common global variables names as for example from Add-Ons or MVO objects - matter of community decisions and consultancy with Graphisoft. After the decision is made - this subject is not discussable without serious technical reason.
15. Every GDL object must be written on as lowest ArchiCAD/GDL version as possible - as soon as needed features allowed to use the version.
16. Developing of the new object is starting by introducing your ideas in the post plus hand-drawn (or CAD drawn) sketches and logical (drawn) schemes.
17. This is not PARAM-O project. PARAM-O can be used as a temporary tool, but because of nature of scripts, generated by program automatically, must be reviewed and rewritten by human to achieve better performance and smaller size of script.

Any comments are welcomed.
89 REPLIES 89
hybrid
Enthusiast
Hello. My name is Bektur, I am from Kyrgyzstan. Only complex objects are discussed and made here? What are the rules? I just for myself (because of an urgent need) began to create some library elements (Library Part Maker) such as a Car with dimensions (Box) for collision detection with engineering networks, and others. Are these welcomed here?
AMD R7 2700 3.8@GHz | 32 Gb RAM | SSD | GTX 1050Ti
Hmooslechner
Moderator
T-crossing-GDL for the interested here..

Beginning with 2. Aug 2021, i startet a kind video-of tutorial for a T-street-crossing-GDL for those who are able to follow my german.

Its a series about 20 Tutorial-Vids, where i follow my development very close.

https://forum.graphisoft.de/viewtopic.php?f=25&t=21579&start=15

Till now, i stand here in development:




To trie: AC25Edu-Aut: https://www.dropbox.com/s/kk6cweuchoia41l/Strassen%20-%20T%204.bpn?dl=0

Dont use the normal GDL- dialogue, trie the editable hotspots in 2D and 3D..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
a newer Version of the Vid in english:



This thing is fully adjustable with editable hotspots and can easily edited also in the Z-Hights of each edge.

for You to trie: AC25EduAut: https://www.dropbox.com/s/cto9m5nc2pwdmnb/Strassen%20-%20T%206.pln?dl=0
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
Now, i added the ability to access the profile-manager-profiles.

https://www.dropbox.com/s/cto9m5nc2pwdmnb/Strassen%20-%20T%206.pln?dl=0
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
latest Version AC25EduAut: https://www.dropbox.com/s/mmuzhf2wvzd0ipl/Strassen%20-%20T%207.pln?dl=0

Now its possible to assign 3 different profile-manager-profiles to the 3 street-edges. In 2D, at an special GDL-scripted detailed corner-section-view, you can switch the profiles with editable hotspots. The z-hights in 2D now can be moved from its position with ed. hotspots to get a better readability.

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
another "more free editable" object:



Ac25EduAut: https://www.dropbox.com/s/ou6ln6xmybnllvo/Strassen1.pln?dl=0
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Podolsky
Ace
Hi,

This the new open source object. It rearranges string entries in array into alphabetical order. Additional languages apart of English can be added.
Hmooslechner
Moderator
A newer version with profile-manager-profiles included at the street-edges like in the former T-Crossing-GDL:

https://www.dropbox.com/s/guaw3pu36l0fezt/Strassen2.pln?dl=0

Also implemented: Detail-Sections of the Street-Edges for adjusting the street-layer-depths and the switches for the profiletypes.



a slightly newer one : https://www.dropbox.com/s/36o3631te6ke8r6/Strassen4.pln?dl=0
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator
The base-code for beziercurves as single object now on bimcomponents.com to "mousedraw-download" into Archicad:

https://bimcomponents.com/GSM/Details/24631
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Podolsky
Ace