Feat/Sketch: associative pattern tools with independent directions and Flip/Center controls (#1601)
Thanks @Karl-VonRichter.
This commit is contained in:
1 parent
44968dbfe6
commit
371578a06f
36 files changed
+1394
-87
No files matched your search
@@ -762,6 +762,20 @@ pub(crate) fn paint_with(p: &Painter, r: Rect, name: &str, ink: Color32, fill: C
|
||||
pen.closed(&[(21.0, 6.0), (15.0, 10.0), (15.0, 18.0), (21.0, 18.0)], a);
|
||||
}
|
||||
"sketch_circ_pattern" => paint(p, r, "pattern_circ", ink, Color32::TRANSPARENT, a),
|
||||
"pattern_flip" => {
|
||||
// Opposing arrows show reversal, with a short reference tick between them.
|
||||
pen.arrow((4.0, 7.0), (20.0, 7.0), a);
|
||||
pen.arrow((20.0, 17.0), (4.0, 17.0), ink);
|
||||
pen.line(&[(12.0, 10.0), (12.0, 14.0)], ink);
|
||||
}
|
||||
"pattern_center" => {
|
||||
// An original on a reference axis, with one equally spaced copy on either side.
|
||||
pen.line(&[(12.0, 3.0), (12.0, 21.0)], a);
|
||||
pen.line(&[(4.0, 12.0), (20.0, 12.0)], ink);
|
||||
for x in [4.0, 12.0, 20.0] {
|
||||
pen.circle(x, 12.0, 2.4, fill, if x == 12.0 { a } else { ink });
|
||||
}
|
||||
}
|
||||
"sketch_rect_pattern" => paint(p, r, "pattern_rect", ink, Color32::TRANSPARENT, a),
|
||||
"line_mid" => {
|
||||
pen.line(&[(3.0, 19.0), (21.0, 5.0)], a);
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"2. Attach your screenshot: copy and paste it, or save and upload the PNG.": "2. Screenshot anhängen: kopieren und einfügen oder als PNG speichern und hochladen.",
|
||||
"3. Click Submit new issue on GitHub to send your report.": "3. Auf GitHub auf Submit new issue klicken, um den Bericht zu senden.",
|
||||
"AI": "KI",
|
||||
"Alignment": "Ausrichtung",
|
||||
"Arc length": "Bogenlänge",
|
||||
"Area": "Fläche",
|
||||
"BROWSER": "BROWSER",
|
||||
@@ -457,6 +458,11 @@
|
||||
"nav.touchpad.pan": "Verschieben (Umschalt halten und bewegen; ohne Maustaste)",
|
||||
"nav.touchpad.scroll": "Touchpad verwendet vertikales Scrollen zum Zoomen. Die Zwei-Finger-Verschiebung bleibt für andere Vorgaben gespeichert.",
|
||||
"nav.touchpad.zoom": "Zoom (vertikal scrollen oder Finger spreizen/zusammenziehen)",
|
||||
"pattern.alignment_2": "Ausrichtung 2",
|
||||
"pattern.alignment_hint": "Die Anzahl enthält das Original. Die zentrierte Anordnung verteilt Kopien auf beide Seiten; bei gerader Anzahl legt die Richtungsumkehr die Seite mit der zusätzlichen Kopie fest.",
|
||||
"pattern.direction_1": "Richtung 1",
|
||||
"pattern.direction_2": "Richtung 2",
|
||||
"pattern.flip_direction": "Richtung umkehren",
|
||||
"render.background": "Szenenhintergrund",
|
||||
"render.fit": "Produkt einpassen",
|
||||
"render.image_cancel": "Rendering abbrechen",
|
||||
@@ -874,6 +880,7 @@
|
||||
"ui.heading_offset_plane": "ABSTANDSEBENE",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "PARAMETER",
|
||||
"ui.heading_pattern": "MUSTER",
|
||||
"ui.heading_pattern_on_path": "PFADMUSTER",
|
||||
"ui.heading_pipe": "ROHR",
|
||||
"ui.heading_plane_at_angle": "EBENE IM WINKEL",
|
||||
|
||||
@@ -671,6 +671,11 @@
|
||||
"no interference": "no interference",
|
||||
"no joint that moves yet": "no joint that moves yet",
|
||||
"no picture": "no picture",
|
||||
"pattern.alignment_2": "Alignment 2",
|
||||
"pattern.alignment_hint": "Counts include the original. Center balances copies; Flip chooses the extra side for even totals.",
|
||||
"pattern.direction_1": "Direction 1",
|
||||
"pattern.direction_2": "Direction 2",
|
||||
"pattern.flip_direction": "Flip direction",
|
||||
"pick a hole to seat it, or OK places it at the origin": "pick a hole to seat it, or OK places it at the origin",
|
||||
"pick one or two vertices, edges or faces": "pick one or two vertices, edges or faces",
|
||||
"render.background": "Scene background",
|
||||
@@ -1118,6 +1123,7 @@
|
||||
"ui.heading_offset_plane": "OFFSET PLANE",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "PARAMETERS",
|
||||
"ui.heading_pattern": "PATTERN",
|
||||
"ui.heading_pattern_on_path": "PATTERN ON PATH",
|
||||
"ui.heading_pipe": "PIPE",
|
||||
"ui.heading_plane_at_angle": "PLANE AT ANGLE",
|
||||
|
||||
@@ -651,6 +651,11 @@
|
||||
"no interference": "aucune interférence",
|
||||
"no joint that moves yet": "aucune liaison mobile pour l'instant",
|
||||
"no picture": "aucune image",
|
||||
"pattern.alignment_2": "Alignement 2",
|
||||
"pattern.alignment_hint": "La quantité inclut l’original. Le centrage répartit les copies de chaque côté ; si la quantité est paire, l’inversion choisit le côté qui reçoit la copie supplémentaire.",
|
||||
"pattern.direction_1": "Direction 1",
|
||||
"pattern.direction_2": "Direction 2",
|
||||
"pattern.flip_direction": "Inverser la direction",
|
||||
"pick a hole to seat it, or OK places it at the origin": "choisir un trou pour la loger, ou OK la place à l'origine",
|
||||
"pick one or two vertices, edges or faces": "choisir un ou deux sommets, arêtes ou faces",
|
||||
"render.background": "Arrière-plan de la scène",
|
||||
@@ -944,6 +949,7 @@
|
||||
"ui.heading_offset_plane": "PLAN DÉCALÉ",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "PARAMÈTRES",
|
||||
"ui.heading_pattern": "RÉSEAU",
|
||||
"ui.heading_pattern_on_path": "RÉSEAU SUR TRAJECTOIRE",
|
||||
"ui.heading_pipe": "TUYAU",
|
||||
"ui.heading_plane_at_angle": "PLAN INCLINÉ",
|
||||
|
||||
@@ -671,6 +671,11 @@
|
||||
"no interference": "干渉なし",
|
||||
"no joint that moves yet": "可動ジョイントがまだありません",
|
||||
"no picture": "画像なし",
|
||||
"pattern.alignment_2": "配置 2",
|
||||
"pattern.alignment_hint": "個数には元の図形が含まれます。中央配置ではコピーを両側に配置し、反転で偶数個の場合に多く配置する側を切り替えます。",
|
||||
"pattern.direction_1": "方向 1",
|
||||
"pattern.direction_2": "方向 2",
|
||||
"pattern.flip_direction": "方向を反転",
|
||||
"pick a hole to seat it, or OK places it at the origin": "配置先の穴を選択するか、[OK]を押すと原点に配置します。",
|
||||
"pick one or two vertices, edges or faces": "1つまたは2つの頂点、エッジ、面を選択",
|
||||
"render.background": "シーンの背景",
|
||||
@@ -1118,6 +1123,7 @@
|
||||
"ui.heading_offset_plane": "オフセット平面",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "パラメータ",
|
||||
"ui.heading_pattern": "パターン",
|
||||
"ui.heading_pattern_on_path": "パス上のパターン",
|
||||
"ui.heading_pipe": "パイプ",
|
||||
"ui.heading_plane_at_angle": "傾斜平面",
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"2. Attach your screenshot: copy and paste it, or save and upload the PNG.": "2. 스크린샷을 첨부하세요. 복사하여 붙여넣거나 PNG로 저장한 뒤 업로드하세요.",
|
||||
"3. Click Submit new issue on GitHub to send your report.": "3. GitHub에서 Submit new issue를 클릭하여 보고서를 보내세요.",
|
||||
"AI": "AI",
|
||||
"Alignment": "정렬",
|
||||
"Arc length": "호 길이",
|
||||
"Area": "면적",
|
||||
"BROWSER": "브라우저",
|
||||
@@ -457,6 +458,11 @@
|
||||
"nav.touchpad.pan": "화면 이동 (Shift를 누르고 이동, 마우스 버튼 불필요)",
|
||||
"nav.touchpad.scroll": "터치패드는 세로 스크롤로 확대/축소합니다. 두 손가락 이동 설정은 다른 프리셋을 위해 유지됩니다.",
|
||||
"nav.touchpad.zoom": "확대/축소 (세로 스크롤 또는 핀치)",
|
||||
"pattern.alignment_2": "정렬 2",
|
||||
"pattern.alignment_hint": "개수에는 원본이 포함됩니다. 가운데 정렬은 복사본을 양쪽에 배치하며, 개수가 짝수이면 방향 반전으로 복사본이 하나 더 배치되는 쪽을 선택합니다.",
|
||||
"pattern.direction_1": "방향 1",
|
||||
"pattern.direction_2": "방향 2",
|
||||
"pattern.flip_direction": "방향 반전",
|
||||
"render.background": "장면 배경",
|
||||
"render.fit": "제품에 맞추기",
|
||||
"render.image_cancel": "렌더링 취소",
|
||||
@@ -874,6 +880,7 @@
|
||||
"ui.heading_offset_plane": "오프셋 평면",
|
||||
"ui.heading_ok": "확인",
|
||||
"ui.heading_parameters": "매개변수",
|
||||
"ui.heading_pattern": "패턴",
|
||||
"ui.heading_pattern_on_path": "경로 패턴",
|
||||
"ui.heading_pipe": "파이프",
|
||||
"ui.heading_plane_at_angle": "각도 평면",
|
||||
|
||||
@@ -613,6 +613,11 @@
|
||||
"no interference": "нет интерференции",
|
||||
"no joint that moves yet": "пока нет подвижных сопряжений",
|
||||
"no picture": "нет картинки",
|
||||
"pattern.alignment_2": "Выравнивание 2",
|
||||
"pattern.alignment_hint": "Количество включает оригинал. Центрирование распределяет копии по обе стороны; при чётном количестве смена направления выбирает сторону с дополнительной копией.",
|
||||
"pattern.direction_1": "Направление 1",
|
||||
"pattern.direction_2": "Направление 2",
|
||||
"pattern.flip_direction": "Изменить направление",
|
||||
"pick a hole to seat it, or OK places it at the origin": "выберите отверстие для установки, или OK разместит в начале координат",
|
||||
"pick one or two vertices, edges or faces": "выберите одну-две вершины, ребра или грани",
|
||||
"render.background": "Фон сцены",
|
||||
@@ -896,6 +901,7 @@
|
||||
"ui.heading_offset_plane": "СМЕЩЁННАЯ ПЛОСКОСТЬ",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "ПАРАМЕТРЫ",
|
||||
"ui.heading_pattern": "МАССИВ",
|
||||
"ui.heading_pattern_on_path": "МАССИВ ПО ТРАЕКТОРИИ",
|
||||
"ui.heading_pipe": "ТРУБА",
|
||||
"ui.heading_plane_at_angle": "ПЛОСКОСТЬ ПОД УГЛОМ",
|
||||
|
||||
@@ -628,6 +628,11 @@
|
||||
"no interference": "girişim yok",
|
||||
"no joint that moves yet": "henüz hareket eden bir bağlantı yok",
|
||||
"no picture": "resim yok",
|
||||
"pattern.alignment_2": "Hizalama 2",
|
||||
"pattern.alignment_hint": "Adet, orijinali içerir. Ortala, kopyaları iki yana dağıtır; çift adetlerde yönü ters çevirme, fazladan kopyanın hangi tarafta olacağını belirler.",
|
||||
"pattern.direction_1": "Yön 1",
|
||||
"pattern.direction_2": "Yön 2",
|
||||
"pattern.flip_direction": "Yönü ters çevir",
|
||||
"pick a hole to seat it, or OK places it at the origin": "yerleştirmek için bir delik seçin veya OK ile orijine yerleştirin",
|
||||
"pick one or two vertices, edges or faces": "bir veya iki köşe noktası, kenar ya da yüz seçin",
|
||||
"render.background": "Sahne arka planı",
|
||||
@@ -1056,6 +1061,7 @@
|
||||
"ui.heading_offset_plane": "OFSET DÜZLEM",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "PARAMETRELER",
|
||||
"ui.heading_pattern": "DESEN",
|
||||
"ui.heading_pattern_on_path": "YOL ÜZERİNDE DESEN",
|
||||
"ui.heading_pipe": "BORU",
|
||||
"ui.heading_plane_at_angle": "AÇILI DÜZLEM",
|
||||
|
||||
@@ -597,6 +597,11 @@
|
||||
"no interference": "немає перетинів",
|
||||
"no joint that moves yet": "ще немає рухомого з'єднання",
|
||||
"no picture": "немає зображення",
|
||||
"pattern.alignment_2": "Вирівнювання 2",
|
||||
"pattern.alignment_hint": "Кількість включає оригінал. Центрування розподіляє копії з обох боків; за парної кількості зміна напрямку визначає бік із додатковою копією.",
|
||||
"pattern.direction_1": "Напрямок 1",
|
||||
"pattern.direction_2": "Напрямок 2",
|
||||
"pattern.flip_direction": "Змінити напрямок",
|
||||
"pick a hole to seat it, or OK places it at the origin": "виберіть отвір для посадки, або OK розмістить його в початку координат",
|
||||
"pick one or two vertices, edges or faces": "виберіть одну-дві вершини, ребра або грані",
|
||||
"settings.measure_axis_distances": "Відстані X/Y/Z",
|
||||
@@ -796,6 +801,7 @@
|
||||
"ui.heading_offset_plane": "ЗСУНУТА ПЛОЩИНА",
|
||||
"ui.heading_ok": "OK",
|
||||
"ui.heading_parameters": "ПАРАМЕТРИ",
|
||||
"ui.heading_pattern": "МАСИВ",
|
||||
"ui.heading_pattern_on_path": "МАСИВ НА ТРАЄКТОРІЇ",
|
||||
"ui.heading_pipe": "ТРУБА",
|
||||
"ui.heading_plane_at_angle": "ПЛОЩИНА ПІД КУТОМ",
|
||||
|
||||
@@ -671,6 +671,11 @@
|
||||
"no interference": "无干涉",
|
||||
"no joint that moves yet": "尚无运动接头",
|
||||
"no picture": "无图片",
|
||||
"pattern.alignment_2": "对齐 2",
|
||||
"pattern.alignment_hint": "数量包含原始图形。居中时副本分布在两侧;数量为偶数时,反转可切换多一个副本的一侧。",
|
||||
"pattern.direction_1": "方向 1",
|
||||
"pattern.direction_2": "方向 2",
|
||||
"pattern.flip_direction": "反转方向",
|
||||
"pick a hole to seat it, or OK places it at the origin": "选择一个孔放置,或单击确定放置在原点",
|
||||
"pick one or two vertices, edges or faces": "选择一个或两个顶点、边或面",
|
||||
"render.background": "场景背景",
|
||||
@@ -1118,6 +1123,7 @@
|
||||
"ui.heading_offset_plane": "偏移平面",
|
||||
"ui.heading_ok": "确定",
|
||||
"ui.heading_parameters": "参数",
|
||||
"ui.heading_pattern": "阵列",
|
||||
"ui.heading_pattern_on_path": "路径阵列",
|
||||
"ui.heading_pipe": "管道",
|
||||
"ui.heading_plane_at_angle": "角度平面",
|
||||
|
||||
Reference in new issue
Block a user