Re: конвертирование нескольких линий в полилинию.Как?
Забыл сказать Автокад 2006
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Autodesk → AutoCAD → конвертирование нескольких линий в полилинию.Как?
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Забыл сказать Автокад 2006
Я забыл в коде поставить отдельные "" где надо было (в 2 местах). Вот вроде как рабочий вариант:
^C^C(defun c:mypljoin( / selset _pedit) (if (setq selset (ssget "_:L" '((0^M;. "ARC,*LINE")))) (progn (setq _pedit (getvar "PEDITACCEPT")) (setvar^M;"PEDITACCEPT" 1) (command "_.pedit" "_m" selset "" "_j" 10.0 "") (setvar^M;"PEDITACCEPT" _pedit))));mypljoin
> kpblc
Поясни, пожалуйста, что значит вот это:
(0^M;. "ARC,*LINE")
Господи, опять форматирование сходит с ума (или mozilla совсем в разнос пошла, не легче). Естественно, это лишнее (что самое забавное, так то, что код в 2005 сработал).
Так вроде лучше будет:
^C^C(defun c:mypljoin( / selset _pedit) (if (setq selset (ssget "_:L" '((0 . "ARC,*LINE")))) (progn (setq _pedit (getvar "PEDITACCEPT")) (setvar "PEDITACCEPT" 1) (command "_.pedit" "_m" selset "" "_j" 10.0 "") (setvar "PEDITACCEPT" _pedit))));mypljoin;
> kpblc
Совсем другое дело.
> kpblc
Теперь работает, но выбор объектов надо производить до ввода команды. И что хорошо в отличии от той команды, с которой работал до этого не объединяет, если в наборе только полилинии. Предыдущую, проверил по совету Alexei (2006-11-22 22:39:13)если в наборе были только полилинии, она их не объединяла.
Добавил в конце строки ; и макрос заработал как надо.
Огромное спасибо тебе.
Пока писал вижу уже новый макрос и ;.
Но и тот работает отлично.
Во втором варианте таже проблема, что выбор объектов нужно делать до ввода команды
Вот протокол.
Command: (defun c:mypljoin( / selset _pedit) (if (setq selset (ssget "_:L" '((0
. "ARC,*LINE")))) (progn (setq _pedit (getvar "PEDITACCEPT")) (setvar
"PEDITACCEPT" 1) (command "_.pedit" "_m" selset "" "_j" 10.0 "") (setvar
"PEDITACCEPT" _pedit))))
C:MYPLJOIN
Command: mypljoin
Select objects:
nil
Минуту, а pickfirst у тебя чему равно?
> kpblc
Равно единице. Но раньше равно было "0"
Раньше был запрос переводить ли линию в полилинию. А сейчас нет.
Потом первый твой макрос работает и лучьше того что был у меня раньше.
Я помучался с вашими макросами и не понял ничего. Наверное, я неправильно запускал - как лисп (файл с расширением lsp), а не как макрос.
Выкрутился командой BOUNDARY. Но она подойдёт, только если объекты образуют пустой контур.
[Скопирую во все темы, авось кому пригодится)].
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Autodesk → AutoCAD → конвертирование нескольких линий в полилинию.Как?
Форум работает на PunBB, при поддержке Informer Technologies, Inc