Open Source GDL library project

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-05-29
11:46 PM
- last edited on
2021-09-14
09:10 AM
by
Noemi Balogh
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.
- Labels:
-
Library (GDL)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-12 01:29 PM
Thanks for your thoughts... Lots of good points that made me rethink the idea. And the link/thread you showed (Raised by Paul King) is a very good description of the need for a proper Road Tool.
sinceV6 wrote:The purpose of this object, is to streamline the process that I manually do with Meshes. Usually the surveyor delivers a dwg file with very few point (Perhaps I have to put some pressure on him for a better service
I understand the wish, but not what it would solve,...




But perhaps you are right... The work involved in this object is not justified, as there are better workflows to achieve the same goal.

Cheers,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-14 05:10 PM
Thanks Braza.
I think we would need a real case scenario to evaluate how this could be achieved. Anything you could share?
Braza wrote:If urbanization projects are a constant thing, I would turn to see if there are other tools tailored for the task that could fit into the workflow. A hammer can be used for a lot of things, even put in a screw if needed, but a screwdriver will do a better job in that case.
... With new urbanization projects is the same process...
Better topo tools are needed indeed, as they are part of the architectural workflow. I think urbanization projects are another whole thing to be dealt within AC.
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-14 07:38 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-18 11:15 AM
Just quick upload of an object, that can be useful. Biarc curve - arcs with common tangent. Can be used for further developments - for example for the roads.
Currently it's simple 2d element. It has maximum 11 nodes (10 segments). Each node is moveable on plan. If you overlay one node on another - it disappears. It also has editable hotspots to control radiuses of the segments.
Script is OK, but in some cases it gives me sharp edge connection - the main formula that calculates radiuses needs to be improved. GDL version 32 - ArchiCAD 17.
Cheers.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-18 08:02 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-19 12:24 AM
From the script you can see how I name variables. I like to write the code, that it would be more understandable by human by giving 'real' names to variables. For example if it's a length parameter - I use 'coordinates' or 'length' or 'distance' or 'radius' - it's clear, that distanceBend is length parameter. If it's an angle, then variable name angleBend.
If it's integer - I use 'type' or 'number': numberNodes. If it's a string, then it could be 'name': nameFile, nameImage

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-19 10:20 AM
- offset framing from wall edge (automatic or manual)
- making possible to add complex profiles to frames
- windows and doors special framing
- corner framing
- T junction framing
Archicad 27
Windows 11 professional
https://www.behance.net/Nuance-Architects
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-19 12:39 PM
Very cool object. I just think its usability is very limited. The 3d dynamic Polyline from SinceV6 is very versatile. This also makes me think which is the best way to trace road paths? Just Lines and Arcs? Quadratic Belsier curve? It would be nice if someone with Civil Engineering in this matter could put some light on it. I personally think Lines and Arcs can do the job.
@bouhmidage
This framing object uses the Wall Accessories Goodies, right?
If so, the problem is that it has little to no support from GS.
Besides this, I have seen many users using the Curtain Wall Element to do this with very good results. Including scheduling and quantities takeoffs.
p.s.: It would be really nice if SinceV6 could send us a simple object with a "raw/clean" working version of his 3d Polyline that we could start to work.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-19 01:02 PM
Timber frames - it's something that I'm working on right now. Currently I'm finalising timber beam object (that has biarc curve as an option - this is from where this algorithm came). Next step will be floor joists and wall frames. Very possible that I will open my scripts for use for everyone, at least part of them for sure.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2021-06-19 01:25 PM
Making GDL objects, that serve specific needs (like wall frames), instead of making universal objects - for example the same frame, that you can use and for wall and for floor and for roof, will give better results in the projects, because each building structure has its own special features, structural function and properties. Steel connections are different for slab and wall - so, if include steel connections into timber frames (let say Simpsons Strong Tie) - it would be just great for making BIM models to LOD 5 and this is what construction sites are expecting from BIM.