Drawing Tools#

Technical Drawing Analysis Library#

drawing_tools is a Python library for comprehensive technical drawing analysis, from low-level geometric constraints to high-level semantic information extraction.

It builds upon the dessia_drawing library, providing higher-level abstractions that simplify common tasks like view title parsing, type detection, table extraction, and engineering rules verification.

As for dessia_drawing, the input data of drawing_tools package is some drawing files pre-converted in .json format using the volmdlr_converter package.

Getting Started

Installation, prerequisites, and your first analysis.

Getting Started
User Guides

Detailed tutorials on Featured classes, view titles, tables, and more.

User Guides
Rules Examples

Practical examples of engineering rules verification.

Engineering Rules Examples
API Reference

Complete reference for all modules, classes, and functions.

API Reference

Quick Example#

from dessia_drawing.core import Drawing
from drawing_tools.featured_drawing import FeaturedDrawing
from drawing_tools.config.default_language_configs import DEFAULT_FRENCH_CONFIG, DEFAULT_ENGLISH_CONFIG

# Load and wrap a drawing
drawing = Drawing.from_json("path/to/drawing.json")
featured_drawing = FeaturedDrawing(drawing, language_configs=[DEFAULT_FRENCH_CONFIG, DEFAULT_ENGLISH_CONFIG])

# Analyze views with automatic type detection
for sheet in featured_drawing.sheets:
    for view in sheet.views:
        print(f"{view.name}: {view.type}")  # e.g., "COUPE A-A: ViewType.SECTION_VIEW"

Indices and Tables#