The Global ARCHICAD Community

Stay informed. Get help. Share your knowledge.

Discussions about using GRAPHISOFT's tools (API DevKit) for independent software developers

Moderators: Karl Ottenstein, LaszloNagy, ejrolon, Barry Kelly, gkmethy, MOREH Tamas, Akos Somorjai, Ed Brown, Mihály Palenik, Tibor Lorántfy

User avatar
By kzaremba
#289543
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?
User avatar
By dfintha
#289565
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
User avatar
By kzaremba
#289574
both Curtain Walls and the subelements of Curtain Walls.
Hi Thanks, a lot for confirmation. It's quite big documentation to maintain.
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?
User avatar
By dfintha
#289578
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