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-22 07:48 PM
sinceV6 wrote:Yes. This makes a lot of sense. I have the same opinion with Pen Weights. IMO they are, together with Layers, a relic of the CAD 80's. If we have each elements elevation and a FPCP. Then why not define general Pen weights for: External Cut, Skin Cut, Foreground View, Background View, and then AC would interpolate the two values for foreground and background and automatically apply Pen weights in between.
Display order should only exist for 2D elements, not 3D elements or their projections.

sinceV6 wrote:Sure it is. But how long will we have to wait for a tool like this.
Thinking about all the things road design means, I would say it is a better job for a tool(set).


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-03 03:17 AM
Interior Elevation marker is part of the floor plan representation and can be switched on or off. Because layout object knows, where it placed - it translates layout number to the IE marker.
All correct data collected from the room for quantity take off. Here can work simple Python script that collect all data into spreadsheet.
Varios level of details let to control complicity of 3D model to the level of simple surfaces. This surfaces might have built-in (pluged-in) function of dividing surfaces into mesh for future simulation algorithms as radiocity, that can produce low poligon, fast models for BIMx and another web platforms complete building interior model for real estate virtual building visiting sets.
It can include varios smart tools: painting tools, floor and ceiling division, adding node and line bending tools. For example adding node and bending tools can be just plus and bracket, floating on the floor plan near the object with hotspot. Moving plus that it would touch the line will produce editable hotspot of new node. Deleting the node by overlay another hotspot. Bending tool working the same principle after touching the line with bracket appearing hotspot on the middle of the line, that let to change bending radius. It also can include biarc line as an option - to draw cool shapes of the room.
Scheduling tool can be another object, placed to layout. Windows and doors schedules can be populated to perfect state. If company standard require small page format, it populates the pages and showing on each page total amount of pages.
All that can be done with nice simple interface with big buttons - to support touchscreen computers. It's necessary to take a look on the last interface of Apple and Windows 11 and do something it their style, that overall use of the whole OS UI would be based on the same principles.
Ready pre-set catalogues in the object and automatically generated libraries by master GDL of used hatches and photo fills. It needs to work on Photoshop principle. This way possible to have photo fills on interior elevation layouts - showing for example decorative brick on the walls.
Room must cover all parts of construction, with no exception - all MEP, fire safety, pictures on the wall, light, all decor, Windows sills, thresholds. Furniture can be included too - by reference to another library objects. Actually it can be any object. Windows and doors must have custom profiles access from profile manager (that detect lowest version of ArchiCAD, where this tool can work).
Such an object placed to the model can be easily labeled in sections.
Because this object totally by itself with all data access - different standards can be applied to IE - like problem with showing N, W, E instead of numbers. Tool can detect position of the building in regards of North and show orientation as required. It also can pass information about windows orientation. Windows can have additional tools like Facade maker - where it it possible to set the whole facade - especially if it's a big building, applying different patterns to windows.
So then such an object need to be placed to Structural model with empty openings.
Room can include different layouts of kitchens and toilets. Especially can be useful for disabled toilets - where every bit can be pre-set.
MEP hotspots needs to be available for piping, ducting and wiring. These elements are not included - because they are connecting different rooms and have their own routs independent of room geometry.
So the main philosophy - you are placing room tool and getting ready drawings. The drawing generation does not include ArchiCAD IE engines or scheduling engine. This drawings you can then modify and change the model.
Because usually rooms have simple geometry - drawing, generated from 2D primitives can be populated, avoiding using Project2 command as much as possible. I think it can be faster this way. Embedded library (or project library folder) contains total data of the room, that can be extracted for different purposes.
See logical scheme attached

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-03 03:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 05:42 PM


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 05:58 PM
In programming is important algorithm, main principle, idea. To develop algorithm is like to do architectural project.
To write the code itself then it's just technical issue. You can give to write the code to any experienced programmer, if you developed an algorithm already, and he can do it quickly. I think even experienced programmer can learn GDL in few weeks.
Later, when you have object already - if it's working - you can re-write it, improve it, translate to another language. Look how new Stair is created - they using only part of built in ArchiCAD functionality - rest it just GDL. And new stair and curtain wall initially was possible to write on GDL only.
Seriously guys, let's do already something. Otherwise it doesn't make sense to speak about it only all the time.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 06:16 PM

Perhaps somethin more simple.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 06:30 PM
We already have a room accessory object to get some of the basic code needed to start.
But really I think it's quite doable. And not as complex as it might seem.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 08:10 PM
So if someone able to do complex and good working tools, why then it's impossible or not worth to do something that can really save the day of many users? In my idea of room tool I collected many requests I did read on this forum with interior elevations, room finishes etc. Rooms - it's an essence of the architecture and the same time weak point of ArchiCAD. I mean all architecture and construction is about how to create space. We are building walls to separate space - not because of the wall itself. The initial planning is starting from defining spaces first and after adding walls and slabs between. I think it's clear.
If talk about dead paths where development can go. Of cause it can go nowhere. Especially if jump straight forward into writing code without realising the overall structure of the system. It's necessary to design the system first, make schemes, information dependencies, main algorithms - from simple to more complex. Then if idea is good and algorithms are clear - it will work.
I want to repeat again: because it's open source - developing ideas into detailed algorithmic level is like making good detailed wish of future function of ArchiCAD. If idea is good and it's working - then it can be adopted by GS later, some parts, that working poor just because of nature of GDL, can be replaced by C++.
This is how I see it. Maybe different from many users, but many users are just buying software and then complaining - or, GS, please fix this, fix this - we paid money to you. Look how it's working here and there... But if look technically to the system possibilities - ArchiCAD can be much much better with what it had now - without even waiting for new version. Technology already give plenty of possibilities - it just necessary to understand how it's working.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 08:45 PM
This is how the road can be created.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2021-07-05 09:26 PM