feat(3drotate): rotate about an axis picked in space

3DROTATE (ROTATE3D) took the drawing's rotation path, so a polyline only
turned in its own plane. It now asks for a base point, an axis — X, Y, Z
or a second point — and an angle, and rotates the selection about that
axis in space.

Fixes #1641

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-07 08:50:06 +03:00
1 parent e854481f72
commit f485df7636
24 files changed
+170 -16

No files matched your search

+3
View File
@@ -2349,6 +2349,9 @@ common =
.chspace-to-paper = CHSPACE: تم نقل __ocs_fmt_0__ كائن إلى فضاء الورق.
.chspace-to-model = CHSPACE: تم نقل __ocs_fmt_0__ كائن إلى فضاء النموذج.
.select-template-title = تحديد قالب
.threedrotate-specify-base-point-count-objects = 3DROTATE حدد نقطة الأساس [__ocs_arg_count__ كائنات]:
.threedrotate-specify-rotation-axis = 3DROTATE حدد محور الدوران [X/Y/Z] أو نقطة ثانية عليه <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE حدد زاوية الدوران <__ocs_arg_a__>:
errors =
.save-warning = تحذير الحفظ
.unable-to-save-drawing = تعذر حفظ الرسم
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ обекта преместени в пространството на листа.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ обекта преместени в пространството на модела.
.select-template-title = Избор на шаблон
.threedrotate-specify-base-point-count-objects = 3DROTATE Посочи базова точка [__ocs_arg_count__ обекта]:
.threedrotate-specify-rotation-axis = 3DROTATE Посочете ос на завъртане [X/Y/Z] или втора точка от нея <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Посочи ъгъл на завъртане <__ocs_arg_a__>:
errors =
.save-warning = Предупреждение при запазване
.unable-to-save-drawing = Чертежът не може да бъде запазен
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ objektů přesunuto do výkresového prostoru.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ objektů přesunuto do modelového prostoru.
.select-template-title = Vybrat šablonu
.threedrotate-specify-base-point-count-objects = 3DROTATE Zadejte základní bod [objekty __ocs_arg_count__]:
.threedrotate-specify-rotation-axis = 3DROTATE Zadejte osu otáčení [X/Y/Z] nebo druhý bod na ní <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Zadejte úhel natočení <__ocs_arg_a__>:
errors =
.save-warning = Uložit varování
.unable-to-save-drawing = Nákres nelze uložit
+3
View File
@@ -2337,6 +2337,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ Objekt(e) in den Papierbereich verschoben.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ Objekt(e) in den Modellbereich verschoben.
.select-template-title = Vorlage auswählen
.threedrotate-specify-base-point-count-objects = 3DROTATE Basispunkt angeben [__ocs_arg_count__ Objekte]:
.threedrotate-specify-rotation-axis = 3DROTATE Drehachse angeben [X/Y/Z] oder einen zweiten Punkt darauf <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Drehwinkel angeben <__ocs_arg_a__>:
errors =
.save-warning = Warnhinweise speichern
.unable-to-save-drawing = Zeichnung konnte nicht gespeichert werden
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ αντικείμενα μεταφέρθηκαν στον χώρο χαρτιού.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ αντικείμενα μεταφέρθηκαν στον χώρο μοντέλου.
.select-template-title = Επιλογή προτύπου
.threedrotate-specify-base-point-count-objects = 3DROTATE Ορίστε σημείο βάσης [__ocs_arg_count__ αντικείμενα]:
.threedrotate-specify-rotation-axis = 3DROTATE Ορίστε άξονα περιστροφής [X/Y/Z] ή δεύτερο σημείο του <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Ορίστε γωνία περιστροφής <__ocs_arg_a__>:
errors =
.save-warning = Προειδοποίηση αποθήκευσης
.unable-to-save-drawing = Αδυναμία αποθήκευσης σχεδίου
+3
View File
@@ -2337,6 +2337,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ object(s) changed to paper space.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ object(s) changed to model space.
.select-template-title = Select Template
.threedrotate-specify-base-point-count-objects = 3DROTATE Specify base point [__ocs_arg_count__ objects]:
.threedrotate-specify-rotation-axis = 3DROTATE Specify rotation axis [X/Y/Z] or a second point on it <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Specify rotation angle <__ocs_arg_a__>:
errors =
.save-warning = Save Warning
.unable-to-save-drawing = Unable to Save Drawing
+3
View File
@@ -2337,6 +2337,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ objeto(s) pasado(s) al espacio papel.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ objeto(s) pasado(s) al espacio modelo.
.select-template-title = Seleccionar plantilla
.threedrotate-specify-base-point-count-objects = 3DROTATE Especifique el punto base [__ocs_arg_count__ objetos]:
.threedrotate-specify-rotation-axis = 3DROTATE Precise el eje de giro [X/Y/Z] o un segundo punto en él <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Precise el ángulo de giro <__ocs_arg_a__>:
errors =
.save-warning = Advertencia de guardado
.unable-to-save-drawing = No se puede guardar el dibujo
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ objektia siirretty paperitilaan.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ objektia siirretty mallitilaan.
.select-template-title = Valitse malli
.threedrotate-specify-base-point-count-objects = 3DROTATE Määritä peruspiste [__ocs_arg_count__ objektit]:
.threedrotate-specify-rotation-axis = 3DROTATE Määritä kiertoakseli [X/Y/Z] tai sen toinen piste <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Määritä kiertokulma <__ocs_arg_a__>:
errors =
.save-warning = Tallenna varoitus
.unable-to-save-drawing = Piirustusta ei voi tallentaa
+3
View File
@@ -2337,6 +2337,9 @@ common =
.chspace-to-paper = CHSPACE : __ocs_fmt_0__ objet(s) déplacé(s) dans l'espace papier.
.chspace-to-model = CHSPACE : __ocs_fmt_0__ objet(s) déplacé(s) dans l'espace objet.
.select-template-title = Sélectionner un gabarit
.threedrotate-specify-base-point-count-objects = 3DROTATE Spécifier le point de base [__ocs_arg_count__ objets]:
.threedrotate-specify-rotation-axis = 3DROTATE Spécifiez l'axe de rotation [X/Y/Z] ou un second point sur celui-ci <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Spécifier l'angle de rotation <__ocs_arg_a__:
errors =
.save-warning = Enregistrer l' avertissement
.unable-to-save-drawing = Impossible de sauvegarder le dessin
+3
View File
@@ -2325,6 +2325,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ ऑब्जेक्ट पेपर स्पेस में बदले गए।
.chspace-to-model = CHSPACE: __ocs_fmt_0__ ऑब्जेक्ट मॉडल स्पेस में बदले गए।
.select-template-title = टेम्पलेट चुनें
.threedrotate-specify-base-point-count-objects = 3DROTATE आधार बिंदु निर्दिष्ट करें [__ocs_arg_count__ ऑब्जेक्ट]:
.threedrotate-specify-rotation-axis = 3DROTATE घूर्णन अक्ष [X/Y/Z] या उस पर दूसरा बिंदु निर्दिष्ट करें <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE घूर्णन कोण को निर्दिष्ट करें <__ocs_arg_a__:
errors =
.save-warning = चेतावनी सहेजें
.unable-to-save-drawing = ड्रॉइंग सहेजी नहीं जा सकी
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ objektum papírtérbe helyezve.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ objektum modelltérbe helyezve.
.select-template-title = Sablon kiválasztása
.threedrotate-specify-base-point-count-objects = 3DROTATE Alappont megadása [__ocs_arg_count__ objektumok]:
.threedrotate-specify-rotation-axis = 3DROTATE Adja meg a forgástengelyt [X/Y/Z] vagy egy második pontját <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Forgatási szög megadása <__ocs_arg_a__>:
errors =
.save-warning = Figyelmeztetés mentése
.unable-to-save-drawing = Nem sikerült menteni a rajzot
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ oggetto/i spostato/i nello spazio carta.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ oggetto/i spostato/i nello spazio modello.
.select-template-title = Seleziona modello
.threedrotate-specify-base-point-count-objects = 3DROTATE Specificare il punto base [oggetti __ocs_arg_count__]:
.threedrotate-specify-rotation-axis = 3DROTATE Specificare l'asse di rotazione [X/Y/Z] o un secondo punto su di esso <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Specificare l'angolo di rotazione <__ocs_arg_a__>:
errors =
.save-warning = Salva avviso
.unable-to-save-drawing = Impossibile salvare il disegno
+3
View File
@@ -2327,6 +2327,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ 個のオブジェクトをペーパー空間に移動しました。
.chspace-to-model = CHSPACE: __ocs_fmt_0__ 個のオブジェクトをモデル空間に移動しました。
.select-template-title = テンプレートを選択
.threedrotate-specify-base-point-count-objects = 3DROTATE 基点を指定 [__ocs_arg_count__ 個]:
.threedrotate-specify-rotation-axis = 3DROTATE 回転軸 [X/Y/Z] または軸上の 2 点目を指定 <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE 回転角度を指定 <__ocs_arg_a__>:
errors =
.save-warning = 保存の警告
.unable-to-save-drawing = 図面を保存できません
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: 객체 __ocs_fmt_0__개를 도면 공간으로 옮겼습니다.
.chspace-to-model = CHSPACE: 객체 __ocs_fmt_0__개를 모형 공간으로 옮겼습니다.
.select-template-title = 템플릿 선택
.threedrotate-specify-base-point-count-objects = 3DROTATE 기준점 지정 [__ocs_arg_count__ 객체]:
.threedrotate-specify-rotation-axis = 3DROTATE 회전 축 [X/Y/Z] 또는 축 위의 두 번째 점 지정 <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE 회전 각도 <__ocs_arg_a__> 지정:
errors =
.save-warning = 경고 저장
.unable-to-save-drawing = 도면을 저장할 수 없습니다
+3
View File
@@ -2337,6 +2337,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ object(en) naar de papierruimte verplaatst.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ object(en) naar de modelruimte verplaatst.
.select-template-title = Sjabloon selecteren
.threedrotate-specify-base-point-count-objects = 3DROTATE Basispunt [__ocs_arg_count__ objecten] opgeven:
.threedrotate-specify-rotation-axis = 3DROTATE Geef de rotatieas op [X/Y/Z] of een tweede punt erop <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Rotatiehoek <__ocs_arg_a__> opgeven:
errors =
.save-warning = Waarschuwing opslaan
.unable-to-save-drawing = Kan tekening niet opslaan
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: przeniesiono obiekty do obszaru papieru: __ocs_fmt_0__.
.chspace-to-model = CHSPACE: przeniesiono obiekty do obszaru modelu: __ocs_fmt_0__.
.select-template-title = Wybierz szablon
.threedrotate-specify-base-point-count-objects = 3DROTATE Określ punkt bazowy [obiekty __ocs_arg_count__]:
.threedrotate-specify-rotation-axis = 3DROTATE Określ oś obrotu [X/Y/Z] lub drugi punkt na niej <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Określ kąt obrotu <__ocs_arg_a__>:
errors =
.save-warning = Zapisz ostrzeżenie
.unable-to-save-drawing = Nie można zapisać rysunku
+3
View File
@@ -2337,6 +2337,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ objeto(s) movido(s) para o espaço do papel.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ objeto(s) movido(s) para o espaço do modelo.
.select-template-title = Selecionar modelo
.threedrotate-specify-base-point-count-objects = 3DROTATE Especifique o ponto base [__ocs_arg_count__ objetos]:
.threedrotate-specify-rotation-axis = 3DROTATE Especifique o eixo de rotação [X/Y/Z] ou um segundo ponto nele <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Especifique o ângulo de rotação <__ocs_arg_a__>:
errors =
.save-warning = Aviso de salvamento
.unable-to-save-drawing = Não foi possível salvar o desenho
+3
View File
@@ -2340,6 +2340,9 @@ common =
.chspace-to-paper = CHSPACE: перенесено в пространство листа объектов: __ocs_fmt_0__.
.chspace-to-model = CHSPACE: перенесено в пространство модели объектов: __ocs_fmt_0__.
.select-template-title = Выбор шаблона
.threedrotate-specify-base-point-count-objects = 3DROTATE Укажите базовую точку [__ocs_arg_count__ объекты]:
.threedrotate-specify-rotation-axis = 3DROTATE Укажите ось поворота [X/Y/Z] или вторую точку на ней <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Укажите угол поворота <__ocs_arg_a__>
errors =
.save-warning = Спасти предостережение
.unable-to-save-drawing = Не удалось сохранить чертёж
+3
View File
@@ -2321,6 +2321,9 @@ common =
.chspace-to-paper = CHSPACE: __ocs_fmt_0__ nesne kağıt alanına taşındı.
.chspace-to-model = CHSPACE: __ocs_fmt_0__ nesne model alanına taşındı.
.select-template-title = Şablon Seç
.threedrotate-specify-base-point-count-objects = 3DROTATE Taban noktasını belirtin [__ocs_arg_count__ nesne]:
.threedrotate-specify-rotation-axis = 3DROTATE Döndürme eksenini [X/Y/Z] ya da eksen üzerinde ikinci bir noktayı belirtin <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE Döndürme açısını belirtin <__ocs_arg_a__>:
errors =
.save-warning = Kaydetme Uyarısı
.unable-to-save-drawing = Çizim Kaydedilemiyor
+3
View File
@@ -2324,6 +2324,9 @@ common =
.chspace-to-paper = CHSPACE: 已将 __ocs_fmt_0__ 个对象移到图纸空间。
.chspace-to-model = CHSPACE: 已将 __ocs_fmt_0__ 个对象移到模型空间。
.select-template-title = 选择样板
.threedrotate-specify-base-point-count-objects = 3DROTATE 指定基点 [__ocs_arg_count__ 个对象]:
.threedrotate-specify-rotation-axis = 3DROTATE 指定旋转轴 [X/Y/Z] 或轴上的第二点 <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE 指定旋转角度 <__ocs_arg_a__>:
errors =
.save-warning = 保存警告
.unable-to-save-drawing = 无法保存图形
+3
View File
@@ -2336,6 +2336,9 @@ common =
.chspace-to-paper = CHSPACE: 已將 __ocs_fmt_0__ 個物件移到圖紙空間。
.chspace-to-model = CHSPACE: 已將 __ocs_fmt_0__ 個物件移到模型空間。
.select-template-title = 選取樣板
.threedrotate-specify-base-point-count-objects = 3DROTATE 指定基點 [__ocs_arg_count__ 個物件]:
.threedrotate-specify-rotation-axis = 3DROTATE 指定旋轉軸 [X/Y/Z] 或軸上的第二點 <Z>:
.threedrotate-specify-rotation-angle-a = 3DROTATE 指定旋轉角度 <__ocs_arg_a__>:
errors =
.save-warning = 儲存警告
.unable-to-save-drawing = 無法儲存圖形