Deterministic 3D CAD CUA & B-Rep RLVR Platform
Purpose-built infrastructure for training and evaluating spatial Computer-Using Agents (CUA) and multimodal reasoning models on commercial 3D CAD suites with sub-10ms ISO-10303-21 .STEP B-Rep geometric verification.
Out-of-band ISO-10303-21 B-Rep scoring
62 episodes · 48 blueprints · 215 CAD files
Zero VLM-judge hallucination (verify_step.py)
Zero-contamination 2D-to-3D B-Rep RLVR tasks
Tri-Modal CAD CUA Capture & Headless Execution
Web-DOM agent datasets cannot teach a model how to constrain a 2D sketch plane, revolve a boss, or orbit a 3D assembly. SpacetimeML captures synchronized tri-modal mechanical engineering trajectories—pairing lossless viewport video, high-frequency 6-DoF input telemetry, and exact parametric & B-Rep CAD deliverables.
Synchronized 60fps Viewport & Vision OCR
Captures lossless viewport frames with automated 9-pass CPU Vision OCR privacy scrubbing (11,792 retained PNG observations from 72,070 inspected frames with 0 PII leaks).
6-DoF Mouse, Orbit, Pan & Zoom Telemetry
Records 237,579 high-frequency desktop events (235,792 mouse, keyboard, and 3D scroll/orbit actions) paired with live foreground application context polling (app_context_updated_at).
Dual Native + ISO-10303-21 .STEP Gate
Enforces mandatory pairing of native feature trees (.sldprt, .prt, .fcstd, .ipt, .dwg, .f3d) alongside exported .step/.stp B-Rep solids (215 verified CAD deliverables).
Multi-Suite Commercial & Headless CAD
Spans 6 industrial CAD suites—SolidWorks (51), PTC Creo (9), AutoCAD (1), FreeCAD (1), Autodesk Fusion (1), and Autodesk Inventor (1)—plus headless CadQuery/OpenCASCADE workers.
models/cad-XXXXXX.zip) are paired with episode observations and 48 ISO-128 2D Reference Engineering Blueprint pairs (.png & .pdf).# Out-of-Band ISO-10303-21 (.STEP) Geometric Reward Engine
def compute_rlvr_reward(candidate_step: str, gt_step: str) -> dict:
cand = parse_step_text(candidate_step)
gt = parse_step_text(gt_step)
# Gate 1: Watertight Manifold Solid Check
if not (cand["topology"]["closed_shells"] >= 1 and
cand["topology"]["open_shells"] == 0):
return {"passed": False, "rlvr_reward": 0.0}
# Gate 2: Multi-Invariant Continuous Reward R in [0, 1]
R = (
0.35 * s_bbox(cand, gt) # Principal-Axis BBox IoU
+ 0.25 * s_vol_area(cand, gt) # Volume & Surface Area
+ 0.20 * s_topology(cand, gt) # Euler V - E + F Graph
+ 0.20 * s_surface(cand, gt) # Analytical Surfaces & Bore Radii
)
return {"passed": bool(R >= 0.85), "rlvr_reward": round(R, 4)}Out-of-Band ISO-10303-21 .STEP Verifier
VLM-as-a-judge rewards fail on mechanical engineering because rendered 2D screenshots hide internal counterbores, non-manifold open shells, and 15% dimensional drift. verify_step.py parses the exact ISO-10303-21 Boundary Representation (B-Rep) entity graph in under 10ms.
35% Principal-Axis Bounding Box IoU (s_bbox)
Computes rotation-invariant sorted 3D principal extents and PCA inertia moments to penalize dimensional tolerance drift and 3D axis swaps.
25% Closed-Shell Volume & Surface Area (s_vol_area)
Evaluates solid packing density, mass conservation, and total surface area across all MANIFOLD_SOLID_BREP and CLOSED_SHELL entities.
20% B-Rep Topological Graph & Euler-Poincaré (s_topology)
Verifies exact face (ADVANCED_FACE), edge (EDGE_CURVE), and vertex (VERTEX_POINT) counts alongside the Euler characteristic (V - E + F) and watertight shell closure.
20% Analytical Surface & Bore Radius Spectrum (s_surface)
Matches PLANE, CYLINDRICAL_SURFACE, CONICAL_SURFACE, TOROIDAL_SURFACE, and B_SPLINE_SURFACE distributions plus Jaccard overlap of cylindrical bore/boss radii.
Test verify_step.py Live in Your Browser (<10ms Execution)
Select a reference blueprint below, toggle between Human Ground Truth and Frontier Model candidate .STEP files—or drag-and-drop your own .STEP / .STP file to compute exact B-Rep RLVR rewards in real time.
Tip: Try editing CLOSED_SHELL to OPEN_SHELL or modifying CARTESIAN_POINT coordinates above to watch the B-Rep reward update instantaneously.
R = 0.35·s_bbox + 0.25·s_vol + 0.20·s_top + 0.20·s_surfProcedural Parametric CAD & ISO-128 Blueprint Synthesizer
Starting from human-engineered SolidWorks and PTC Creo gold trajectories, SpacetimeML procedurally mutates parametric feature trees and renders paired ISO-128 2D orthographic blueprints to generate 50,000+ zero-contamination 2D-to-3D B-Rep RLVR tasks.
Parametric Feature-Tree Mutation
Perturbs sketch dimensions, bolt-circle patterns, counterbore depths, fillet radii, and boolean boss/cut operations while guaranteeing solver validity and manifold closure.
ISO-128 4-View Blueprint Rendering
Automatically projects every synthesized 3D solid into standardized Third-Angle orthographic views (Front, Top, Right) + Isometric wireframe with explicit dimension callouts (.png & .pdf).
Dual GUI + Code Action Oracles
Emits both ground-truth ISO-10303-21 .STEP B-Rep solids and verified execution traces, enabling joint post-training of GUI Computer-Using Agents and CadQuery/OpenCASCADE code generators.
Post-Training RL Cluster Integration
Drop-in reward computation for modern post-training frameworks: PyTorch, Ray Train, vLLM, VeRL, and OpenRLHF. Rollout workers generate candidate CAD actions or scripts, export a .STEP solid, and receive a dense continuous reward R ∈ [0, 1] in milliseconds.
import ray
import verify_step
@ray.remote
def cad_rlvr_rollout_worker(model, task_row):
# 1. Load 2D ISO-128 engineering blueprint prompt
blueprint_png = task_row["blueprint_png"]
gt_step_path = task_row["ground_truth_step"]
# 2. Rollout CUA trajectory or parametric CAD synthesis
pred_step_path = model.rollout_cad_episode(blueprint_png)
# 3. Deterministic ISO-10303-21 B-Rep verification (<10ms)
score = verify_step.score_step_pair(gt_step_path, pred_step_path)
# Dense continuous reward R in [0, 1] + binary pass flag
return {
"episode_id": task_row["episode_id"],
"reward": score["rlvr_reward"], # e.g. 0.914
"passed": score["passed"], # Watertight & R >= 0.85
"components": {
"s_bbox": score["bbox_score"],
"s_vol_area": score["volume_score"],
"s_topology": score["topology_score"],
"s_surface": score["surface_score"],
},
}Scale Beyond the Public 62-Episode Release
While spacetime-ml/cad-cua provides an open 5.53 GB CC BY 4.0 baseline on Hugging Face, SpacetimeML partners with frontier AI labs to deliver massive private trajectory corpora and custom B-Rep RLVR environments.
50,000+ Private CAD Tasks
Non-public multi-part assemblies, sheet-metal enclosures, GD&T tolerance stacks, and complex CNC-machined housings with zero web-crawl contamination.
Managed Mechanical Engineers
Vetted SolidWorks, PTC Creo, Siemens NX, CATIA, and Autodesk Inventor engineers recording custom multi-hour design trajectories with mandatory native + .STEP deliverables.
Dedicated Rollout Workers
Containerized Windows/Linux CAD GUI sandboxes and high-throughput verify_step.py reward servers deployed directly inside your VPC or on-premise GPU cluster.