Iconic CAD Workflow Example: Difference between revisions
Tag: Reverted |
|||
| Line 92: | Line 92: | ||
| Final CAD assembly file | | Final CAD assembly file | ||
|} | |} | ||
<syntaxhighlight lang="yaml"> | |||
wall_module: | |||
width: 48in | |||
height: 108in | |||
stud_size: 2x6 | |||
stud_spacing: 16in | |||
sheathing: | |||
material: OSB | |||
thickness: 7/16in | |||
side: exterior | |||
</syntaxhighlight> | |||
= Icon Library Principles= | = Icon Library Principles= | ||
Revision as of 21:32, 10 March 2026
Iconic CAD Workflow for Wall Modules
- Author wall family schema. Start with human language for a ChatGPT prompt. This prompt, initially, includes geometry parameters. Then it includes ports (interfaces). Then it includes build procedure information. Then it includes materials information - all materials are delineated. . Materials information includes sourcing via web links. Quality Control points including dimensional tolerance.
- Run syntactic validator
- Run semantic validator
- Compile batch of wall modules
- Publish module CAD + icon library
- Arrange icons in graphics tool
- Export to SVG
- Normalize SVG
- Parse icon positions, IDs, rotations, adjacency
- Run assembly syntax validator
- Run assembly semantic validator
- Compile full CAD assembly
- Run post-processing
- Export BOM, cut list, and reports
Iconic CAD Workflow Concept Detail.
Authoring a Wall Family Schema
(based on former design at [1] but only for wall)
Design schema: Ok, let's do wall modules, 4'x9' (wide x height) using 2x6 lumber or 2x4 lumber, which is selectable. In fact, and dimension lumber is selectable from 2x2 to 2x12 lumber. Schema allows me to do 16" or 24" on center. These have 7/16" OSB on one side - the outside. Orientation is given so that 'house faces south' - ie, if you generate the module, the exterior is south, and therefore . This schema allows me to choose module width, and module height as well. Sheets of OSB come in 8 foot lengths, but 9 foot and 10 foot lengths can also be used as standards. Module width is 4' nominal, but can be selected to be lower or larger up to 8'. For a height of 9' or less it uses a single sheet of 9' osb.
Fabrication Schema: From which partial OSB heights and widths can be cut. For anything over 10', we use 8' OSB + whatever more we need - because 8' is easiest to source. For materials, if wall modules are 8, 9, or 10' - use OSB in these dimensions but use precut studs, in which case the OSB is 3/8" longer than the resulting module. In the design of 8, 9, or 10 foot modules, the extra OSB should face up so that panels can be stood on a flat bottom. Do not cut this material off, as cutting is not needed. With moduel
Materials Schema: Lumber: anything from 2x2 to 2x12 lumber, with lengths from 4' to 20'. OSB sheets, 7/16" is the standard. Can also use 1/2", 5/8", and 3/4" OSB.
Fastener Schema: For fasteners, we use 3-1/4" ring shank nails as standard for the wood, and 2-3/8" nails for OSB. Fastener schedule is 6" on perimeter and 12" in the field.
Sourcing Schema: For every material used, we have a link to the best source on the web, + as many other links as needed.
Quality Control + Tolerance Schema: Tolerance is +/- 1/8" off the stock edge of OSB, and 1/8" from the desired length and width of module. No dimensional tolerance on the panel thicknesss because dimensional lumber is used.
Optimization Schema:
Create Part Library: 3 Parts
| Layer | Implementation | Input | Output | Role |
|---|---|---|---|---|
| Schema | YAML | Engineering definition of module | Parameter + interface specification | Defines the semantic contract of the module |
| Generator | Python (FreeCAD API) | Schema | Parametric geometry function | Converts schema rules into geometry construction |
| Compiler | Python assembly tool | Module instances + transforms | .FCStd assembly file | Instantiates parts and builds assemblies |
Note that to create parts for the part library, 5 files are involved:
| Stage | Type | Description |
|---|---|---|
| Schema | Software + data format | YAML specification defining module semantics |
| Geometry Generator | Software | Python program producing CAD geometry |
| Part Instances | Data artifact | Generated CAD objects or parameterized parts |
| Assembly Compiler | Software | Program assembling modules into a system |
FreeCAD .FCStd
|
Data artifact | Final CAD assembly file |
<syntaxhighlight lang="yaml"> wall_module:
width: 48in height: 108in stud_size: 2x6 stud_spacing: 16in sheathing: material: OSB thickness: 7/16in side: exterior
</syntaxhighlight>
Icon Library Principles
- Use separate schema, do not put this into the CAD schema. This helps to make the process formal or modular - and replicable.
- Human-visible annotation is not the source of truth. Structured schema data is the source of truth. So the right architecture is: icon + machine-readable parameters + optional human-readable annotation not icon + freeform text annotation interpreted by AI
- Summary: Schemas are the reality. Visible labels are only for human readability.
Map Icons to CAD
Manipulate Icons in Inkscape
Compile Inkscape SVG to Generate CAD
Post-Process Resulting CAD
Add corners, blocking.