Тема: Как объединить несколько отрезков или дуг в полилинию?
здрасте нужен лисп
мож у кого есть ?
такой что бы вот например две линии лежат соприкасаются ручками и что бы лисп объединил в одну полилинию и т.д. 3 линии в 1 полилинию и т.д.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Autodesk → AutoCAD → Как объединить несколько отрезков или дуг в полилинию?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
здрасте нужен лисп
мож у кого есть ?
такой что бы вот например две линии лежат соприкасаются ручками и что бы лисп объединил в одну полилинию и т.д. 3 линии в 1 полилинию и т.д.
0. Тему переименовать надо.
1. Если именно лисп нужен, то в другую ветку.
2. Лисп не нужен. Команда _.pedit с опцией _m. Дальше по ком.строке.
> Андрей
команда _join тоже все объединит
Макрос на кнопку
^C^C(progn(setq ssnab (ssget "_I"))(while (not ssnab)(setq ssnab (ssget)))(command "_pedit" "_Multiple" ssnab "" "_Y" "_Join" 0 ""));
(defun c:plcreate (/ selset) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (if (setq selset (ssget "_:L" '((0 . "LINE,ARC,LWPOLYLINE")))) (if (vl-remove-if-not '(lambda (x) (member (cdr (assoc 0 (entget x))) '("ARC" "LINE"))) (vl-remove-if 'listp (mapcar 'cadr (ssnamex selset))) ) ;_ end of vl-remove-if-not (command "_.pedit" "_m" selset "" "_y" "_j" 0 "") (command "_.pedit" "_m" selset "" "_j" 0 "") ) ;_ end of if ) ;_ end of if (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) ) ;_ end of defun
макрос не работает почему
Крыс как ТВОим лиспом пользоваться ну всмысле что мне делать с этой горой букв ??
у меня 8100 объектов какие группы объектов прилигают друг к другу а какието нет ну так вот надо уменьшить кол во этих объектов я так думаю объединение улучшит ситуацию
так вроде разобрался скопировать текс в файл с расширение lsp а дальше всё понятно
работает )) но всё равно не то что хотелось б ы ))
Overkill - попробуй еще эту команду. Она убирает двойные линии и объединяет тоже, там можно задать допуск на расстояния между концами отрезков.
у меня была мебель в 3д
ну я захотел чистенькую версию в 2д
вообщем
flatten каманда
потом макрос крыса
Overkill поставил жирную точку жаль канешно что немного мебель покарёжилась ну ладно при распечатке не оч видно будет +)) из 8100 объектов получилось 3900
кстате файл весил 2,9мб после чистки весит 2,6 почему ?
Макрос не будет работать, если PEDITACCEPT установлена в 1.
Тебе поможет макрос Громова с указанной крысом ссылки
^C^C_PEDIT;_m;_all;;_y;_j;;;
PEDITACCEPT должна быть 0
Возможно вам нужно было просто снять 3d проекции с вашей 3d мебели. Линейка Solids, кнопка Profile. Работает в Layout, через окно
2d проекции конечно..
это канешно всё хорошо но миллион слоёв в которой сделана мебель мне не оч по душе )))
Я помучался с вашими макросами и не понял ничего. Наверное, я неправильно запускал - как лисп (файл с расширением lsp), а не как макрос.
Выкрутился командой BOUNDARY. Но она подойдёт, только если объекты образуют пустой контур.
[Скопирую во все темы, авось кому пригодится)].
> ivan
Это для тебя
http://dwg.ru/art/2
http://dwg.ru/art/8
а команда
pedit
с ключом Join
почему не катит ?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Autodesk → AutoCAD → Как объединить несколько отрезков или дуг в полилинию?
Форум работает на PunBB, при поддержке Informer Technologies, Inc