We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2018-08-14 04:57 PM - last edited on 2022-11-30 10:52 AM by Daniel Kassai
Solved! Go to Solution.
2018-08-15 11:25 AM
static USize GetNumberOfGroups () { GS::HashSet<API_Guid> groups; GSErrCode err = NoError; GS::Array<API_Guid> allElements; ACAPI_Element_GetElemList (API_ZombieElemID, &allElements); for (const API_Guid& guid : allElements) { API_Elem_Head head = {}; head.guid = guid; err = ACAPI_Element_GetHeader (&head, APIElemMask_FromFloorplan); if (err != NoError) continue; if (head.groupGuid != APINULLGuid) groups.Add (head.groupGuid); } return groups.GetSize (); } static USize GetNumberOfSolidLinks () { USize numberOfSolidLinks = 0; GSErrCode err = NoError; GS::Array<API_Guid> allElements; ACAPI_Element_GetElemList (API_ZombieElemID, &allElements); for (const API_Guid& guid : allElements) { API_Guid** guid_Operators = nullptr; Int32 nLinks; err = ACAPI_Element_SolidLink_GetOperators (guid, &guid_Operators, &nLinks); BMhFree (reinterpret_cast<GSHandle> (guid_Operators)); if (err != NoError) continue; numberOfSolidLinks += nLinks; } return numberOfSolidLinks; }I'm not sure this does exactly what you want, but if you need any further help, feel free to ask!
2018-08-14 05:18 PM
2018-08-15 11:25 AM
static USize GetNumberOfGroups () { GS::HashSet<API_Guid> groups; GSErrCode err = NoError; GS::Array<API_Guid> allElements; ACAPI_Element_GetElemList (API_ZombieElemID, &allElements); for (const API_Guid& guid : allElements) { API_Elem_Head head = {}; head.guid = guid; err = ACAPI_Element_GetHeader (&head, APIElemMask_FromFloorplan); if (err != NoError) continue; if (head.groupGuid != APINULLGuid) groups.Add (head.groupGuid); } return groups.GetSize (); } static USize GetNumberOfSolidLinks () { USize numberOfSolidLinks = 0; GSErrCode err = NoError; GS::Array<API_Guid> allElements; ACAPI_Element_GetElemList (API_ZombieElemID, &allElements); for (const API_Guid& guid : allElements) { API_Guid** guid_Operators = nullptr; Int32 nLinks; err = ACAPI_Element_SolidLink_GetOperators (guid, &guid_Operators, &nLinks); BMhFree (reinterpret_cast<GSHandle> (guid_Operators)); if (err != NoError) continue; numberOfSolidLinks += nLinks; } return numberOfSolidLinks; }I'm not sure this does exactly what you want, but if you need any further help, feel free to ask!
2018-08-15 02:06 PM
2018-08-15 02:50 PM
2018-08-15 02:59 PM
2018-08-15 03:12 PM
2018-08-15 03:16 PM
2018-08-16 12:03 PM
2018-08-16 12:24 PM
JGoode wrote:As I said, we have many useful blog posts on our site. For example the following post is a step-by-step guide to create an Add-On:
I've spent most of yesterday evening trying to figure it out in terms of the process of creating an add-on and I can't find much information other than people saying if you don't know how then don't try which is obviously not very useful! Even a vague step by step would be useful as I'd be able to research it myself but I can't even seem to find that! The addon would be incredibly useful but it's not looking very promising