License Delivery maintenance is expected to occur on Saturday, November 30, between 8 AM and 11 AM CET. This may cause a short 3-hours outage in which license-related tasks: license key upload, download, update, SSA validation, access to the license pool and Graphisoft ID authentication may not function properly. We apologize for any inconvenience.
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
Podolsky
Ace
What I mean - that when person who does not know GDL, posting his conceptual sketch here - he is automatically joining the project. If person does not know GDL, but can draw nice UI in Photoshop - then why not? It also can be very good GDL learning source - when anyone can see object creation process and read the scripts.
Okay that makes more sense I do like that.

I don't use point clouds currently because they haven't been relevant yet but I love the concept behind what you've drawn up.

I think anybody that posts their drawings should maybe try to do so in a similar fashion to what you have already posted we can keep things consistent at the very base even the sketches, and I think the end products will be much better. Because if somebody can sketch they shouldn't have an issue sketching based on a few simple parameters so that our start points aren't all over the place in terms of ideas and concepts
Anonymous
Not applicable
Looks like the thing is getting serious.

So the pilot project will be this Point Cloud Tool?
I think first we should elaborate a list of potential tools suggested by users and then put it to vote in the Wish section.
Tormenta4
Booster
Hi, I already developed a Point Cutter Tool several years ago, you can see the demos here:

https://vimeo.com/208090648

https://vimeo.com/209133334

https://vimeo.com/198487978

The problem is that the point cloud command in GDL does not accept variables in the data file name. So the GDL code needs to be edited to adapt it to a new point cloud. Otherwise I think the only other option is to create an alternative add-on for importing point clouds that implements the desired functionality in the imported object.
Archicad 25, MacBook Pro M1 Max, macOS Monterrey.
Anonymous
Not applicable
Hi Jaime,

Cool stuff. Thanks for sharing.
Did you try to save the point cloud as .gsm and use a regular Call?
Podolsky
Ace
Very cool! But you don't have user interface in your object. Let's make good looking UI and connect to your object.
Tormenta4
Booster
I do have an User Interface now , it was not finished at the time of the demo, but it is now.

The call does not work as then the cut planes do not operate on the point cloud unfortunately...
Archicad 25, MacBook Pro M1 Max, macOS Monterrey.
Tormenta4 wrote:
I do have an User Interface now , it was not finished at the time of the demo, but it is now.

The call does not work as then the cut planes do not operate on the point cloud unfortunately...
Are you using subgroup commands? I know these work on called objects in my objects. I done ever use cutplane commands if I can do it with groups
Podolsky
Ace
Tormenta4 wrote:
I do have an User Interface now , it was not finished at the time of the demo, but it is now.

The call does not work as then the cut planes do not operate on the point cloud unfortunately...
But you can still join this project (I don't know - is your object commercial?). The whole idea that we show / upload our ideas and parts of GDL developments for free use - and everyone can take it, modify, make better, include additional features, use part of codes... I pretty much know how to program interface I proposed and include all features into the code. I just don't want to be single activist here.
Ok so just a thought, maybe we need a whole sub forum for open library development. It would certainly make things easier to organize and keep topics aligned and relevant.