04 - Troubleshooting¶
Quick Reference¶
| Error | Cause | Solution |
|---|---|---|
| "Not connected" | CAD not running | Start CAD application |
| "Connection failed" | COM issue | Reinstall pywin32 |
| "Invalid coordinate" | Bad format | Use "x,y" or "x,y,z" |
| "Document not available" | CAD closed | Restart CAD |
| "Permission denied" | File locked | Check permissions |
Connection Issues¶
"Connection failed: AutoCAD.Application"¶
# Reinstall pywin32
uv run python -m pip install --upgrade pywin32
# Verify COM
uv run python -c "import win32com.client; print('OK')"
- Ensure CAD is running
- Check CAD version (AutoCAD 2018+, ZWCAD 2020+)
"Not connected"¶
Normal on startup - server auto-connects on first tool call.
If it fails:
1. Check CAD is running
2. Restart CAD
3. Use manage_session with {"action": "connect"}
Operation Failures¶
Workflow¶
Before Committing¶
uv run pytest tests/ -v- All 181 tests must passuv run ruff format src/- Formatuv run ruff check src/- Lintuv run mypy src/- Type check (must be clean)
Drawing not visible¶
Invalid coordinates¶
Valid:
Invalid:
Configuration Issues¶
Changes not taking effect¶
- Restart server after editing
src/config.json - Verify JSON syntax:
python -m json.tool src/config.json
Debug Tools¶
Enable debug logging¶
Edit src/config.json:
View logs:
# Setup
uv sync --dev
uv run python -m pip install --upgrade pywin32
# Run
uv run python src/server.py
# Test
uv run pytest tests/ -v # 181 tests
npx -y @modelcontextprotocol/inspector uv run python src/server.py
# Quality
uv run ruff format src/ && uv run ruff check src/ && uv run mypy src/
Browse to http://localhost:3000 to test tools interactively.
Test connection directly¶
from adapters import AutoCADAdapter
adapter = AutoCADAdapter("autocad")
adapter.connect()
print(f"Connected: {adapter.is_connected()}")