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

Curtain Wall and ACAPI_Element_Change

Anonymous
Not applicable
I have started to make a script to change types of panels in CWall (Particularly one doors to another). But during some prototyping, I have noticed that in documentation API_Element_Change doesn't support CWall at all. Is it right?

Should I do, delete and create a new element? If yes I assume that I shall setup each GUID of CW part to null? Should this be enough to "copy" this element?

Is there any other place where data about GDL object are stored beside linInd?
3 REPLIES 3
dfintha
Graphisoft Alumni
Graphisoft Alumni
Hello,

The ACAPI_Element_Change function supports both Curtain Walls, and the subelements of Curtain Walls. The documentation is sadly imperfect, but we'll add the information about CWs as soon as possible.

You can use the symbolID of the API_CWPanelType, which identifies the underlying GDL object.

Best regards,
Dénes
Anonymous
Not applicable
dfintha wrote:
both Curtain Walls and the subelements of Curtain Walls.
Hi Thanks, a lot for confirmation. It's quite big documentation to maintain.
dfintha wrote:
symbolID of the API_CWPanelType,
Thanks, I have already figured it out for Classification and Properties of elements. Since they don't relate on Element itself. But there is also misterius type indicating

I did some tests and it didn't change anything. I have change libID in CurtainWall memo and apply Change to whole CurtainWall. Is all I need to change? Or shall I access Panel as a separate element and change it there as well?
dfintha
Graphisoft Alumni
Graphisoft Alumni
Hello,
It depends on what exactly you want to do.

1. Changing a subelement class
If you want to change a whole class of elements, you have to modify the Curtain Wall Element, by changing the corresponding handle in its memo. This will change every element in these classes correspondingly.

2. Changing some individual subelements
Also known as customizing a single subelement. In this case you should change the subelement itself, settings its class to customized (APICWFrameClass_Customized or APICWPanelClass_Customized).

If you want to change elements in a pattern, the first option is for you, but if you only want to change a few individual elements I recommend the second option.

Best regards,
Dénes

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!