cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 
GDL
About building parametric objects with GDL.

Is it possible to explode a GDL object in 3D?

Sam Karli
Enthusiast

Hi,

I'm working on a wall panel placer tool that puts wall panels into a wall.

I'm wondering whether (for calculations) is it possible to explode or extract these wall panels into standalone (GDL or not GDL) objects. The goal is to have an ifc export one by one.

 

I think it's not me who the first is to ask this.

 

 

SamKarli_0-1759392235888.png

 

GDL/Python/C++ dev
9 REPLIES 9
Barry Kelly
Moderator

You mean explode a single compound object (multiple sub objects) into the individual component objects?

No.

 

You can only explode the 2D view into lines and fills.

 

You can convert them to morphs though.

 

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
runxel
Hero

Sadly no. There is no way to tell how an object should be separated for IFC.

However I think there is a workaround where you assign different BMats. In that case you can group by BMat in the IFC tree.

Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Akroter.io – high-end GDL objects | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text

My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»

I mean for calculating in a different software i want to access panels one by one, somehow.

 

Another approach would be to place panels one by one using an addon but it's out of scope, too expensive. So I'm searching for a "cheap" and simple alternative.

GDL/Python/C++ dev

Problem is that in GDL I cannot define Building Material afaik.

GDL/Python/C++ dev

Do you mean using?  building_material is the command for that.

Or actually defining? 🤔 Well yeah, then you're out of luck; we can not define new complete BMats. But that's not really needed, because you can override all the parts (fills/surfaces) of the BMat anyway.

Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Akroter.io – high-end GDL objects | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text

My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»

At the end of the day I have to make it possible to make a schedule based on the ifc export. (3rd party software makes it based on the export).

 

It's possible that i start with a "prepared" pln file with many enough building materials (named like "BM001", "BM002" etc. and then assign a building material to every single panel.

 

However at the end of the day I need to assign some data to the ifc export.

GDL/Python/C++ dev

For some test I once converted the roof accessory add-on tiled surface to morphs, which resulted in fine individual tiles and cut tiles each with its own GUID.

I've checked it and works. The problem here is that obviously this way we loose attached information (just getting the pure geometry).

 

The Building material trick works the same way (if we assign every panel a different building material, they become ifcBuildingElementParts), but I am still not able to assign any info to those parts in GDL (a dynamically generated name would be enough).

GDL/Python/C++ dev

I can define a surface having a chosen name in GDL and then assign it to an object, and by assigning different building materials to every panel, I can make them to be different IfcBuildingElementParts. This way i can deliver (only one piece of) info that can be dynamically set.

SamKarli_0-1759693056637.png

Unfortunately it seems that i cannot set/map anythin more using the ifc tranlators, as their Compontent/Material settings work only for per building material set properties (I mean I can use "surface", but not the actual surface of the panel but the preset surface of its building material).

 

GDL/Python/C++ dev