|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как выполнить команду "Сместить" с другими свойствами
Регистрация: 28.06.2023
Сообщений: 8
|
||
Просмотров: 1554
|
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,169
|
Например, так (см. пост #4):
https://forums.autodesk.com/t5/autoc.../td-p/11118247 Понадобятся небольшие переделки: - убрать запрос правой/левой стороны, т.к. нужны обе, переменной а присвоить значение 0.5*pi; - добавить еще один вызов _offset при a=1.5*pi; - в опции команд _offset добавить, что результат должен оказаться в другом слое (например, "изоляция"). Последний раз редактировалось kp+, 09.07.2023 в 10:49. |
|||
![]() |
|
||||
Регистрация: 28.06.2023
Сообщений: 8
|
kp+, пожалуйста, вставьте в этот лисп (https://forums.autodesk.com/t5/autoc.../td-p/11118247 пост4), то что вы описали. Я никогда не переделывал и не писал LSP. Для вас это просто а я не представляю где там что менять
только запрос правой и левой стороны убирать не надо т.к. с одной стороны рисуется теплоизоляция а с другой обогрев. Эта опция нужна. Здесь https://forums.autodesk.com/t5/autoc.../td-p/11118247 всё сделано хорошо, можно выбрать много полилиний разом. Единственно вот чтобы результат был в другом слое или как то отличался от исходной линии Вышел из положения таким образом: Перед тем как вставить и запустить лисп, сделал следующее: Не выделяя ничего запустил команду "Сместить" (offset). В командной строке выбрал "Слой" - "текущий". Поставил текущий слой отличный от слоя в котором находятся полилинии. Затем запустил лисп из поста рекомендованный выше. Выделили секущей рамкой все трубы и у меня создались смещенные линии на нужном расстоянии, в нужном мне слое. Последний раз редактировалось Кулик Алексей aka kpblc, 09.07.2023 в 17:16. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Предлагаю такой алгоритм
1. Выполняешь команду MARK из кода ниже перед манипуляциями. Она запоминает последний отрисованный объект 2. Делаешь подобие на полилиниях либо ручками, либо кодом отсюда Free AutoLISP program to Offset multiple plines on either side Вообще запрос выдает много ссылок. Я их не проверял, но, думаю, можно что-то найти 3. Выполняешь команду LastSS из кода ниже. Она формирует набор из вновь появившихся примитивов после команду Mark, подсвечивает их ручками (предварительный выбор) и запоминает в последний выполненный набор (опция _previuos) Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
если трубопроводы выполнены полилиниями без дуговых сегментов, то можно по их координатам нарисовать млинии, состоящие из изоляции и обогрева и имеющие определённые в стиле цвет и тип линии.
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 23.09.2022
Сообщений: 11
|
Этот лисп работает. Но он не может п-образные полилинии отподобить вниз,- он подобит в большую сторону, т.е. вверх
(vl-load-com) (defun c:OffsetMultiple ( / s d a i e p r) (if (and (setq s (ssget "_:L" '((0 . "LINE,LWPOLYLINE,ARC")))) (setq d (getdist "\nSpecify offset distance: ")) (not (initget "Left")) (setq a (* pi (if (getkword "\nSpecify side [left] <right>: ") 0.5 1.5))) ) (repeat (setq i (sslength s)) (setq e (ssname s (setq i (1- i)))) (setq p (vlax-curve-getstartpoint e)) (setq r (polar p (+ a (angle '(0 0 0) (vlax-curve-getFirstDeriv e (vlax-curve-getstartparam e)))) 1.)) (command "_.offset" d e (trans r 0 1) ""))) (princ) ) |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Dynamic Offset от Lee Mac не подойдет?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 23.09.2022
Сообщений: 11
|
Цитата:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выполнить команду вставки текста кодом в файле mnu | olga87 | LISP | 2 | 25.11.2020 21:40 |
Можно ли в автокад выполнить команду "сечение" и разрезать 3Д тело сразу по нескольким сечениям? | yarus.khv | AutoCAD | 14 | 18.04.2019 11:05 |
Монолитная ж.б. плита перекрытия жилого этажа с консольными вылетами по периметру на высоте более 40 м. Возможно ли выполнить? | Julianna | Железобетонные конструкции | 45 | 02.10.2016 11:27 |
Autocad 2014 как выполнить команду "ПОКАЗАТЬ" по известным координатам | Ruslan88 | AutoCAD | 12 | 23.06.2016 13:14 |
Как выполнить расчет на аварийную ситуацию для маяка, рекламного щита, флагштока? | ФАХВЕРК | Конструкции зданий и сооружений | 10 | 13.01.2016 16:08 |