yesterday
Hi,
I'm working on the open-source Tapir Archicad Add-On (JSON command layer on top of the C++ API), and I've hit what looks like a real gap in the public API around Layout Book Subsets.
What I'm looking for:
A way to (a) delete an existing Subset, and (b) modify the ID/numbering settings (own prefix, custom number, numbering style, "do not include in ID sequence", start-at, etc.) of a Subset that has already been created.
What I've checked:
I grepped the full DevKit headers for AC27 and AC29 (Support/Inc/APIdefs_Database.h), and the only Subset-related entries that exist anywhere are:
GSErrCode ACAPI_Navigator_GetSubSetDefault (API_SubSet* subSet);
GSErrCode ACAPI_Navigator_CreateSubSet (const API_SubSet* subSet, const API_Guid* parentGuid = nullptr);
GSErrCode ACAPI_Navigator_GetSubSet (const API_Guid* guid, API_SubSet* subSet);
No ChangeSubSet, no DeleteSubSet, and nothing on ACAPI_Database_ModifyDatabase / API_DatabaseInfo that looks Subset-specific either.
So as far as the public API goes, a Subset's settings can only be set once, at creation time, through ACAPI_Navigator_CreateSubSet — and there is no way to delete one at all.
Interesting side note: API_TWAccessRights (APIdefs_Environment.h) does have an APILayoutsAndSubsetsDeleteModify entry, consumed by ACAPI_Teamwork_GetTWAccessRight.
So Archicad's own internal UI clearly can delete/modify a Subset, and that operation is Teamwork-permission-gated like any other object — but that internal path isn't exposed through any public ACAPI_* function I could find.
My question:
Is this a confirmed, permanent gap (i.e. genuinely no supported way to delete or modify an existing Subset via the API, on any current Archicad version)?
If so, is there any plan to expose ChangeSubSet/DeleteSubSet in a future API version, given the internal plumbing for permissions already exists?
Happy to file this as a formal feature request if that's the right channel — just wanted to confirm I'm not missing an existing (possibly undocumented or differently-named) function first.
Thanks!
Operating system used: Mac Apple Silicon