Files
autocad-mcp-pro/engineering/__init__.py
T
U-C4N 9258da429f Add AutoCAD MCP premium skill and backend APIs
Introduce the autocad-mcp-premium skill with workflow docs, examples, and references (.claude/skills/autocad-mcp-premium/*). Add PlanSpec/critique plumbing and engineering helpers (engineering/plan_spec.py, engineering/critique.py) plus tests and a smoke script. Extend backend API (backends/base.py) with corner operations and premium meta-tools (trim/extend/fillet/chamfer, drawing_plan, drawing_critique, point_from_snap, construction_xline/clear, drawing_apply_iso_layers, dimension_auto, entity_select_smart) and implement COM backend corner ops (backends/com_backend.py) with placeholders for meta-tools. Update CLAUDE.md to document the premium drawing rules and standard workflow. Misc: add examples, references, and tests for premium features, and minor server/backend adjustments.
2026-05-15 19:17:14 +03:00

86 lines
2.2 KiB
Python

"""Deterministic engineering CAD layer for AutoCAD MCP Pro."""
from .gear import (
draw_gear_section_aa,
draw_helical_gear_front_view,
draw_spur_gear_front_view,
generate_full_gear_outline,
generate_involute_flank,
generate_tooth_profile,
involute_xy,
)
from .keyway import (
DIN6885_TABLE,
draw_keyed_bore,
draw_keyway_section,
keyway_dimensions,
)
from .layers import (
ENGINEERING_LAYERS,
STANDARD_LINETYPES,
ensure_engineering_layers,
ensure_standard_linetypes,
)
from .plan_spec import (
ALL_CRITIQUE_FOCUSES,
ISO_128_LINEWEIGHTS_MM,
CritiqueFocus,
DimStyle,
Issue,
LayerSetId,
PlanSpec,
SheetSize,
SnapType,
)
from .section import apply_section_hatch, cutting_plane_line
# Agent B contributes titleblock + validator. Imports are guarded so this
# package remains usable while B is still in flight; once those modules land
# the symbols flow through transparently.
try:
from .titleblock import TitleBlockMetadata, apply_iso_a3_titleblock
except ImportError:
TitleBlockMetadata = None # type: ignore[assignment]
apply_iso_a3_titleblock = None # type: ignore[assignment]
try:
from .validator import DrawingValidator, ValidationFinding, ValidationResult
except ImportError:
DrawingValidator = None # type: ignore[assignment]
ValidationFinding = None # type: ignore[assignment]
ValidationResult = None # type: ignore[assignment]
__all__ = [
"draw_helical_gear_front_view",
"draw_spur_gear_front_view",
"draw_gear_section_aa",
"generate_full_gear_outline",
"generate_involute_flank",
"generate_tooth_profile",
"involute_xy",
"draw_keyed_bore",
"draw_keyway_section",
"keyway_dimensions",
"DIN6885_TABLE",
"cutting_plane_line",
"apply_section_hatch",
"ENGINEERING_LAYERS",
"STANDARD_LINETYPES",
"ensure_engineering_layers",
"ensure_standard_linetypes",
"apply_iso_a3_titleblock",
"TitleBlockMetadata",
"DrawingValidator",
"ValidationResult",
"ValidationFinding",
"PlanSpec",
"Issue",
"CritiqueFocus",
"SheetSize",
"LayerSetId",
"DimStyle",
"SnapType",
"ALL_CRITIQUE_FOCUSES",
"ISO_128_LINEWEIGHTS_MM",
]