Files
mpm-documentation-kit/_STANDARDS/templates/DWG/build.py
T

50 lines
2.1 KiB
Python
Raw Normal View History

2026-11-09 11:51:56 -06:00
"""TEMPLATE — Drawing sheet (DWG), 11×17 landscape. Copy this folder to <PROJECT>/source/ and fill it in.
Mechanical, mounting, cable or fit-out drawings someone will fabricate or approve from.
See MPM_Document_Standard.md §9.7. Each dwg.sheet(...) is one page; the title block, sheet numbers,
zone grid, revision history and confidentiality strip are automatic.
View area = 6 columns × 4 rows. Place each view with area="row-start / col-start / row-end / col-end"
(e.g. "1 / 1 / 5 / 3" = full height, left third).
"""
import sys, pathlib
HERE = pathlib.Path(__file__).resolve().parent
sys.path.insert(0, str(next(p / "_STANDARDS" for p in HERE.parents if (p / "_STANDARDS").is_dir())))
from mpmdoc import Drawing
from figs import FIGS
F = {k: f() for k, f in FIGS.items()}
dwg = Drawing(
number="DWG-MPM-SUBJ-01", rev="0.1", date="2026-11-06",
title="Wall-Plate Sign Bracket",
subtitle="Mounting bracket, general arrangement",
project="Project name", client="Customer", location="City, ST",
discipline="Mechanical drawing · Mounting",
drawn="JS", checked="—", approved="—",
slug="Customer_Sign-Bracket_GA",
history=[("0.1", "2026-11-06", "Initial issue for review.")],
)
dwg.sheet(
views=[
dwg.view(F["elevation"], 1, "Elevation · wall plate", "1:4", area="1 / 1 / 5 / 3"),
dwg.view(F["section"], 2, "Section A · side", "1:4", area="1 / 3 / 4 / 7"),
dwg.view(F["detail"], 3, "Detail B · anchor", "1:1", area="4 / 3 / 5 / 5"),
],
schedule=[ # (tag, designation, description, qty)
("B-1", "Wall plate", "6 mm HDG steel, 200 × 300", 1),
("A-1", "Arm", "60 × 60 × 4 SHS, HDG, 400 long", 1),
("F-1", "Anchor", "M12 wedge anchor, A4 stainless", 4),
],
notes=[
"All dimensions in mm unless noted. Do not scale from drawing.",
"Hot-dip galvanize all steel after fabrication.",
"Confirm wall / post construction before drilling.",
"Sign and its hanging hardware supplied by others.",
],
scale="As shown",
)
dwg.build()