Archicad C++ API
About Archicad add-on development using the C++ API.

Zone Wall Relation

Paalanen
Booster

Hello!
Is there any way for a zone to know the coordinates of the surrounding walls' surface polygons openings included?
Best wishes to y'all!

3 REPLIES 3
JaseBee
Advocate

Have a look at the accessories addon.

 

It adds some subtypes, the one you're after is "GDL/Model Element/Building Element/Covering/Wall (Accessory)". That in turn adds some parameters that Archicad populates, you'll be looking for "ac_side_poly", "ac_top_poly" ect...

 

Now from memory they are an array of coordinates, but beware, last time I tried to utilise them I found them a little unreliable (when the wall connects to others it can get confused and the poly points don't necessarily remain true to what is happening to the wall). Though they may have fixed this, I don't think they have. Last I heard they stopped supporting the accessories many number of versions ago. Unfortunately I don't know of any other option aside from paying for something like cad image (they have invested some time into the back end of how accessories work to alleviate these sorts of issues I think) but it's all locked up so you can't develop your own parts on top of this. James Hardie used to have some parts that used the standard accessories I think too.

 

Good luck.

AC 24 5004 AUS
iMac OSX (10.13.6) 4.2ghz i7
8gb ram/8gb vram

Thank you very much JaseBee!

What I'm after does indeed involve the accessories addon: I'm trying to get a room accessory object to "inherit" the wall information from the zone it is linked to. It would seem logical to me that the zone should be able to "read" the geometry of the walls since it does so already to a certain extent. However, I have no knowledge of C++, so I'm banging my head against the wall in the dark : ) Are you saying that it should be possible?

Yeah, as soon as you start wanting one object to talk to the other it gets tricky. I've had some success with test objects writing parameters out to text files and reading back in with GDL. I (like yourself) have no C++ skills to jump into addon creation and whatnot. I would expect it could be possible, but if you're only using GDL writing out and back in is the only way (I know of, would be happy to be wrong).

AC 24 5004 AUS
iMac OSX (10.13.6) 4.2ghz i7
8gb ram/8gb vram