| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Рyslan, Собирай по мере отрисовки примитивы в набор
Код:
При отрисовке командными методати перед указанием точки временно отключай привязку с помощью опции "_non" Вместо (Command "_.Arc" pt6 "_E" pt5 "_R" Rn) Нужно (Command "_.Arc" "_non" pt6 "_E" "_non" pt5 "_R" Rn)
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 25.07.2007
Сообщений: 2,508
|
VVA а ведь вначале мы отключаем все привязки. разве обязательно добавлять non?
(setq pt9 (polar pt1 (+ ang 0) 5)) -->добавил точку, для зеркала--> (Command "_.Mirror" SS "" pt1 pt9) -->сразу сама выбирает ось отражения, остается только выбрать Да\Нет VVA а pause pause что делает? для выхода из программы в комстроку? Последний раз редактировалось Рyslan, 21.03.2009 в 10:39. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
1. Оформляй вызов как (defun c:мойкод() <...>), тогда его можно будет повторно вызвать на выполнение как обычную команду.
2. Либо перед выполнением mirror запоминай последний примитив через (entlast), либо используй (vla-mirror) или что-то такого типа. Сейчас заняться не могу, - уезжаю.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 25.07.2007
Сообщений: 2,508
|
Всем привет! Есть вопрос. При рисовании вправо ортогонально, программа не работает. Автокад пишет- Укажите направление: <Орто вкл>
Значение должно быть положительным и ненулевым. Как от этого избавиться? Еще вопрос, функция cond только одно условие выполняет? ((= D_nom 80) (= d_nom 65) (setq D1 89 D2 76 L 80 H 70)) два диаметра D1 и D2 возьмет? Последний раз редактировалось Рyslan, 25.03.2009 в 17:30. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Избавиться? По идее надо код перелопачивать. Начинается самое интересное
cond "возьмет", если ты сравнивать будешь корректно. Функция and где?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Рyslan, "Это же вам не лезгинка, а твист!" (С) Это не бейсик, а LISP.
and - это функция, и надо вызывать функцию and: Код:
Но D_nom и d_nom для LISP - это одна и та же переменная. К регистру он нечувствителен. Сравнения бессмысленные. Думай над логикой. Правильно называй переменные. |
|||
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
Это один из примеров построения отвода трубопровода в "Классическом" AutoLisp-е. В данном примере ПСК привязывается к торцу трубы и вычисление координат точек значительно упрощается. Отзеркаливание в данном случае не требуется.
С уважением, Евгений Дегтярев. Код:
Последний раз редактировалось E-degtyarev, 06.04.2009 в 11:34. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Рyslan, Аккуратней скопируй код из #194. У меня работает
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Не надо приучаться переносить ПСК программно, да ещё на таких детских задачах. Это дорога для множества ошибок в будущем. |
|||
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
Уважаемый ShaggyDoc.
Буду Вам очень признателен, если вы продемонстрируете, как в данной ситуации выполнить вычисление координат точек в мировой ПСК, чтобы получить полный аналог по функционалу моего лиспа. Евгений Дегтярев. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Код:
Код:
А вот последнее (command "_ucs" "_w") не надо вообще делать. До рисования могла быть установлена не мировая ПСК, а ту вдруг принудительный непрошеный возврат. В крайнем случае - (command "_ucs" "_p") Точки в МСК надо передавать при рисовании объектными методами. Тогда надо использовать функцию trans. И, очень редко, при построении 3Д-моделей, может действительно потребоваться временный перенос ПСК, но делать его надо чрезвычайно осторожно. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
E-degtyarev, + ShaggyDoc, Если все же решился что-то делать с ПСК, то отслеживай и изменяй на 0 значение переменной UCSFOLLOW, а то можно получить хороший rock'n'roll на экране
__________________
Как использовать код на Лиспе читаем здесь |
|||