Measure: centre-to-centre for holes, diameters for circles and arcs, slot sizes (#1392) (#1419)

Measure now reads the picked item's exact shape (cylindrical faces, circular and arc edges,
sketch circles, arcs and lines, profiles, planes, points):

- A circle, hole or arc shows Ø, R and its length (circumference, or arc length and angle).
- A slot (a sketch profile, or a half-cylinder end of a slot in a solid) shows its width,
  centre-to-centre length and overall length.
- Two items where one is round measure from the centre or axis by default (axis to axis,
  axis to plane, edge or point), with the closest and farthest distances listed too; the
  panel switches between centre, min and max, and the canvas line follows.
- inspect.measure and MCP `measure` (new `items` argument) add diameter, radius,
  center_distance, min and max; existing fields are unchanged.

Co-authored-by: Claude Opus 5.5 <[email protected]>
This commit is contained in:
bherbruckandClaude Opus 5.5 authored and GitHub committed 2026-10-15 10:27:13 -04:00
1 parent c36a6f9f90
commit 1744fbb262
18 files changed
+1244 -73

No files matched your search

+10 -1
View File
@@ -906,5 +906,14 @@
"Type": "Typ",
"joint.one_component": "Diese Teile sind Körper einer Komponente: {bodies}. Ein Gelenk bewegt eine Komponente gegenüber einer anderen, daher braucht jedes Teil eine eigene Komponente.",
"joint.one_body": "Beide Auswahlen liegen auf {body}. Wählen Sie die zweite auf einem anderen Teil.",
"joint.from_bodies_hint": "Jeder ausgewählte Körper kommt in eine eigene neue Komponente und bleibt, wo er ist."
"joint.from_bodies_hint": "Jeder ausgewählte Körper kommt in eine eigene neue Komponente und bleibt, wo er ist.",
"Circumference": "Umfang",
"Arc length": "Bogenlänge",
"Slot width": "Langlochbreite",
"Centre to centre": "Mitte zu Mitte",
"Overall length": "Gesamtlänge",
"Min": "Min",
"Max": "Max",
"Length": "Länge",
"Area": "Fläche"
}
+8 -1
View File
@@ -1163,5 +1163,12 @@
"Round": "Round",
"joint.one_component": "These parts are bodies of one component: {bodies}. A joint moves one component against another, so each part needs a component of its own.",
"joint.one_body": "Both picks are on {body}. Pick the second one on another part.",
"joint.from_bodies_hint": "Each picked body moves into a new component of its own and stays where it is."
"joint.from_bodies_hint": "Each picked body moves into a new component of its own and stays where it is.",
"Circumference": "Circumference",
"Arc length": "Arc length",
"Slot width": "Slot width",
"Centre to centre": "Centre to centre",
"Overall length": "Overall length",
"Min": "Min",
"Max": "Max"
}
+8 -1
View File
@@ -1163,5 +1163,12 @@
"Round": "丸め",
"joint.one_component": "これらの部品は 1 つのコンポーネントのボディです: {bodies}。ジョイントはコンポーネント同士を動かすため、部品ごとに専用のコンポーネントが必要です。",
"joint.one_body": "両方の選択が {body} 上にあります。2 つ目は別の部品で選択してください。",
"joint.from_bodies_hint": "選択した各ボディを、位置はそのままで専用の新しいコンポーネントに移動します。"
"joint.from_bodies_hint": "選択した各ボディを、位置はそのままで専用の新しいコンポーネントに移動します。",
"Circumference": "円周",
"Arc length": "円弧の長さ",
"Slot width": "長穴の幅",
"Centre to centre": "中心間",
"Overall length": "全長",
"Min": "最小",
"Max": "最大"
}
+10 -1
View File
@@ -906,5 +906,14 @@
"Type": "유형",
"joint.one_component": "이 부품들은 한 구성 요소의 바디입니다: {bodies}. 관절은 한 구성 요소를 다른 구성 요소에 대해 움직이므로 부품마다 자체 구성 요소가 필요합니다.",
"joint.one_body": "두 선택이 모두 {body}에 있습니다. 두 번째는 다른 부품에서 선택하세요.",
"joint.from_bodies_hint": "선택한 각 바디가 제자리에 그대로 있으면서 자체의 새 구성 요소로 옮겨집니다."
"joint.from_bodies_hint": "선택한 각 바디가 제자리에 그대로 있으면서 자체의 새 구성 요소로 옮겨집니다.",
"Circumference": "원주",
"Arc length": "호 길이",
"Slot width": "슬롯 폭",
"Centre to centre": "중심 간",
"Overall length": "전체 길이",
"Min": "최소",
"Max": "최대",
"Length": "길이",
"Area": "면적"
}
+8 -1
View File
@@ -1163,5 +1163,12 @@
"Round": "圆角",
"joint.one_component": "这些零件是同一组件的实体:{bodies}。接头使一个组件相对另一个组件运动,因此每个零件都需要自己的组件。",
"joint.one_body": "两次选择都在 {body} 上。请在另一个零件上选择第二个。",
"joint.from_bodies_hint": "每个所选实体移入各自的新组件,位置保持不变。"
"joint.from_bodies_hint": "每个所选实体移入各自的新组件,位置保持不变。",
"Circumference": "周长",
"Arc length": "弧长",
"Slot width": "槽宽",
"Centre to centre": "中心距",
"Overall length": "总长",
"Min": "最小",
"Max": "最大"
}