Blueprint2CAD: Benchmarking Foundation Models on Engineering Drawing-to-CAD Render Correspondence
Organizations: Novineer · Instituto Tecnológico de Costa Rica · University of Würzburg
Abstract
Engineering drawings specify mechanical parts through orthographic projections. Recognizing which part a drawing depicts underlies part search, design reuse, and digitization, yet no public benchmark measures whether vision models can do it. We introduce Blueprint2CAD, a benchmark for drawing-to-render correspondence: given an orthographic line drawing and a shaded render, usually from another viewpoint, decide whether they show the same part. Its data layer, BlueCAD-30K, applies an open drafting pipeline to 29,925 Zero-to-CAD models, adding view-aligned renders, clean and dimensioned drawings from six viewpoints, and surface-type metadata. Frozen encoders retrieve the matching part from a 10,000-model gallery with up to 65% Recall@1 when viewpoints are known but 43% when they are not, and the four encoders we test lie within six points of each other: viewpoint, not backbone, is the bottleneck. Six zero-shot vision-language models reach only 0.52-0.67 verification accuracy, with model-specific Yes/No biases that chain-of-thought shifts but does not remove; a quick LoRA fine-tuning on in-domain pairs improves verification accuracy by a few points but sharpens these biases and leaves the viewpoint failure intact.
Figures & tables
| R@1 , view-agnostic | R@1 , view-aligned | Al-mean | |||||
| Backbone | Max | Mean | Al-max | Al-mean | R@1 (R D) | MRR | MedR |
| Silhouette | 7.85 | 20.16 | 10.96 | 48.54 | 48.08 | 0.555 | 2 |
| DINOv3 | 29.10 | 43.11 | 34.67 | 65.14 | 57.57 | 0.728 | 1 |
| TIPSv2 | 34.39 | 34.65 | 38.58 | 64.65 | 58.67 | 0.724 | 1 |
| SigLIP2 | 29.52 | 38.07 | 33.54 | 64.15 | 57.15 | 0.714 | 1 |
| RADIO | 27.46 | 36.54 | 30.98 | 59.51 | 49.58 | 0.675 | 1 |
| Views | R@1 | R@5 | R@10 | MRR | MedR |
| front | 14.88 | 25.98 | 31.38 | 0.206 | 62 |
| + back | 15.76 | 27.08 | 33.11 | 0.217 | 48 |
| + bottom | 42.19 | 61.12 | 68.20 | 0.512 | 2 |
| + left | 52.15 | 70.74 | 76.93 | 0.607 | 1 |
| + top | 65.59 | 81.90 | 87.15 | 0.731 | 1 |
| + right (all 6) | 65.14 | 81.79 | 86.87 | 0.728 | 1 |
| Backbone | R@1 (%) | MRR | MedR | Worse (%) | Better (%) |
| DINOv3 | 65.14 58.10 | 0.728 0.663 | 1 1 | 29.1 | 13.4 |
| TIPSv2 | 64.65 61.61 | 0.724 0.697 | 1 1 | 23.2 | 16.0 |
| SigLIP2 | 64.15 61.51 | 0.714 0.692 | 1 1 | 23.7 | 20.3 |
| RADIO | 59.51 58.84 | 0.675 0.673 | 1 1 | 22.5 | 22.9 |
| Task 1 | Task 1 + DIM | Task 2 | Task 3 | |||||
| Model | Acc. | F1 | Acc. | F1 | Acc. | F1 | Acc. | F1 |
| Closed-source models | ||||||||
| Claude Sonnet 5 | 0.635 | 0.631 | 0.590 | 0.560 | 0.374 | 0.372 | 0.520 | 0.409 |
| Gemini 3.6 Flash | 0.654 | 0.620 | 0.670 | 0.646 | 0.690 | 0.689 | 0.562 | 0.491 |
| GPT-5.6 Luna | 0.670 | 0.670 | 0.654 | 0.649 | 0.637 | 0.636 | 0.676 | 0.676 |
| Open-source models | ||||||||
| Model | Acc. | Macro F1 | Complex Rec. | Simple Rec. |
| Closed-source models | ||||
| Claude Sonnet 5 | 0.520 | 0.409 | 0.086 | 0.954 |
| Gemini 3.6 Flash | 0.562 | 0.491 | 0.188 | 0.940 |
| GPT-5.6 Luna | 0.676 | 0.676 | 0.712 | 0.640 |
| Open-source models | ||||
| Mistral-S 3.2 24B | 0.521 | 0.409 | 0.087 | 0.954 |
| Undimensioned | Dimensioned | ||||||
| Model | Pos. | Neg. | Pos. | Neg. | |||
| Closed-source models | |||||||
| Claude Sonnet 5 | 0.728 | 0.541 | 0.848 | 0.331 | |||
| Gemini 3.6 Flash | 0.356 | 0.952 | 0.412 | 0.928 | |||
| GPT-5.6 Luna | 0.703 | 0.637 | 0.772 | 0.535 | |||
| Open-source models | |||||||
| Model | Acc. | F1 | Pos. | Neg. | (forced-choice) | |
| Closed-source models | ||||||
| Claude Sonnet 5 | 0.673 | 0.664 | 0.515 | 0.830 | ( ) | 996 |
| Gemini 3.6 Flash | 0.667 | 0.639 | 0.386 | 0.949 | ( ) | 989 |
| GPT-5.6 Luna | 0.681 | 0.679 | 0.604 | 0.759 | ( ) | 959 |
| Open-source models | ||||||
| Mistral-S 3.2 24B | 0.545 | 0.523 | 0.758 | 0.331 | ( ) | 1000 |
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Signal | Weight | Normalization |
| Freeform face ratio | 25 | |
| Face count (log) | 15 | |
| Non-planar face ratio | 15 | |
| Surface-type entropy | 15 | |
| Inner boundary loops | 12 | |
| Curved edge ratio | 10 |
| Simple | Complex | Full | |
| Faces | 23 | 42 | 37 |
| Edges | 120 | 209 | 190 |
| Inner loops | 0 | 4 | 4 |
| Freeform face ratio | 0.00 | 0.50 | 0.00 |
| Non-planar face ratio | 0.07 | 0.81 | 0.30 |
| Curved edge ratio | 0.08 | 0.86 | 0.28 |
| View | Proj. direction | Image -axis | Image up |
| Front | |||
| Right | |||
| Back | |||
| Left | |||
| Top | |||
| Bottom |
| Backbone | Direction | R@1 | R@2 | R@3 | R@5 | R@10 | MRR | MedR |
| Silhouette | D R | 48.54 | 55.41 | 59.04 | 62.79 | 68.34 | 0.555 | 2 |
| R D | 48.08 | 55.40 | 58.75 | 63.14 | 68.98 | 0.554 | 2 | |
| DINOv3 | D R | 65.14 | 73.56 | 77.67 | 81.79 | 86.87 | 0.728 | 1 |
| R D | 57.57 | 66.34 | 70.32 | 75.28 | 81.44 | 0.659 | 1 | |
| TIPSv2 | D R | 64.65 | 73.34 | 77.08 | 81.63 | 86.42 | 0.724 | 1 |
| R D | 58.67 | 66.60 | 71.11 | 75.55 | 81.18 | 0.665 | 1 |
| Model | Identifier | Temp. | Reasoning | Max tok. |
| Claude Sonnet 5 | claude-sonnet-5 | default | off | 2000 |
| Gemini 3.6 Flash | gemini-3.6-flash | default | default | 2000 |
| GPT-5.6 Luna | gpt-5.6-luna | default | default | 2000 |
| Mistral-S 3.2 24B | mistralai/Mistral-Small-3.2-24B-Instruct-2506 | default | n/a | 2000 (20 in T3) |
| InternVL3.5 14B | OpenGVLab/InternVL3_5-14B | default | off | 2000 (100 in T3) |
| Qwen3-VL 8B | Qwen/Qwen3-VL-8B-Instruct | default | n/a | 2000 |
| Comparison | Acc | ||
| Task 1, leading models (undimensioned) | |||
| GPT-5.6 vs. Qwen3-VL | 342 | 1.000 | |
| GPT-5.6 vs. Gemini | 431 | 1.000 | |
| GPT-5.6 vs. Claude | 344 | 0.295 | |
| Qwen3-VL vs. Gemini | 418 | 1.000 | |
| Qwen3-VL vs. Claude | 295 | 0.285 | |
| Without DIM | With DIM | ||||||||
| Model | Acc. | F1 | Rec. | Prec. | Acc. | F1 | Rec. | Prec. | |
| Complex | Claude Sonnet 5 | 0.665 | 0.665 | 0.666 | 0.668 | 0.611 | 0.597 | 0.615 | 0.637 |
| Gemini 3.6 Flash | 0.717 | 0.699 | 0.713 | 0.777 | 0.735 | 0.724 | 0.732 | 0.773 | |
| GPT-5.6 Luna | 0.711 | 0.710 | 0.710 | 0.711 | 0.705 | 0.704 | 0.707 | 0.711 | |
| Mistral-S 3.2 24B | 0.545 | 0.428 | 0.537 | 0.675 | 0.563 | 0.488 | 0.556 | 0.628 | |
| InternVL3.5 14B | 0.659 | 0.638 | 0.655 | 0.698 | 0.663 | 0.639 | 0.659 | 0.711 | |
| Model | front | right | back | left | top | bottom |
| Positive pairs ( = 86, 81, 92, 79, 78, 84) | ||||||
| Claude Sonnet 5 | 0.92 | 1.00 | 0.89 | 1.00 | 0.53 | 0.74 |
| Gemini 3.6 Flash | 0.35 | 0.56 | 0.27 | 0.54 | 0.42 | 0.36 |
| GPT-5.6 Luna | 0.76 | 0.95 | 0.74 | 0.89 | 0.63 | 0.68 |
| Mistral-S 3.2 24B | 0.16 | 0.21 | 0.20 | 0.28 | 0.06 | 0.04 |
| InternVL3.5 14B | 0.43 | 0.68 | 0.42 | 0.66 | 0.14 | 0.17 |
| Model | front | right | back | left | top | bottom |
| Positive pairs ( = 86, 81, 92, 79, 78, 84/83 † ) | ||||||
| Claude Sonnet 5 | 0.77 | 0.98 | 0.68 | 0.97 | 0.46 | 0.51 |
| Gemini 3.6 Flash | 0.31 | 0.47 | 0.18 | 0.47 | 0.42 | 0.31 |
| GPT-5.6 Luna | 0.74 | 0.88 | 0.67 | 0.85 | 0.51 | 0.57 |
| Mistral-S 3.2 24B | 0.12 | 0.12 | 0.10 | 0.11 | 0.06 | 0.00 |
| InternVL3.5 14B | 0.41 | 0.65 | 0.39 | 0.71 | 0.12 | 0.13 |
| Model | Acc. | F1 | Rec. | Prec. | |
| Overall | Claude Sonnet 5 | 0.374 | 0.372 | 0.379 | 0.425 |
| Gemini 3.6 Flash | 0.690 | 0.689 | 0.689 | 0.691 | |
| GPT-5.6 Luna | 0.637 | 0.636 | 0.635 | 0.643 | |
| Mistral-S 3.2 24B | 0.274 | 0.235 | 0.267 | 0.282 | |
| InternVL3.5 14B | 0.266 | 0.274 | 0.269 | 0.310 | |
| Qwen3-VL 8B | 0.317 | 0.305 | 0.321 | 0.322 |
| Group | Tier | Result | Count (%) |
| Complex | Any-cl. neg. ( ) | All success | 50 (41.0%) |
| Mixed | 72 (59.0%) | ||
| Same-cl. neg. ( ) | All failed | 1 (0.8%) | |
| All success | 53 (39.8%) | ||
| Mixed | 79 (59.4%) | ||
| Positive ( ) | All failed | 25 (10.2%) |
| Split | Models | Pairs | Pos. | Hard neg. | Same view |
| Train | 27,479 | 109,916 | 54,958 | 38,483 | 0.166 / 0.166 |
| Validation | 1,446 | 5,784 | 2,892 | 2,058 | 0.169 / 0.162 |
| Setting | Value |
| LoRA rank / / dropout | 16 / 32 / 0.05 |
| Trainable parameters | 52.5M (0.60%) |
| LoRA targets (LM) | q,k,v,o,gate,up,down_proj |
| LoRA targets (vision) | qkv,proj,linear_fc1,linear_fc2 |
| Optimizer | AdamW, lr , cosine schedule, 3% warmup |
| Effective batch | 16 (1 pair 16 accumulation) |
VLM Evaluation
Vision-language model evaluation measures multimodal systems’ perception, reasoning, grounding, robustness, and reliability across controlled and real-world tasks.
See all 1,017 papers