Re: конвертирование нескольких линий в полилинию.Как?

Забыл сказать Автокад 2006

Re: конвертирование нескольких линий в полилинию.Как?

Я забыл в коде поставить отдельные "" где надо было (в 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 

Re: конвертирование нескольких линий в полилинию.Как?

> kpblc
Поясни, пожалуйста, что значит вот это:

(0^M;. "ARC,*LINE")

Re: конвертирование нескольких линий в полилинию.Как?

Господи, опять форматирование сходит с ума (или 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;

Re: конвертирование нескольких линий в полилинию.Как?

> kpblc
Совсем другое дело.

Re: конвертирование нескольких линий в полилинию.Как?

> kpblc
Теперь работает, но выбор объектов надо производить до ввода команды. И что хорошо в отличии от той команды, с которой работал до этого не объединяет, если в наборе только полилинии. Предыдущую, проверил по совету Alexei (2006-11-22 22:39:13)если в наборе были только полилинии, она их не объединяла.
Добавил в конце строки ; и макрос заработал как надо.
Огромное спасибо тебе.
Пока писал вижу уже новый макрос и ;.
Но и тот работает отлично.

Re: конвертирование нескольких линий в полилинию.Как?

Во втором варианте таже проблема, что выбор объектов нужно делать до ввода команды
Вот протокол.
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

Re: конвертирование нескольких линий в полилинию.Как?

Минуту, а pickfirst у тебя чему равно?

Re: конвертирование нескольких линий в полилинию.Как?

> kpblc
Равно единице. Но раньше равно было "0"
Раньше был запрос переводить ли линию в полилинию. А сейчас нет.
Потом первый твой макрос работает и лучьше того что был у меня раньше.

Re: конвертирование нескольких линий в полилинию.Как?

Я помучался с вашими макросами и не понял ничего. Наверное, я неправильно запускал - как лисп (файл с расширением lsp), а не как макрос.
Выкрутился командой BOUNDARY. Но она подойдёт, только если объекты образуют пустой контур.
[Скопирую во все темы, авось кому пригодится)].