Тема: Макрос на разбивку кривой
Задача следующая: нужно разбить дугу командой Measure с шагом, но не от начала до конца, а от двух концов к середине. Желательно сделать так, чтобы выполнялось одной командой
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → Настройка меню и DIESEL → Макрос на разбивку кривой
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Задача следующая: нужно разбить дугу командой Measure с шагом, но не от начала до конца, а от двух концов к середине. Желательно сделать так, чтобы выполнялось одной командой
Нижеследующий текст сохранить как MO.lsp
(defun C:MO () (if (setq e1 (entsel "Выберите объект")) (progn (setq obj (vlax-ename->vla-object (car e1)) fpt (vlax-curve-getStartPoint obj) spt (vlax-curve-getEndPoint obj) ) (setq mpt (vlax-curve-getPointAtDist obj (* 0.5 (vlax-curve-getDistAtPoint obj spt)) ) fpt (trans fpt 0 1) fpt (trans fpt 0 1) mpt (trans mpt 0 1) ) (command "_.BREAK" e1 "_F" mpt mpt) (initget 7) (terpri) (setq e2 (entlast) dst (getdist "Длина сегмента:") ) (command "_measure" (list (car e1) fpt) dst) (command "_measure" (list e2 spt) dst) )) (princ))
Макрос на кнопку
^C^C(if (null C:MO)(load "mo.lsp"));MO;
ЗЫ О значениях PDMODE и PDSIZE позаботиться самостоятельно
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → Настройка меню и DIESEL → Макрос на разбивку кривой
Форум работает на PunBB, при поддержке Informer Technologies, Inc