How efea24/cad_automtaion works
Text2CAD converts a natural-language part description into a CAD token sequence, reconstructs sketch and extrusion operations, builds a solid, and exports STEP or STL. The repository also contains the model-training and evaluation path, plus geometry and topology utilities used in CAD representation. The pipeline and model boundaries are supported by the excerpts and source index; several conversion and evaluation modules are indexed but unsampled, so their detailed calls are not asserted.
Main entry points: cad_sequence.py CAD Sequence · text2cad.py Text2CAD Model · train.py Training Loop · loop.py Sketch Loops
Components 28
User Pipeline
- Pipeline Runner
pipeline/run.py - Prompt Translation
pipeline/translator.py - Text-to-CAD API
pipeline/text_to_cad.py
Text Generation
- Text2CAD Model
Text2CAD/Cad_VLM/models/text2cad.py - Text Embedding
Text2CAD/Cad_VLM/models/layers/text_embed.py - Adaptive Text Layer
Text2CAD/Cad_VLM/models/layers/adaptive_layer.py - CAD Decoder
Text2CAD/Cad_VLM/models/decoder.py - Attention Layers
Text2CAD/Cad_VLM/models/layers/attention.py - Attention Operations
Text2CAD/Cad_VLM/models/layers/functional.py
CAD Reconstruction
- CAD Sequence
Text2CAD/CadSeqProc/cad_sequence.py - Sketch Sequence
Text2CAD/CadSeqProc/sequence/sketch/sketchsequence.py - Sketch Faces
Text2CAD/CadSeqProc/sequence/sketch/face.py - Sketch Loops
Text2CAD/CadSeqProc/sequence/sketch/loop.py - Coordinate Systems
Text2CAD/CadSeqProc/sequence/sketch/coord_system.py - Extrusion Sequence
Text2CAD/CadSeqProc/sequence/transformation/extrude_sequence.py - CAD Export
Text2CAD/CadSeqProc/json2step.py - Mesh Export
Text2CAD/CadSeqProc/json2stl_skt3d.py
Geometry Kernel
- Curve Geometry
Text2CAD/CadSeqProc/geometry/curve.py - Arc Geometry
Text2CAD/CadSeqProc/geometry/arc.py - Line Geometry
Text2CAD/CadSeqProc/geometry/line.py - Shape Construction
Text2CAD/CadSeqProc/OCCUtils/Construct.py - Topology Utilities
Text2CAD/CadSeqProc/OCCUtils/Topology.py
Training and Evaluation
- Training Dataset
Text2CAD/Cad_VLM/dataprep/t2c_dataset.py - Training Loop
Text2CAD/Cad_VLM/train.py - Training Loss
Text2CAD/Cad_VLM/models/loss.py - Model Metrics
Text2CAD/Cad_VLM/models/metrics.py - Sequence Evaluation
Text2CAD/Evaluation/eval_seq.py
Other components
- Text Prompt
Connections 27
- Text Prompt → Pipeline Runner: submits prompt
pipeline/run.py - Pipeline Runner → Text-to-CAD API: invokes generation
pipeline/run.py - Pipeline Runner → Prompt Translation: uses translation
pipeline/run.py - Text-to-CAD API → Text2CAD Model: generates sequence
pipeline/text_to_cad.py - Text-to-CAD API → CAD Sequence: reconstructs model
pipeline/text_to_cad.py - Text2CAD Model → Text Embedding: embeds text
Text2CAD/Cad_VLM/models/text2cad.py - Text2CAD Model → Adaptive Text Layer: adapts embeddings
Text2CAD/Cad_VLM/models/text2cad.py - Text2CAD Model → CAD Decoder: decodes CAD
Text2CAD/Cad_VLM/models/text2cad.py - CAD Decoder → Attention Layers: uses attention
Text2CAD/Cad_VLM/models/decoder.py - Attention Layers → Attention Operations: calls operations
Text2CAD/Cad_VLM/models/layers/attention.py - CAD Sequence → Sketch Sequence: uses sketches
Text2CAD/CadSeqProc/cad_sequence.py - CAD Sequence → Extrusion Sequence: uses extrusions
Text2CAD/CadSeqProc/cad_sequence.py - CAD Sequence → Topology Utilities: uses topology
Text2CAD/CadSeqProc/cad_sequence.py - Sketch Sequence → Sketch Faces: builds faces
Text2CAD/CadSeqProc/sequence/sketch/sketchsequence.py - Sketch Sequence → Coordinate Systems: uses coordinates
Text2CAD/CadSeqProc/sequence/sketch/sketchsequence.py - Sketch Faces → Sketch Loops: uses loops
Text2CAD/CadSeqProc/sequence/sketch/face.py - Sketch Loops → Curve Geometry: uses curves
Text2CAD/CadSeqProc/sequence/sketch/loop.py - Sketch Loops → Arc Geometry: constructs arcs
Text2CAD/CadSeqProc/sequence/sketch/loop.py - Sketch Loops → Line Geometry: constructs lines
Text2CAD/CadSeqProc/sequence/sketch/loop.py - Shape Construction → Topology Utilities: uses topology
Text2CAD/CadSeqProc/OCCUtils/Construct.py - CAD Sequence → CAD Export: exports solid
- CAD Sequence → Mesh Export: exports mesh
- Training Loop → Training Dataset: loads batches
Text2CAD/Cad_VLM/train.py - Training Loop → Text2CAD Model: trains model
Text2CAD/Cad_VLM/train.py - Training Loop → Training Loss: computes loss
Text2CAD/Cad_VLM/train.py - Training Loop → Model Metrics: records metrics
Text2CAD/Cad_VLM/train.py - Sequence Evaluation → CAD Sequence: evaluates sequences
Text2CAD/Evaluation/eval_seq.py