BIM Coordinator Program (INT) April 22, 2024
Find the next step in your career as a Graphisoft Certified BIM Coordinator!
Archicad C++ API
About Archicad add-on development using the C++ API.

[SOLVED] DoorStamp / Label Setting Attributes

Anonymous
Not applicable
Hello.

I was hoping to get some clues as to the best approach for getting Door Label/Stamp Attributes with the API. The infos I am trying to get are in this linked picture (Doorstamp->Settings->Content3->...)

It is not clear to me wether these informations should be within the door object/libpart or in the stamp/label itself. My guess is that they are actually stored in the stamp/label settings. I do not know however how to get a handle to this from the door.

Anyone has experience with this? Any suggestions would be greatly appreciated.


image_2017112317421124.png

5 REPLIES 5
Anonymous
Not applicable
mar_kq wrote:
Hello.

I was hoping to get some clues as to the best approach for getting Door Label/Stamp Attributes with the API. The infos I am trying to get are in this linked picture (Doorstamp->Settings->Content3->...)

It is not clear to me wether these informations should be within the door object/libpart or in the stamp/label itself. My guess is that they are actually stored in the stamp/label settings. I do not know however how to get a handle to this from the door.

Anyone has experience with this? Any suggestions would be greatly appreciated.
Update: I have been reading through the Docu and found the "ACAPI_​Element_​GetDefaultsExt" which sounds like it can give me what I am looking for. The problem so far, it seems it only returns the Default Setting Values but not the ones linked to the specific selected door. I do not quite understand what is the right Mask expected by the function (archicadapi.graphisoft.com/documentation/api_subelemmemomask)

I have tried using the following code as guide:
archicadapi.graphisoft.com/documentation/acapi_element_getdefaultsext

So far I have tried using the folowing Masks but the memo.params for each marker is empty after calling ACAPI_Element_GetDefaultsExt:
markers[0].subType = (API_SubElemMemoMaskType) (APISubElemMemoMask_MainMarker | APISubElemMemoMask_NoParams);
markers[1].subType = (API_SubElemMemoMaskType) (APISubElemMemoMask_SHMarker | APISubElemMemoMask_NoElem);
markers[2].subType = (API_SubElemMemoMaskType) (APISubElemMemoMask_CWTag | APISubElemMemoMask_NoElem);
Anonymous
Not applicable
mar_kq wrote:
So far I have tried using the folowing Masks but the memo.params for each marker is empty after calling ACAPI_Element_GetDefaultsExt...
Is there a detailed explanation of what the different Markers are? I have found only this list: archicadapi.graphisoft.com/documentation/api_subelemmemomask
Anonymous
Not applicable
mar_kq wrote:
It is not clear to me wether these informations should be within the door object/libpart or in the stamp/label itself.
Update 2:
From my interpretation of the API Documentation, these informations should be actually delivered by the ACAPI_​Element_​GetMemo function but this is not the case:

""
Returns the gable data1 and the parameters of the instance of a library part*, also the window / door orientation text in textContent.
*The parameters of an element are the parameters of its originating library part, their values are taken from the actual instance.
""

These are the attributes that I am looking for (AttributeDetails.PNG)

Any suggestions please?
dfintha
Graphisoft Alumni
Graphisoft Alumni
Hello,

You can get the associated Door Stamp's GUID from the Door element, it's the element.door.openingBase.markGuid member.

After that, you can simply query its memo using ACAPI_Element_GetMemo with that GUID to get the parameter list of the
marker element in the memo.params member.

This way you'll get the parameters of the stamp related to the door, not the parameters of the door itself.

Best regards,
Dénes
Anonymous
Not applicable
dfintha wrote:
Hello,

You can get the associated Door Stamp's GUID from the Door element, it's the element.door.openingBase.markGuid member.

After that, you can simply query its memo using ACAPI_Element_GetMemo with that GUID to get the parameter list of the
marker element in the memo.params member.

This way you'll get the parameters of the stamp related to the door, not the parameters of the door itself.

Best regards,
Dénes
Thanks! This is what I was looking for!
Learn and get certified!