|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Я то собственно про то что в любой системе координат "сподручней" крутить текст не через vla или тем более комманные методы - а "правильно" изменяя dxf 210 (по сути как бы Вы не крутили только 210 и поменяеться), поэтому я и считаю что надо именно им оперировать. А про улетание в чертеже автора я уже писал в посте 13 (trans ...).
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 21.08.2010 в 17:25. |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
самого вектора 3d или матрицы поворота Просто навскидку: как определишь нормаль для поворота относительно оси Х на +30 град и относительно оси Y на -45 град? А если еще относительно Z? Не спорю что можно но на фига??? Я не математик (8 классов) так лучше как проще я думаю (по крайней мере для простых юзеров) |
|||
![]() |
|
||||
Тоже раз пытался написать что-то похожее, задача стояла выровнять текст по текущему виду.
Код:
[IMG]http://s61.***********/i173/1008/c0/705286e80679.gif[/IMG] По-моему получилась бы полезная команда, может кто из умных поможет...
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Не только 11, но и 10, похоже...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
В самом общем виде, когда dxf-210 не совпадает с 0,0,1, действительные координаты начальной точки текста не совпадает с dxf-10.
Например, если создать повернутый в пространстве текст, поместить в его начало точку и посмотреть dxf-10 коды этих объектов, обнаружим три большие разницы: ((-1 . <Имя объекта: 7ef9f608>) (0 . "TEXT") (330 . <Имя объекта: 7ef9bcf8>) (5 . "669") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10 3530.38 559.743 235.689) (40 . 125.976) (1 . "повернутый текст") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "Standard") (71 . 0) (72 . 0) (11 0.0 0.0 235.689) (210 -0.666667 0.666667 0.333333) (100 . "AcDbText") (73 . 0)) ((-1 . <Имя объекта: 7ef9f810>) (0 . "POINT") (330 . <Имя объекта: 7ef9bcf8>) (5 . "6A2") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbPoint") (10 -2521.55 -2471.16 606.294) (210 0.0 0.0 1.0) (50 . 0.0)) Скорее всего dxf-10 текста являются проекциями нач. точки текста на плоскость, проходящую через 0,0,0 и перпендикулярную вектору dxf-210 (первые две координаты) и на сам вектор dxf-210 (третья координата). Т.е. для сохранения действительных координат начала текста (чтобы текст не "улетал") надо при изменении dxf-210 пересчитывать dxf-10. Последний раз редактировалось Li6-D, 21.08.2010 в 23:58. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
DXF Reference не пробовали прочитать?
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Потому-что в dxf представлении есть координата по вектору нормали, былаб-там матрица - крутили-бы ее. (Что-то типа нам побоку что крутить, в чем написано в том и крутим). Так-же как химики вес колбасы в молях считают, а японцы с правым рулем ездят.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Насколько я понимаю матрицы системы координат объекта нет только формально, ее можно получить (я не прав?), также есть vla-TransformBy - можно воздействовать на примитив любой матрицей преобразования. Зачем эти головняки с 210, 10, 11 и 50?
|
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Попробуйте покрутить с этим:
Код:
Если задать угол 90 - текст будет повернут на pi/2 против часовой стрелки вокруг выбранной оси (X или Y), минус 90 - по часовой стрелке. Можно утрировать программу исключив выбор текста (будет повернут весь текст в рисунке) и исключить ввод значения угла (будет запрошено направление поворота на pi/2 - по или против часовой стрелки) Последний раз редактировалось Li6-D, 22.08.2010 в 23:34. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
По сути обозначилось два подхода к повороту текста в пространстве:
![]() со вторым мне вообще ничего не понятно ![]() |
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Ну вот общая программа для 3D поворота текста, включая пожелание:
Цитата:
Обе программы работают для любых углов поворота, любого положения текста в пространстве. Код:
Последний раз редактировалось Li6-D, 29.08.2010 в 13:00. Причина: Решение обобщенной задачи |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
LISP. Выравнивание текста по двум точкам. | Krieger | Готовые программы | 10 | 24.12.2011 16:02 |
Поворот текста | klinker | AutoCAD | 9 | 20.10.2010 09:52 |
Научите правильно чертить | Dr_Zlo | AutoCAD | 112 | 03.03.2009 08:31 |
Поворот текста в таблице | Мишаня | AutoCAD | 2 | 24.04.2007 12:10 |