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.
Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Boolean Interaction via GDL???!!!

Anonymous
Not applicable
Hi all... here is a new 100.000.000 euros question

Is it possible for two objects to interact themself via GDL???
I mean:

I wrote an object, say a box1, that has a cylinder that comes out from a side; I place another obj., say another box (box2) but without that cylinder. The cylinder of box1 intersect box2:... is it possible for box1 to tell (without using AC boolean dialog placed in EDIT>BOOLEAN OPS.) box2 to have a hole in its wit the shape and dimensions of the cylinder???

Like the image attached...

Thank you.
PWD

boolean_ops.jpg
7 REPLIES 7
Oleg
Expert
PWD wrote:
Hi all... here is a new 100.000.000 euros question
I think Graphisoft will do it for you personally if you ready to pay the sum
Anonymous
Not applicable
So, I think that I have to start to put some money to my piggybank...

Only GS could do it for me?

Thanks
PWD
Djordje
Virtuoso
PWD wrote:
So, I think that I have to start to put some money to my piggybank...

Only GS could do it for me?
Maybe you should ask also here:

http://archicad-talk.graphisoft.com/viewtopic.php?t=5315
Djordje



ArchiCAD since 4.55 ... 1995
HP Omen
Anonymous
Not applicable
Maybe you should ask also here:

http://archicad-talk.graphisoft.com/viewtopic.php?t=5315
Why?

In that thread they wrote about animation...

I need only to use an object to make a hole into another, without animation and without using AC boolean interface.

An example:

obj_with_hole=EXT_SUBTRACT (box2, box1)


Unfortunately EXT_SUBTRACT does not exist...
Is it possible to emulate it with the code?

Thank you
PWD
Djordje
Virtuoso
PWD wrote:
Maybe you should ask also here:

http://archicad-talk.graphisoft.com/viewtopic.php?t=5315
Why?

In that thread they wrote about animation...
Ooops!

http://archicad-talk.graphisoft.com/viewtopic.php?t=5370
Djordje



ArchiCAD since 4.55 ... 1995
HP Omen
Karl Ottenstein
Moderator
PWD wrote:
Only GS could do it for me?
If you want an arbitrary object to be able to automatically cut a whole in another arbitrary object, then, yes, only GS can do that for you because there is no concept of "collision" or "context awareness" in GDL.

However, if YOU are writing both Box1 and Box2, then you can use very round-about tricks such as those used by our respected colleague Laurent Godel (GDLGuru) from whom we have not heard in a few years. I'm thinking of his "driller" library

If the objects are well defined and known to each other, then you can use an external file to store their locations and attributes (cylinder size, orientation, etc.) [each object updates that file] and each object can read that file and determine the interferences and perform (internally) the needed boolean operations by replicating the mass of the interfering object.

This is a LOT of work, and I wouldn't recommend it unless the behavior was absolutely essential to what you're trying to do. And, I'm not sure it will work, since I'm not sure that when you do a 'rebuild' after moving some objects, that their scripts are called again if AC thinks nothing has changed about their size. Would have to experiment, or else someone else here may know.

Karl
One of the forum moderators
AC 28 USA and earlier   •   macOS Sonoma 14.7.1, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Anonymous
Not applicable
Djordje,
Ooops!

http://archicad-talk.graphisoft.com/viewtopic.php?t=5370
in that thread they wrote about an obj. that contains groups nested into other groups but all into the same object... I'm writing of some objects...

Karl,
This is a LOT of work, and I wouldn't recommend it unless the behavior was absolutely essential to what you're trying to do.
Right...

I think I'll write only one object that contain some groups as Djordje described...

Thank you all.
PWD