Skip to content

Repository files navigation

Assembly2Intent

Learning functional engineering context from CAD assemblies

Assembly2Intent is an early research prototype exploring whether machine-learning systems can move beyond recognizing CAD geometry toward reasoning about how and why components interact.

The prototype uses B-Rep topology, face/edge geometry, assembly occurrence context, contact relationships, and joint labels to study three progressively harder questions:

  1. Can assembly context identify physical interfaces better than isolated geometry?
  2. Can interface geometry carry signal about mechanical semantics such as rigid vs revolute?
  3. Does that semantic signal transfer to a completely unseen mechanical design?

Status: v0.1 outreach research freeze. Three experimental phases are complete. Phase 4+ are explicit research hypotheses, not completed capabilities.

Interactive research site

Open index.html or publish the repository with GitHub Pages. The site includes interactive experiment dashboards, an evidence-vs-hypothesis roadmap, limitations, future phases, and direct links to reproducibility artifacts.

Key results

Phase Question Evaluation Result
1 Identify physical contact faces Leave-One-Body-Out PR-AUC 0.996, F1 0.960
1 baseline Geometry only Leave-One-Body-Out PR-AUC 0.781 (best geometry-only RF)
2 Rigid vs revolute within one design Group-held-out Macro-F1 0.723, balanced accuracy 0.768
3 Rigid vs revolute on unseen designs Leave-One-Assembly-Out Best mean balanced accuracy 0.619

The Phase 3 performance drop is a central result, not something hidden. It suggests that immediate contact-patch geometry is insufficient for general engineering-intent transfer. The next representation should include a wider functional neighborhood: neighboring B-Rep topology, bores/shafts/pins/holes, nearby non-contact features, and an assembly graph.

Research narrative

CAD assembly
    │
    ├── B-Rep geometry / topology
    ├── occurrence transforms
    └── inter-component context
            │
            ▼
      physical interfaces
            │
            ▼
 contact ≠ constraint ≠ motion semantics
            │
            ▼
   functional neighborhood (planned)
            │
            ▼
 drawing priorities / verification (planned)

Completed phases

Phase 1 — Physical interface identification

On a real Autodesk assembly with 111 visible B-Rep faces, adding assembly context to geometry improved contact-face ranking from a best geometry-only PR-AUC of 0.781 to 0.996, with F1 0.960.

Important limitation: Autodesk contact labels are proximity-based. This validates physical-interface reconstruction, not general engineering-intent understanding.

docs/EXPERIMENT_001_CONTACT_FACE_BASELINE.md

Phase 2 — Interface semantics

A second assembly contained 34 distinct contacting occurrence pairs. Only 18 were also explicitly jointed, establishing a useful representation distinction:

physical contact ≠ explicit constraint ≠ motion semantics

For rigid-vs-revolute classification, the strongest grouped within-design model reached balanced accuracy 0.768 and macro-F1 0.723, recovering 3/4 revolute interfaces.

docs/EXPERIMENT_002_INTERFACE_SEMANTICS.md

Phase 3 — Cross-assembly generalization

The strict test trained on two complete assemblies and tested on a third assembly never seen during training, rotating the held-out assembly.

Cross-design performance dropped substantially. The best mean rigid-vs-revolute balanced accuracy was 0.619. Inspection showed why: the same semantic joint class can be expressed with very different immediate contact geometry across designs.

This motivates Phase 4 rather than a claim that the problem is solved.

docs/EXPERIMENT_003_CROSS_ASSEMBLY_GENERALIZATION.md

Planned research

Phase 4 — Functional-neighborhood representation

Move from the immediate contact patch to a graph containing neighboring B-Rep features, nearby bores/shafts/pins/holes, repeated geometry, and assembly-level relationships. Compare directly against the Phase 3 contact-only baseline.

Phase 5 — Drawing-intelligence bridge

Test whether functional-context representations improve ranking of manufacturing drawing decisions such as view selection, section/detail priorities, and which mating dimensions should be surfaced first.

Phase 6 — Human-reviewed engineering verification

Explore confidence-aware suggestions for datum candidates, critical geometric relations, and a generate → verify → correct loop. This phase is explicitly human-in-the-loop; the current project makes no autonomous GD&T or tolerance assignment claim.

Repository structure

.
├── index.html
├── README.md
├── PROJECT_PLAN.md
├── src/assembly2intent/            # geometry/topology + baseline code
├── scripts/                        # dataset and experiment pipelines
├── tests/                          # unit + optional real-data integration tests
├── data/
│   ├── synthetic/                  # distributable synthetic fixture
│   └── README.md                   # how to obtain real Autodesk data
├── results/                        # aggregate experiment summaries / plots
├── docs/                           # experiment reports + reproducibility
└── research/SOURCES.md             # upstream sources and attribution

Reproduce

Create an environment and install dependencies:

python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt

Run the distributable synthetic tests:

python -m unittest discover -s tests -v

Real-data integration tests are skipped automatically until the Autodesk data is present locally. For the complete real-data workflow, see docs/REPRODUCIBILITY.md.

Data and licensing

The real CAD experiments use selected assemblies from the Autodesk Fusion 360 Gallery Assembly Dataset. This repository intentionally does not redistribute the Autodesk CAD files. Obtain them from the official source and follow Autodesk's Dataset License.

See:

The original Assembly2Intent source is published for research demonstration and technical review. No open-source license is granted in this repository at this time. See LICENSE_STATUS.md.

Citation

See CITATION.cff.

Author

Mohammed Ali

Research prototype prepared independently for technical exploration and discussion. It is not affiliated with or endorsed by Autodesk or DraftAid.

About

Research prototype exploring functional engineering context for CAD-to-drawing intelligence using B-Rep geometry, assembly relationships, and machine learning.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages