feat(mech): SECTION 23 opens with surface_texture and weld_symbol
ISO 1302:2002's seven transcribed symbol-proportion rows (text height -> line width d', short-leg height H1, minimum height H2) drive the 60 deg vee, the machining-required bar at H1, the machining-prohibited circle inscribed in the vee, and the all-around circle at the kink; the Ra/Rz values, the process, the lay symbol and the machining allowance land around the extension line, which grows with the widest of them. A text height outside the seven rows is refused by name rather than interpolated, and ISO 1302 is accepted as an alias designation for drawings still issued under it - the graphical symbol is the same one. ISO 2553:2019's reference line, dashed identification line (omitted for a symmetrical weld, as the standard permits), size written before the symbol, length and pitch written after it, field-weld flag, all-around circle and process tail. Six elementary symbols are transcribed - square, single-V, single-bevel, single-U, single-J, fillet. The rest of the elementary table is deliberately not shipped: a weld kind outside the six is refused with the list of the six, because a guessed weld symbol is a wrong instruction to a welder. Both tools place the symbol on a plain leader - a line plus an arrowhead with the proportions the backend's own mleader already draws - rather than through leader_create_mleader, which refuses empty text and would hang an MTEXT label off every symbol. Proportions neither standard dimensions (the all-around circles, the flag, the identification line's dashes, the text pitch and the character width estimate) are named constants documented as this implementation's declared choices, never as transcribed values. No new ActiveX member is called: both tools compose LINE / ARC / CIRCLE / LWPOLYLINE / TEXT through the entity-creation contracts both engines already implement, so no live COM probe was needed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
This commit is contained in:
co-authored by
Claude Opus 5
parent
2bb8044144
commit
a4ce46ba9b
@@ -345,6 +345,33 @@ TOOL_ALIASES: dict[str, ToolAliases] = {
|
||||
"true position",
|
||||
),
|
||||
),
|
||||
# ── Mechanical annotation (ISO 21920-1 / ISO 2553) ──────────────────────
|
||||
"surface_texture": ToolAliases(
|
||||
synonyms=(
|
||||
"surface finish",
|
||||
"surface roughness",
|
||||
"surface texture symbol",
|
||||
"roughness symbol",
|
||||
"ra value",
|
||||
"rz value",
|
||||
"machining symbol",
|
||||
"yuzey puruzlulugu",
|
||||
"yuzey isleme sembolu",
|
||||
),
|
||||
),
|
||||
"weld_symbol": ToolAliases(
|
||||
synonyms=(
|
||||
"weld symbol",
|
||||
"welding symbol",
|
||||
"fillet weld",
|
||||
"butt weld",
|
||||
"weld callout",
|
||||
"field weld",
|
||||
"weld all around",
|
||||
"kaynak sembolu",
|
||||
"kose kaynagi",
|
||||
),
|
||||
),
|
||||
# ── Dimensions ──────────────────────────────────────────────────────────
|
||||
"dimension_aligned": ToolAliases(
|
||||
acad=("DIMALIGNED", "DAL"),
|
||||
|
||||
Reference in New Issue
Block a user