Не могу совладать с (command "_UCS")
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не могу совладать с (command "_UCS")

Не могу совладать с (command "_UCS")

Ответ
Поиск в этой теме
Непрочитано 28.04.2010, 18:33 #1
Не могу совладать с (command "_UCS")
[N.S]
 
инженер-дефектоскопист
 
Санкт-Петербург
Регистрация: 08.12.2006
Сообщений: 58

Добрый! Понадобилось мне в лиспе задать новую систему координат. У меня имеются 3 точки в WCS(МСК), ну, например:
Код:
[Выделить все]
(setq pt0 '(100 100 100)) 
(setq pt1 '(100 50 20)) 
(setq pt2 '(500 0 0))
Перевожу их в текущую UCS(ПСК):
Код:
[Выделить все]
(setq tpt0 (trans pt0 0 1))
(setq tpt1 (trans pt1 0 1))
(setq tpt2 (trans pt2 0 1))
Для наглядности рисуем линии, по первой из которых должна быть направлена ось X
Код:
[Выделить все]
(command "_line" tpt0 tpt1 "")
(command "_line" tpt0 tpt2 "")
Меняю UCS(ПСК):
Код:
[Выделить все]
(command "_UCS" tpt0 tpt1 tpt2)
Система координат меняется: центр (origin) находится там где нужно, а вот направления осей получаюся неверными. Похоже я где-то напутал в преобразовании координат. Подскажите пожалуйста, где я ошибся?

Последний раз редактировалось [N.S], 28.04.2010 в 19:04. Причина: исправление последовательности кода
Просмотров: 3594
 
Непрочитано 28.04.2010, 18:54
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


А может сначала нужно отрисовать линии, а потом уже менять ПСК?
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 28.04.2010, 19:02
#3
[N.S]

инженер-дефектоскопист
 
Регистрация: 08.12.2006
Санкт-Петербург
Сообщений: 58


Виноват. Сообщение не в той последовательности. На самом деле у меня все как надо:
Код:
[Выделить все]
(setq pt0 '(100 100 100)) 
(setq pt1 '(100 50 20)) 
(setq pt2 '(500 0 0))
(setq tpt0 (trans pt0 0 1))
(setq tpt1 (trans pt1 0 1))
(setq tpt2 (trans pt2 0 1))
(command "_line" tpt0 tpt1 "")
(command "_line" tpt0 tpt2 "")
(command "_UCS" tpt0 tpt1 tpt2)
[N.S] вне форума  
 
Непрочитано 28.04.2010, 23:56
#4
Кулик Алексей aka kpblc
Moderator

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


С привязками все нормально?
Код:
[Выделить все]
(defun test (/ pt0 pt1 pt2)
  (setq pt0 '(100 100 100)
        pt1 '(100 50 20)
        pt2 '(500 0 0)
        ) ;_ end of setq
  (command "_.ucs" "_none" pt0 "" "" "")
  (command "_.ucs" '(0. 0. 0.) "_none" (trans pt1 0 1) "_none" (trans pt2 0 1))
  ) ;_ end of defun
Вроде сработало нормально...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.04.2010, 08:52
#5
[N.S]

инженер-дефектоскопист
 
Регистрация: 08.12.2006
Санкт-Петербург
Сообщений: 58


На домашнем 2006-м Каде "Invalid option keyword." _none мой Автокад не знает. Попробую на работе на 2008 Каде.
А как привязки могут повлиять на программный ввод? Думаю, именно в отсутствии обработки привязок моя ошибка.
[N.S] вне форума  
 
Непрочитано 29.04.2010, 09:29
#6
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Да на любом каде так будет! Второй запрос команды UCS - опция.
Как-то так надо:
(command "_.ucs" "_3p" pt0 pt1 pt2)
Ну да, еще привязки отключить...
Do$ вне форума  
 
Непрочитано 29.04.2010, 09:47
#7
Кулик Алексей aka kpblc
Moderator

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


Я проверял код на 2010-м с установками по умолчанию.
P.S. У команды _.ucs не увидел опции _3p:
Код:
[Выделить все]
Command: _ucs
Current ucs name:  *WORLD*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis] <World>:
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.04.2010, 10:03
#8
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


А они ее прячут почему-то!
Код:
[Выделить все]
Command: _ucs
Current ucs name:  *WORLD*
Enter an option [New/Move/orthoGraphic/Prev/Restore/Save/Del/Apply/?/World] 
<World>: _3
Specify new origin point <0,0,0>: 00,0,0

Specify point on positive portion of X-axis <1.0000,0.0000,0.0000>:
Specify point on positive-Y portion of the UCS XY plane <-0.4156,0.9096,0.0000>:
С кнопки запускается на панели UCS.
Do$ вне форума  
 
Автор темы   Непрочитано 29.04.2010, 18:42
#9
[N.S]

инженер-дефектоскопист
 
Регистрация: 08.12.2006
Санкт-Петербург
Сообщений: 58


Цитата:
Сообщение от Do$ Посмотреть сообщение
(command "_.ucs" "_3p" pt0 pt1 pt2)
Ну да, еще привязки отключить...
- Вот так работает! Спасибо!
[N.S] вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не могу совладать с (command "_UCS")



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу скачать файлы с форума Redya AutoCAD 2 28.10.2008 19:53
Из сети не могу скопиравать файл! Vildar Разное 6 02.10.2008 13:52
Не могу выбрать объекты Vanek531 AutoCAD 1 05.12.2007 09:54
CUI – не могу адаптироваться. mmax AutoCAD 15 07.08.2007 10:11
не могу избавиться от wireframe линий при печати drafter2006 AutoCAD 1 12.10.2006 11:22