как лучше поворачивать объекты в 3Д?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > как лучше поворачивать объекты в 3Д?

как лучше поворачивать объекты в 3Д?

Ответ
Поиск в этой теме
Непрочитано 12.09.2011, 01:18 #1
как лучше поворачивать объекты в 3Д?
АлексЮстасу
 
топограф, технолог
 
Москва
Регистрация: 24.05.2009
Сообщений: 3,074

Понимаю, что вопрос азбучный, но я новичок в 3Д, а от всевозможных орбит, видовых кубов, многочисленных систем координат, гизмо (это приличное слово?), режимов таких, сяких - голова идет кругом, а простейшие действия превращаются в биномньютона.
Например, мне нужно повернуть 3дтело (допустим, цилиндр) вдоль какой-то 3длинии. Пока что поворот у меня получается в 551 действие: задать ПСК по трем точкам, повернуть по тем же (!) трем точкам. Потом опять задать ПСК или МСК и т.д. А для этого для привязки нужно сначала повернуть все орбитой кверху ногами. А потом обратно. Сначала повернуть туда-сюда для задания ПСК, а потом туда-сюда для поворота.
Иногда же привязки просто не работают вообще. (Один раз мне помогло отключить динамическую ПСК - это нормально?).
А можно сразу повернуть 3Дтело по трем точкам в 3Д? Без изменения системы координат? Или хотя бы сократить число действий?
Просмотров: 18985
 
Непрочитано 12.09.2011, 01:57
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


Команда _.align или _.3dalign - на выбор.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.09.2011, 02:07
#3
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Ох, еще одна. Т.е. две...
На кнопках эти команды есть?
АлексЮстасу вне форума  
 
Непрочитано 12.09.2011, 02:09
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


На кнопках, по-моему, нет. Хотя сейчас уже не знаю - раньше не было.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.09.2011, 02:15
#5
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Спасибо! Получилось.
Русские аналоги у этих команд есть? (Сейчас есть только 2010, но он не переводит).
АлексЮстасу вне форума  
 
Непрочитано 12.09.2011, 02:18
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


Ну, есть два варианта:
1. Вколотить _.align в ком.строку и нажать Esc. Следом нажать клавишу вверх / Enter / пробел и посмотреть, чего там в ком.строке пишется
2. Попробовать команду "ВЫРОВНЯТЬ", но тут не уверен ни разу.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.09.2011, 02:28
#7
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Пардон - сам пытался смотреть в ком. строке, но не углядел.
Действительно "_align"=="выровнять". А "_3dalign"=="3dвыровнять". Причем, в последнем случае "d" латинское!
Дважды спасибо!

Возник, правда, вопрос: если этот способ является самым простым, быстрым, удобным, то почему для него нет кнопки, места в основных меню?

Последний раз редактировалось АлексЮстасу, 12.09.2011 в 03:36.
АлексЮстасу вне форума  
 
Непрочитано 12.09.2011, 08:12
#8
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


зачем ПСК обязательно по трём точкам выставлять? По объекту, По грани, По оси Z, По виду
Для чего поворачивать ПСК по трём точкам? _ucs _z и указываешь или вводишь угол поворота (по умолчанию- 90 градусов).
Да и ПСК выставлять по трём точкам начиная с AutoCA'а 2008- очень удобно. вызываешь команду и просто три раза указываешь мышкой (первый раз- начало координат, второй раз- направление оси X, третий раз- оси Y
Хмурый вне форума  
 
Автор темы   Непрочитано 12.09.2011, 17:04
#9
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Хмурый Посмотреть сообщение
зачем ПСК обязательно по трём точкам выставлять? По объекту, По грани, По оси Z, По виду
Для чего поворачивать ПСК по трём точкам? _ucs _z и указываешь или вводишь угол поворота (по умолчанию- 90 градусов).
Да и ПСК выставлять по трём точкам начиная с AutoCA'а 2008- очень удобно. вызываешь команду и просто три раза указываешь мышкой (первый раз- начало координат, второй раз- направление оси X, третий раз- оси Y
ПСК обязательно по трем точкам, т.к. поворот Автокад производит только в плоскости (как мне-новичку показалось), а плоскость между осью 3Дтела и 3Длинией в общем случае можно определить только по трем точкам.
Поворот 3Дтела (ПСК - наверное, описка) по трем точкам, т.к. угол в общем случае неизвестен, а указать его иначе я тоже не умею.

В том и был вопрос: как удобнее (быстрее, проще) поворачивать в 3Д один объект, чтобы его ось села на указанную 3Длинию.
Пока что рекомендация kpblc - align лидирует: на ПСК вообще тратить время и усилия не требуется. А число операций лишь на одну больше, чем при повороте по трем точкам в двумерке.
Если есть хорошие альтернативы, то было бы здорово.
АлексЮстасу вне форума  
 
Непрочитано 12.09.2011, 19:18
#10
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


альтернатива- хорошая книга, и всё встанет с головы на ноги
Хмурый вне форума  
 
Автор темы   Непрочитано 12.09.2011, 20:15
#11
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Хмурый Посмотреть сообщение
альтернатива- хорошая книга, и всё встанет с головы на ноги
Видимо, я неправ в названии темы - речь не о вращении вообще, а для частного случая.
Но хотелось бы все-таки конкретно про поворот. Если можно сделать правильнее, чем align'ом, то как?
АлексЮстасу вне форума  
 
Непрочитано 12.09.2011, 20:25
#12
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Видимо, я неправ в названии темы - речь не о вращении вообще, а для частного случая.
Но хотелось бы все-таки конкретно про поворот. Если можно сделать правильнее, чем align'ом, то как?
я же рассказал. Твоя рабочая плоскость XY, со всеми вытекающими. Есть команды, которые позволяют изменять положение плоскости XY в активном режиме (например _3Drotate), но они все недоработанные... любые повороты в 3D осуществляются через _ucs без излишних затрат серого вещества и нервов и стоит изучить все опции этой команды
PS ещё есть копирование с базовой точкой. Копируешь, изменяешь ucs и вставляешь.
PPS хочешь работать в 3D- привыкай к работе с системой координат
Хмурый вне форума  
 
Непрочитано 12.09.2011, 22:19
#13
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,801
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Пардон - сам пытался смотреть в ком. строке, но не углядел.
Действительно "_align"=="выровнять". А "_3dalign"=="3dвыровнять". Причем, в последнем случае "d" латинское!...
А у меня в 2012 в команде 3ДВЫРОВНЯТЬ Д кирилицей пишу.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Автор темы   Непрочитано 13.09.2011, 02:12
#14
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Чтобы не совсем на пальцах, приложил простейший файлик из двух элементов - цилиндра и 3Дполилинии. Для чистоты эксперимента они уже имеют общую точку. Нужно повернуть цилиндр относительно общей точки так, чтобы его ось совпала с 3Дполилинией.
Во сколько действий можно уложиться?
После запуска align и указания вращаемого объекта нужно:
- двойной Enter на общей точке
- указать точку в центре противоположного круга цилиндра
- указать любую точку на 3Дполилинии, кроме самой нижней
- двойной Enter.
Если считать совсем формально, то 6 действий. Если не очень формально, то двойной Enter - это как бы меньше, чем два действия
Но несколько неудобно (мне - я предпочитаю кнопки) вводить команду вручную.
Противоположное "но": зато align позволит посадить на линию 3Дтело, не имеющее с 3Дполилинией общих точек.

Для сравнения - для подобного поворота в плоскости нужно потратить тоже шесть (можно 5) действий:
- указать базовую точку
- правая кнопка
- выбрать Reference
- опять указат базовую точку
- указать точку в центре противоположного круга цилиндра
- указать любую точку на 3Дполилинии, кроме самой нижней.
Пять действий получится, если вместо второго и третьего ввести в ком. строке R.

Есть способы лучше?
Вложения
Тип файла: dwg
DWG 2004
поворот_в_3Д.dwg (224.0 Кб, 2090 просмотров)
АлексЮстасу вне форума  
 
Непрочитано 13.09.2011, 07:52
#15
skif58

Наше дело труба
 
Регистрация: 19.11.2006
Томск_Комсомольск-на-Амуре
Сообщений: 1,736
<phrase 1= Отправить сообщение для skif58 с помощью Yahoo Отправить сообщение для skif58 с помощью Skype™


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Но несколько неудобно (мне - я предпочитаю кнопки) вводить команду вручную.
Ну и сделай себе кнопку ^C^C_align
В _cui (адаптация интерфейса пользователя), в списке команд она есть (слева внизу -Выровнять) без значка.. перетащи ее оттуда сразу на нужную панель и значек подбери или нарисуй свой.
__________________
*...И Случай, бог изобретатель. *
skif58 вне форума  
 
Непрочитано 13.09.2011, 07:56
#16
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


АлексЮстасу, цилиндр- это частный случай. У него не нужно грани в пространстве располагать, хотя положение точек привязки к квадрантам оснований цилиндра может немного удивить. И действия тут считать совсем ни к чему. Большую часть действий проделываешь "на автомате", совершенно не задумываясь. Вот в этом, да ещё в рациональной последовательности и заключается скорость проектирования в 3D
Хмурый вне форума  
 
Автор темы   Непрочитано 13.09.2011, 19:48
#17
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Хмурый Посмотреть сообщение
АлексЮстасу, цилиндр- это частный случай. У него не нужно грани в пространстве располагать, хотя положение точек привязки к квадрантам оснований цилиндра может немного удивить. И действия тут считать совсем ни к чему. Большую часть действий проделываешь "на автомате", совершенно не задумываясь. Вот в этом, да ещё в рациональной последовательности и заключается скорость проектирования в 3D
Можно все-таки под протокол порядок действий поворота в 3Д "в рациональной последовательности"? Как задать, допустим, для данного примера _ucs? И чем повернуть?
АлексЮстасу вне форума  
 
Непрочитано 13.09.2011, 19:56
#18
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Можно все-таки под протокол порядок действий поворота в 3Д "в рациональной последовательности"? Как задать, допустим, для данного примера _ucs? И чем повернуть?
один из "универсальных" вариантов. между файлами тоже работает.

Цитата:
_-view
Enter an option [?/Delete/Orthographic/Restore/Save/sEttings/Window]: _swiso
Regenerating model.

Command:
_UCS
Current ucs name: *WORLD*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>: _fa
Select face of solid object:
Enter an option [Next/Xflip/Yflip] <accept>:

Command:
Command:
Command:
Command: _copybase Specify base point: 1 found

Command: *Cancel*

Command: _ucs
Current ucs name: *NO NAME*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>: _za
Specify new origin point or [Object] <0,0,0>:
Specify point on positive portion of Z-axis <20.0000,4.6259,-18.7060>:
Command:
Command:
Command: _pasteclip Specify insertion point:
Command:
Command: _.erase 1 found

Command:
Command:
Command: _ucs
Current ucs name: *NO NAME*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>:
другой вариант
Цитата:
_-view
Enter an option [?/Delete/Orthographic/Restore/Save/sEttings/Window]: _swiso
Regenerating model.
_ucs
ucs name: *WORLD*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>:
Specify point on X-axis or <Accept>:
Specify point on the XY plane or <Accept>:
Command:
Command:
Command: _rotate
Current positive angle in UCS: ANGDIR=counterclockwise ANGBASE=0.00

Select objects: 1 found

Select objects:

Specify base point:
Specify rotation angle or [Copy/Reference] <0.00>: _r
Specify the reference angle <0.00>: Specify second point:
Specify the new angle or [Points] <0.00>:

_ucs
Current ucs name: *NO NAME*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>:
везде указания только мышкой

есть ещё варианты.
зато не надо ломать голову над тем, как что куда и в какую сторону повернётся.

_ucs _fa - система координат по дну цилиндра.
_ucs _za - ось Z напрвляем вдоль линии

во втором примере система координат по трём точкам
1- общая точка центра дна цилиндра и линии
2- (напраление оси Х) вторая точка линии
3- (напрвление оси Y) центр второго дна цилиндра

я в трёхмерке работаю очень давно и команды 3D не использую за ненадобностью

PS Но проще всего, и правильнее, сразу нарисовать цилиндр в нужном месте и в нужном положении.
вид юго-запад
для этого
Цитата:
_ucs
Current ucs name: *NO NAME*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>: _za
Specify new origin point or [Object] <0,0,0>:
Specify point on positive portion of Z-axis <0.0000,0.0000,1.0000>:
_circle Specify center point for circle or [3P/2P/Ttr (tan tan
radius)]:
Specify radius of circle or [Diameter]: 1
Command:
Command:
Command: _extrude
Current wire frame density: ISOLINES=4
Select objects to extrude: 1 found

Select objects to extrude:

Specify height of extrusion or [Direction/Path/Taper angle]:20.0368

Последний раз редактировалось Хмурый, 13.09.2011 в 20:25.
Хмурый вне форума  
 
Автор темы   Непрочитано 13.09.2011, 20:39
#19
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Расшифровал!..

Т.е. Вы хотите сказать, что при запоминании объект сохранится в той _ucs, которая была выставлена перед этим? Не ожидал.

Пара проблемок:
1. посмотрел в 2012, а там с правой кнопки исчезли эти самые _copybase и пр.
2. Если я вставляю/поворачиваю блок, то команда _ucs (Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>: fa) у меня не видит грани внутри блока.
АлексЮстасу вне форума  
 
Непрочитано 13.09.2011, 20:42
#20
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


у блока граней нет, только у тела.
к блоку привязывать ПСК только по точкам
в 2011 и 2012 следует настроить под себя контекстное меню, введя _copybase и прочее. для удобства работы

Последний раз редактировалось Хмурый, 13.09.2011 в 20:48.
Хмурый вне форума  
 
Автор темы   Непрочитано 13.09.2011, 22:30
#21
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Правильно догадался, что если создать блок вдоль нужной оси, то для вставки вдоль линии достаточно задать ПСК линии?
Это здорово! И удобно.

Но, все-таки, это не чистый поворот.
АлексЮстасу вне форума  
 
Непрочитано 13.09.2011, 22:50
#22
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


я просил изучит опции команды _ucs
там есть и "по объекту"...
Хмурый вне форума  
 
Автор темы   Непрочитано 14.09.2011, 01:53
#23
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Поизучал немного. Но не понял, при чем здесь задание пск по объекту? Поясните, пожалуйста.

Создал блок из цилиндра. Если задать пск с Z вдоль 3Дполилинии, то при вставке подобных блоков, они сразу будут сориентированы соосно с этой 3Дполилинией.

Это все здорово, но иногда же и просто повернуть необходимо. Как сами повороты-то в 3Д лучше делать?
Вложения
Тип файла: dwg
DWG 2004
поворот_в_3Д_2.dwg (226.8 Кб, 5509 просмотров)
АлексЮстасу вне форума  
 
Непрочитано 14.09.2011, 08:01
#24
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


чем самотыком всё делать, лучше почитать хорошую книжку по 3D.
и всё встанет с головы на ноги
Хмурый вне форума  
 
Автор темы   Непрочитано 14.09.2011, 15:28
#25
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Есть книжка "Как лучше поворачивать объекты 3D"?
Вопрос в теме вроде бы очень узкий.
АлексЮстасу вне форума  
 
Непрочитано 14.09.2011, 15:31
#26
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,518


можно использовать панель Вид, меняешь виды, поворачиваешь 3D тело командой Поворот(_rotate)

Последний раз редактировалось Рyslan, 14.09.2011 в 15:49.
Рyslan вне форума  
 
Непрочитано 14.09.2011, 15:43
#27
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Есть книжка "Как лучше поворачивать объекты 3D"?
Вопрос в теме вроде бы очень узкий.
нет, таких книжек нет. А вопрос- шире, чем тебе кажется, ведь, ты учишься.
Хмурый вне форума  
 
Автор темы   Непрочитано 14.09.2011, 16:04
#28
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Рyslan Посмотреть сообщение
можно использовать панель Вид, меняешь виды, поворачиваешь 3D тело командой Поворот(_rotate)
См. #14 - для сравнения добра и зла

Последний раз редактировалось АлексЮстасу, 14.09.2011 в 16:10.
АлексЮстасу вне форума  
 
Непрочитано 14.09.2011, 16:24
#29
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,518


не охота вникать и читать
Рyslan вне форума  
 
Автор темы   Непрочитано 14.09.2011, 16:36
#30
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Рyslan Посмотреть сообщение
не охота вникать и читать
Совет - разворачивать с помощью _rotate - можно и не давать
АлексЮстасу вне форума  
 
Непрочитано 14.09.2011, 16:59
#31
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,924
<phrase 1=


Команда _3drotate поворот объекта относительно текущих осей координат (0XYZ) - нужно предварительно выставить ПСК ежели нужно произвольно развернуть объект.
Команда _rotate3d, аналог плоской команды _rotate(поворот вокруг точки) в пространстве (поворот вокруг оси), ничего не нужно выставлять, просто указываешь положение оси поворота. (честно не всегда понимаю, как происходит поворот объекта) часто используется в сочетании с командой _undo
PS Вы хоть Help читали?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 14.09.2011, 18:39
#32
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от zenon Посмотреть сообщение
Команда _3drotate поворот объекта относительно текущих осей координат (0XYZ) - нужно предварительно выставить ПСК ежели нужно произвольно развернуть объект.
Команда _rotate3d, аналог плоской команды _rotate(поворот вокруг точки) в пространстве (поворот вокруг оси), ничего не нужно выставлять, просто указываешь положение оси поворота. (честно не всегда понимаю, как происходит поворот объекта) часто используется в сочетании с командой _undo
PS Вы хоть Help читали?
я её и не использую из-за этого
Хмурый вне форума  
 
Автор темы   Непрочитано 14.09.2011, 20:28
#33
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от zenon Посмотреть сообщение
Команда _3drotate поворот объекта относительно текущих осей координат (0XYZ) - нужно предварительно выставить ПСК ежели нужно произвольно развернуть объект.
Команда _rotate3d, аналог плоской команды _rotate(поворот вокруг точки) в пространстве (поворот вокруг оси), ничего не нужно выставлять, просто указываешь положение оси поворота. (честно не всегда понимаю, как происходит поворот объекта) часто используется в сочетании с командой _undo
PS Вы хоть Help читали?
А в Хелпе появился раздел - "как лучше"?
С помощью метода kpblc из #2 (_align) разворот сделается для примера из #14 за 6 действий. Причем, ПСК ни устанавливать, ни потом заменять не потребуется.
С помощью метода Хмурого №1 из #18 (запоминания объекта в ПСК его оси) разворот сделается за 8 действий.
С помощью метода Хмурого №2 из #18 (это мой же метод по 3 точкам) разворот сделается за 6 действий.
С помощью метода zenon №2 (_rotate3d) из #31 разворот сделается за 6 действий.
С _3drotate пока что-то не совладал.

Мне непонятно в первую очередь то, что одни функции прекрасно работают без всяких ПСК (тот же _align), а другим ПСК прям необходимы. Ведь на это тратится время, чревато ошибками.
И _rotate3d и _3drotate таковыми фактически не являются, т.к. им необходима не точка, а ось вращения, т.е. вращают они все равно в плоскости. Т.е. носят звание 3d незаконно.

Вдруг обнаружил почти такую же тему:
http://forum.dwg.ru/showthread.php?t...A+%EC%E5%ED%FE

Последний раз редактировалось АлексЮстасу, 15.09.2011 в 02:17.
АлексЮстасу вне форума  
 
Автор темы   Непрочитано 11.06.2012, 17:15
#34
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


С помощью http://forum.dwg.ru/showthread.php?p=932108#post932108 и здешних идей kpblc и Хмурого соорудил два макроса для вставки 3D моделей с нужным разворотом в пространстве. 3D модели предварительно описываются своими блоками, чтобы макросы можно было запускать из панелей инструментов. Всего в два или в три действия!
Код:
[Выделить все]
*^C^C_ucs _za \\_insert "блок_3D_модели";(getvar "lastpoint");;;;_ucs _w _explode;_l;
- вставка с разворотом вдоль оси моделей. Используется назначение UCS. Два действия.
Код:
[Выделить все]
*^C^C_insert "блок_3D_модели";\;;;_align _l; (getvar "lastpoint") (getvar "lastpoint") \\;;_explode;_l;
- вставка с разворотом вдоль произвольной оси. Используется ALIGN. Три действия.
Т.е. можно не вращать, допустим 3D модель, а вставить ее заново сразу с нужным разворотом.

Над макросами разворотов уже вставленных моделей буду работать

Последний раз редактировалось АлексЮстасу, 13.06.2012 в 20:22.
АлексЮстасу вне форума  
 
Непрочитано 12.06.2012, 00:42
#35
onick


 
Регистрация: 27.10.2010
Калининград
Сообщений: 246


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Мне непонятно в первую очередь то, что одни функции прекрасно работают без всяких ПСК (тот же _align), а другим ПСК прям необходимы. Ведь на это тратится время, чревато ошибками.
И _rotate3d и _3drotate таковыми фактически не являются, т.к. им необходима не точка, а ось вращения, т.е. вращают они все равно в плоскости. Т.е. носят звание 3d незаконно.
Тема похоже старая и все-таки хочу отметить что лучшей командой является _rotate3d. В ней не обязательно указывать две точки (хотя если вращать объект вокруг произвольной оси в пространстве, непараллельной X,Y,Z это то что надо, очень удобно). При вращении вокруг осей X,Y,Z достаточно выбрать фильтр (обычно по правой клавише мыши) X,Y,Z и потом только указать точку на которой нужная ось X или Y или Z находится. Команда 3drotate что-то очень сложная, так и не смог в ней разобраться и не пытался. Видимо тоже очень удобная если в ней разобраться.
onick вне форума  
 
Автор темы   Непрочитано 12.06.2012, 18:28
#36
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


onick
И эта тема старая, а прежние аналогичные еще старее. И будут до тех пор, пока Автокад не разродится нормальным разворотом в пространстве по 3-м точкам, только в 3 действия, т.к. для него только три точки и нужны, и абсолютно лишни все танцы с бубнами (с ПСК, с опорными углами), аж три фирменные команды поворота - все это от лукавого!
В конкурентной Microstation отродясь, наверное, есть поворот по 3-м точкам, который работает и в плоскости, и в пространстве. (Для равновесия: в Microstation очень не хватает волшебного автокадовского ALIGN). А ведь автокадовский ALIGN по сути есть комбинация из трех действий: разворота в пространстве по 3-м точкам, переноса в указанное место и масштабирования (если нужно). Так какого дъявола?..

Отсекаем от ALIGN все "лишнее", и получаем искомый разворот в пространстве по 3-м точкам всего в 3 действия:
Код:
[Выделить все]
^C^C_align \ (getvar "lastpoint") \\;;
Главный недостаток этого макроса - работает нормально и как задумано только с предварительно выбранными элементами. Может быть кто подскажет, как исправить, чтобы макрос работал по 3-м точкам и без предварительного выбора?

Последний раз редактировалось АлексЮстасу, 12.06.2012 в 19:08.
АлексЮстасу вне форума  
 
Непрочитано 12.06.2012, 20:00
#37
onick


 
Регистрация: 27.10.2010
Калининград
Сообщений: 246


В автокаде нет проблем с 3D поворотами любых объектов на любые углы в любой плоскости (количество действий не озадачивало потому что все и так очень удобно и логично), никогда сложностей не возникало плюс непревзойденный align. Хотя наверняка в Microstation это делается по другому и возможно удобнее.
onick вне форума  
 
Автор темы   Непрочитано 12.06.2012, 20:54
#38
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от onick Посмотреть сообщение
В автокаде нет проблем с 3D поворотами любых объектов на любые углы в любой плоскости (количество действий не озадачивало потому что все и так очень удобно и логично), никогда сложностей не возникало плюс непревзойденный align.
Сейчас поворот в пространстве совершается Автокадом в 6 действий. А приложенный выше макрос требует только 3-х действительно необходимых.
Раз Вы хорошо умеете разворачивать в 3D, то помогите разобраться хотя бы в _rotate3d. Желательно, по шагам. Я сегодня пытался множество раз, но нужного поворота так и не смог добиться.
Допустим, как с помощью _rotate3d легче повернуть блок из 3D тела (коричневый) или 3D тело (голубое) вдоль 3D полилинии. Чтобы получилось как белый цилиндр.
Вложения
Тип файла: dwg
DWG 2004
поворот_блока_или_тела.dwg (318.6 Кб, 5397 просмотров)

Последний раз редактировалось АлексЮстасу, 12.06.2012 в 23:36.
АлексЮстасу вне форума  
 
Непрочитано 12.06.2012, 23:13
#39
onick


 
Регистрация: 27.10.2010
Калининград
Сообщений: 246


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Сейчас поворот в пространстве совершается Автокадом в 6 действий. А приложенный выше макрос требует только 3-х действительно необходимых.
Раз Вы хорошо умеете разворачивать в 3D, то помогите разобраться хотя бы в _rotate3d. Желательно, по шагам. Я сегодня пытался множество раз, но нужного поворота так и не смог добиться.
Допустим, как с помощью _rotate3d легче повернуть блок из 3D тела (коричневый) или 3D тело (голубое) вдоль 3D полилинии. Чтобы получилось как белый цилиндр.
В вашем примере ничего с операцией _rotate3d не связано. Операция совмещения цилиндров производится командой _align за один шаг независимо от того это синий цилиндр или коричневый блок. _align - выбираете центр одного основания синего цилиндра - выбираете центр одного основания белого цилиндра - выбираете центр второго основания синего цилиндра - выбираете центр второго основания белого цилиндра - выбираете нужный квадрант синего цилиндра - выбираете нужный квадрант белого цилиндра. Также можете применить команду _align3d в которой разница только что сначала выбираются три определяющие точки на синем цилиндре а потом три определяющие точки на белом цилиндре. Команды поворота тут не при чем, это только зря терять время. Если очень нужно лучше для совмещения данных цилиндров несколько раз использовать команду просто _rotate в комбинации с изменениями ПСК и командой _plan. Для поворота синего цилиндра задайте ПСК по трем точкам - первый центр основания синего цилиндра - второй центр основания синего цилиндра - точка Nearest на желтой линии. Командой _plan и двумя enter-ами выходите в плоский вид двух цилиндров. Командой _rotate функцией reference, которая является в сущности трехмерной командой поворота всех трехмерных объектов относительно оси Z поворачиваете синий цилиндр до положения белого. Если надо чтобы совпали и квадранты обоих цилиндров, выставляете ПСК по трем точкам - центр основания общего основания обоих цилиндров и два любых квадранта. Затем снова plan и rotate.

Последний раз редактировалось onick, 13.06.2012 в 11:28.
onick вне форума  
 
Автор темы   Непрочитано 13.06.2012, 18:44
#40
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от onick Посмотреть сообщение
В вашем примере ничего с операцией _rotate3d не связано. Операция совмещения цилиндров производится командой _align за один шаг независимо от того это синий цилиндр или коричневый блок. Если очень нужно лучше для совмещения данных цилиндров несколько раз использовать команду просто _rotate в комбинации с изменениями ПСК и командой _plan. Для поворота синего цилиндра задайте ПСК по трем точкам - первый центр основания синего цилиндра - второй центр основания синего цилиндра - точка Nearest на желтой линии. Командой _plan и двумя enter-ами выходите в плоский вид двух цилиндров. Командой _rotate функцией reference, которая является в сущности трехмерной командой поворота всех трехмерных объектов относительно оси Z поворачиваете синий цилиндр до положения белого. Если надо чтобы совпали и квадранты обоих цилиндров, выставляете ПСК по трем точкам - центр основания общего основания обоих цилиндров и два любых квадранта. Затем снова plan и rotate.
Про мощь _align я в принципе давно знаю (см. мои же посты и макросы). Но _align разворачивает не "за один шаг", а за шесть. Про _rotate и про ПСК по 3-м точкам я также в курсе. Действий при этом еще больше.
Я просил просветить меня о работе _rotate3d, поскольку просто не понимаю как ей пользоваться, чтобы получить нужный результат.
АлексЮстасу вне форума  
 
Непрочитано 13.06.2012, 18:57
#41
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


бошку сломаешь, пока сообразишь в какую сторону угол откладывать...
IMHO. лучше вообще не поворачивать, а сразу ставить систему координат в нужное положение перед вставкой блока или тела. Так и работаю, бед не ведаю.
Хмурый вне форума  
 
Автор темы   Непрочитано 13.06.2012, 19:17
#42
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Хмурый Посмотреть сообщение
бошку сломаешь, пока сообразишь в какую сторону угол откладывать...
IMHO. лучше вообще не поворачивать, а сразу ставить систему координат в нужное положение перед вставкой блока или тела. Так и работаю, бед не ведаю.
Если onick просветит о хорошо знакомой ему команде, то это же будет здорово.

Как, кстати, мои макросы из #34 и #36?
Первый макрос вставки блока в 2 действия навеян Вашими ответами - как раз используется установка ПСК. Спасибо!
Я макросы делал-отлаживал на 2012, а у сотрудников макросы вставки блоков с разворотом в пространстве из #34 не идут на 2006! Разве менялись действия и их порядок у этих команд?

И в 2006 и в 2012 работают макросы в таких версиях:
Код:
[Выделить все]
*^C^C_ucs _za \\_-insert "блок_3D_модели" (getvar "lastpoint");;;;_ucs _w _explode;_l;
Вставка блока с разворотом в пространстве вдоль указанной оси с разбиением. В 2 действия.
Код:
[Выделить все]
*^C^C_-insert "блок_3D_модели";\;;;_align _l; (getvar "lastpoint") (getvar "lastpoint") \\;;_explode;_l;
Вставка блока с разворотом в пространстве с поворотом на указанную ось с разбиением. В 3 действия.

Последний раз редактировалось АлексЮстасу, 13.06.2012 в 20:18.
АлексЮстасу вне форума  
 
Непрочитано 13.06.2012, 20:18
#43
onick


 
Регистрация: 27.10.2010
Калининград
Сообщений: 246


Если хорошо знаете align и видите что она полностью решает поставленную Вами задачу, зачем ломать голову над rotate3d. Rotate3d хорош когда надо повернуть объекты на известный угол вокруг известной оси. Rotate хорош когда надо повернуть объекты на угол по указанию. В 6-ти шагах align нет ничего лишнего как у Микеланджело. Втроем align, rotate3d, rotate решают все практические задачи очень изящно и быстро.
onick вне форума  
 
Автор темы   Непрочитано 13.06.2012, 20:33
#44
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от onick Посмотреть сообщение
Если хорошо знаете align и видите что она полностью решает поставленную Вами задачу, зачем ломать голову над rotate3d. Rotate3d хорош когда надо повернуть объекты на известный угол вокруг известной оси. Rotate хорош когда надо повернуть объекты на угол по указанию. В 6-ти шагах align нет ничего лишнего как у Микеланджело. Втроем align, rotate3d, rotate решают все практические задачи очень изящно и быстро.
Для поворота чего бы то ни было в пространстве необходимо и достаточно 3-х точек. Все остальное лишнее. В том числе - и трудозатраты. (См. тот же align, в котором такой разворот реализован!).
С помощью макроса из #36 разворот и будет произведен за эти самые только 3 действия. За каким бесом нужны сразу три команды разворота 3drotate, rotate3d, rotate? И с их помощью меньше, чем в 6 действий не уложишься. Если вообще смочь понять, как они работают.
Осталось придумать, как сделать, чтобы макрос работал и без предварительного выбора элемента.
АлексЮстасу вне форума  
 
Непрочитано 13.06.2012, 21:02
#45
onick


 
Регистрация: 27.10.2010
Калининград
Сообщений: 246


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Для поворота чего бы то ни было в пространстве необходимо и достаточно 3-х точек
Для поворота чего-то в пространстве необходима ось - 2 точки. базовая точка поворота - 1 точка и конечная точка поворота. Всего 4 точки.
Трудозатраты у нас все уходят на болтовню в рабочее время. поэтому и не можем сделать ничего толкового как японцы или немцы:-)
onick вне форума  
 
Автор темы   Непрочитано 14.06.2012, 00:26
#46
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от onick Посмотреть сообщение
Для поворота чего-то в пространстве необходима ось - 2 точки. базовая точка поворота - 1 точка и конечная точка поворота. Всего 4 точки.
Трудозатраты у нас все уходят на болтовню в рабочее время. поэтому и не можем сделать ничего толкового как японцы или немцы:-)
Для поворота нужна точка, относительно которой поворачивать, точка, за которую поворачивать, и точка, до которой поворачивать. Ровно 3 точки. Продемонстрировано моим макросом в #36. Точка поворота и точка, до которой вращать, и определяют ось.

На основе макроса Krieger из http://forum.dwg.ru/showpost.php?p=330892&postcount=123 и макроса skkkk из http://forum.dwg.ru/showpost.php?p=931981&postcount=525 соорудил макрос поворота в пространстве по 3-м точкам:
Код:
[Выделить все]
^C^C(defun c:r3p () (setq ss (ssget)) (command "_.ALIGN" ss "" (getpoint "Укажите базовую точку:") (getvar "LASTPOINT") (getpoint "Укажите вращаемую точку:") (getpoint "Укажите целевую точку:") "" "_N"  ));r3p
У меня работает в Автокадах с 2006 по 2012. Вращаемый элемент можно выбирать и до вызова, и после.
Криво-косо сооружен, но работает. Может быть кто поможет пригладить? Например, чтобы в командной строке не выводился текст макроса. И мои подсказки действий выводились в новой строке каждая.

Последний раз редактировалось АлексЮстасу, 20.06.2012 в 20:30.
АлексЮстасу вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > как лучше поворачивать объекты в 3Д?

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как лучше утеплить кирпичный дом? mamuk Прочее. Архитектура и строительство 12 14.09.2011 23:48
Какую марку алюминиевого листа лучше использовать? karandaw Машиностроение 31 04.05.2011 13:15
Материал кровли арочного ангара(какой лучше использовать). Zlobin Конструкции зданий и сооружений 1 03.03.2011 01:25
Какой лучше фундамент выбрать для типового павильона? Какой тип фундамента более универсален? ольга сычикова Основания и фундаменты 8 02.02.2011 12:58
Что лучше: Mechanicks4 или Компьютерный справочник Анурьева? Getr Прочее. Программное обеспечение 20 25.11.2004 15:00