c3d-subassembly-patterns

Installation
SKILL.md

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.

Reading params vs. targets — the one rule that bites

Installs
3
GitHub Stars
4
First Seen
Aug 7, 2026