c3d-subassembly-patterns
Subassembly Patterns & Recipe Catalog
Use this skill when authoring a coded Civil 3D subassembly and you want a worked pattern to copy:
a lookup of "which stock subassembly already solves this," a DrawImplement recipe for a specific
shape (median, daylight, overlay, marked-point join, conditional), or the canonical point/link/shape
code list. It is the companion to c3d-custom-subassemblies (the API/mechanics skill) — start there
for the SATemplate lifecycle, targets API, .atc registration, and build/deploy.
Source corpus: Autodesk ships 120 production VB.NET subassemblies at
…\AutoCAD <ver>\C3D\Sample\Civil 3D API\C3DStockSubassemblies\Subassemblies\ (plus SATemplate.vb,
Utilities.vb, CodesSpecific.vb). This catalog is mined from them. Version-skew caveat: the
installed sample is Civil 3D 2027; this project targets 2026. Patterns are stable across both,
but verify any unusual API member against api_combined_2026.db before relying on it.
Our working C# implementations live in CSharp/GpdSubassemblies/ — LaneGpd.cs,
DaylightToSurfaceGpd.cs, OdotGuardrailMgs.cs, OdotCurbType2B6.cs — all on SubassemblyBase (our
C# port of SATemplate.vb). Recipes below use that base and the SaUtilities/Codes helpers.