Тема: автовставка вершин в выбранных полилиниях в местах пересечения с указанной полилинией, линией, дугой
Может было уже что нибудь подобное?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → автовставка вершин в выбранных полилиниях в местах пересечения с указанной полилинией, линией, дугой
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Может было уже что нибудь подобное?
Есть только с полилинией. Но конрертировать дуги и линии в полилинию не составит большого труда. Должны быть подгружены Новые команды для работы с полилинией
(defun C:PUK (/ ss n lin) (if (and (princ "\nУкажите режущую полилинию") (setq ss (ssget "_+.:S:E" '((0 . "LWPOLYLINE")))) (setq lin (vlax-ename->vla-object (ssname ss 0))) (princ "\nВыберите полилинии") (setq ss nil ss (ssget "_:L" '((0 . "LWPOLYLINE"))) ) (or (ssdel (vlax-vla-object->ename lin) ss) t) (> (sslength ss) 0) ) (progn (foreach item (mapcar (function vlax-ename->vla-object) (vl-remove-if (function listp) (mapcar (function cadr) (ssnamex ss)) ) ) (if (and (setq ret (vlax-variant-value (vla-IntersectWith lin item acExtendNone) ) ) (> (vlax-safearray-get-u-bound ret 1) 0) ) (progn (vl-catch-all-apply '(lambda () (setq ret (vlax-safearray->list ret)) (mapcar '(lambda (pt) (pl:AddVX pt (vlax-vla-object->ename item) pt) ) (pl:group-by-num ret 3))))))))) ;_if and (princ) )
Супер !!!
протестировал в AA-2010 eng в WCS и UCS
вершины вставляются даже на замыкающих сегментах 8)
Владимир, большое спасибо :!:
Это довесок к "Новым командам ..." Все руки не доходят кнопку нарисовать да хэлп написать. Рад что протестировал :)
AutoCAD 2008 RU выбираются режущая полилиния и остальные, но новых вершин нет.
AutoCAD 2008 RU выбираются режущая полилиния и остальные, но новых вершин нет.
Должны быть подгружены Новые команды для работы с полилинией
Yuriy,
Доброго времени суток!
Скажите пожалуйста, а можно добавить возможность разрыва в местах пересечения с полилинией? Чтобы она стала "режущей" в прямом смысле этого слова. Как это сказал Al_geor в посте #5
у Владимира (VVA) похоже и это тоже есть :)
LISP. Разорвать объекты в точках пересечения. BreakObjects.
В архитектурном автокаде также имется режущая команда
Command: LineworkDivide
Select the first point of the dividing line or Enter to pick on screen:
...
Yuriy,
Спасибо огромное!!!
сейчас посмотрю...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → автовставка вершин в выбранных полилиниях в местах пересечения с указанной полилинией, линией, дугой
Форум работает на PunBB, при поддержке Informer Technologies, Inc