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
Lol my wall accessories has a framing object that I use Dayly. It's incomplete but works better than the one that comes with accessories.
It also has sheet rock and baseboards if you wish to show them





Videos made from my coverings and wall framing/finish object

Also why would you not just code you biarcs with a loop? Seems like a waste to me. Just use since v6 polyline and apple the data to the loops.
Anonymous
Not applicable
Podolsky wrote:
The use of biarc is very important in architecture. As I know, in most cases it's biarcs instead of spline.
Agreed. I am just saying that Road paths can be very tricky (Specially existing ones), with alternate straight and arched segments in the same path. Your object doesn't allow the user to set individual path segments type. I think SinceV6 Polyline is more versatile in this mater.

Podolsky wrote:
I also want to say, that I don't think that to use curtain wall for something else apart of curtain wall -
The thing is that Curtain Wall Tool does the job. So why do I need something else. But I understand your point. It is difficult for a new user discover that they can do wall framing with a Curtain Wall Tool. That is when I see that Param-o could have a much bigger role in AC if it would become an Assembling Tool for all 2d and 3d AC elements. Including Walls, Slabs, Roofs, Objects, Lines, Fills, etc.
Aaron Bourgoin
Virtuoso
Can someone at Graphisoft find and post the video they made when the CW tool was first released. The one I'm talking about is a heavy timber and plaster German Beer Hall modelled entirely with the Curtainwall tool. It was there to prove a point. I think.
Think Like a Spec Writer
AC4.55 through 27 / USA AC27-6000 USA
Rhino 8 Mac
MacOS 14.6.1
Barry Kelly
Moderator
Aaron wrote:
Can someone at Graphisoft find and post the video they made when the CW tool was first released.

Do you mean when the curtain wall was introduced in version 12 (2008) or when it was renewed in version 22 (2018)?

I just googled ...curtain wall archicad version 12
And there are quite a lot to choose from on youtube.
I am not if any of those are the one you want.


Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Aaron Bourgoin
Virtuoso
Hey Barry, yes it was from the v12 Curtain Wall Tool Rollout. As I recall it was sent to Archicad sellers as a technical sales tool.
Think Like a Spec Writer
AC4.55 through 27 / USA AC27-6000 USA
Rhino 8 Mac
MacOS 14.6.1
sinceV6
Advocate
Hi.
Braza wrote:
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.
Based on the image you posted, I think you already have the object. The library was posted here. The version with arcs is as simple as I could figure, taking into account 2D/3D projections of arcs/helices. Maybe I took the long road to solve that one

The fact that ArchiCAD's tools can be used to model things other than their purpose is a great advantage. Specific tools and objects for every aspect of a building would mean a never ending list of... tools and objects. I remember a great discussion about simplifying the tools (and maybe it was a bit extreme), like considering Walls, Beams and Columns based on the same principle of extruded geometry along a path. Sure... each have different uses and properties, but the principle is quite the same. I guess this is for another thread.

Back on topic.
Maybe is time to dig a bit into the wish forums. There may be some good ideas there.

Best regards.
Anonymous
Not applicable
Hi SinceV6,
Unfortunately I can´t edit them... They are password protected. (At leas the one I was testing).
But never mind... I was testing the "Create Mesh from Surveyor File" command and it wont work the way I planned. The thing is that the command doesn't create "negative" contour meshes. If a point creates a concave contour, it converts to an internal node and draw the outer possible contour. Does this makes sense?
So bye bye Road Object.
sinceV6
Advocate
Braza wrote:
They are password protected. (At leas the one I was testing).
You used the one that slipped. Try the other ones.
Anonymous
Not applicable
Thanks a lot SinceV6. Dynamic Polyline ER is exactly what I was looking for. I will dive in.

But this limitation for the "Create Mesh from Surveyor File" command makes this project inviable. I think.
Anyway... It is weird, because if I save a Mesh as an object, it will use mass{2} command for 3d and a poly2_b{5} for 2d. Both allow concave contours. It looks like the "Create Mesh from Surveyor File" command is using MESH command to build the final mesh. Which is very archaic and limited. I would like to be missing something good here.
sinceV6
Advocate
Braza wrote:
mass{2} command for 3d and a poly2_b{5} for 2d
A bit off topic, but related... This states one of the things I hate and love about AC. I have always understood the flexibility, and perhaps efficiency, of having a 3D shape that can be displayed as something entirely different in 2D. But this also makes it sometimes feel like floor plans are disconnected from the model, instead of being derived from the 3D geometry of elements, even for its own native tools. Display order should only exist for 2D elements, not 3D elements or their projections.

As for the mesh/road... I think we need to be careful to know when something requires a scripted object -one that parametrically solves one or a set of defined things- or a tool -which can accommodate a broader set of solutions-. Thinking about all the things road design means, I would say it is a better job for a tool(set).

Best regards.