Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Программа сопряжения отдельных сегментов полилиний или отрезков без объединения

LISP. Программа сопряжения отдельных сегментов полилиний или отрезков без объединения

Ответ
Поиск в этой теме
Непрочитано 09.02.2010, 13:37
LISP. Программа сопряжения отдельных сегментов полилиний или отрезков без объединения
Profan
 
Москва
Регистрация: 25.12.2005
Сообщений: 13,627

Код:
[Выделить все]
 
;********** EXTFILLET.LSP *****************************************
; Программа сопряжения отдельных сегментов полилиний или отрезков
; с последующим преобразованием в отдельные сегменты полилиний.
; Автор Громов Владимир aka Profan 2010 г.
; Макрос для загрузки:
; ^C^C(if (not C:EXTFILLET (load "extfillet")) EXTFILLET
;
(defun C:EXTFILLET ( / echo rd ent1 ent2 )
(setq echo (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(if (null rds) (setq rds "0"))
(princ (strcat "\n Радиус сопряжения <" rds ">: "))
(setq rd (getint))
(if (= rd nil) (setq rd (atoi rds)) (setq rds (itoa rd)))
(vl-cmdf "_FILLET" "_r" rd)
(setq ent1 (car (entsel "\n Укажите 1 объект: ")))
(setq ent2 (car (entsel "\n Укажите 2 объект: ")))
(if  (and ent1 (= (cdr (assoc 0 (entget ent1))) "LWPOLYLINE"))
     (progn 
     (vl-cmdf "_explode" ent1)
     (setq ent1 (entlast))
     ) ; progn
) ; if
(if  (and ent2 (= (cdr (assoc 0 (entget ent2))) "LWPOLYLINE"))
     (progn 
     (vl-cmdf "_explode" ent2)
     (setq ent2 (entlast))
     ) ; progn
) ; if
(if (and ent1 ent2)
    (progn
    (vl-cmdf "_fillet" ent1 ent2)
    (cond
    ((= (getvar "PEDITACCEPT") 0)    (vl-cmdf "_pedit" "_M" "_L" ent1 ent2 "" "_Y" "_W" (getvar "PLINEWID") ""))
    ((= (getvar "PEDITACCEPT") 1)    (vl-cmdf "_pedit" "_M" "_L" ent1 ent2 "" "_W" (getvar "PLINEWID")  ""))
    ) ; cond
    ) ; progn
   (princ "\n Объекты не выбраны.")
) ; if
(setvar "CMDECHO" echo)
(princ)
)
(princ "\n Ввести в командной строке EXTFILLET")
Интересно, можно ли подавить сообщение, которое появляется при расчленении полилинии:
Цитата:
При расчленении этой полилинии потеряны сведения о ширине.
Их можно восстановить командой ОТМЕНИТЬ.
Просмотров: 12215
 
Непрочитано 30.03.2010, 18:23
#21
roman56

инженер строитель
 
Регистрация: 01.03.2007
ISRAEL
Сообщений: 39


Profan
Извините, этот раздел я не читал.
Но меня смутило название вашего лиспа- Exfillet
Теперь понимаю,что у вас была другая задача, но моя проблема осталась. Может быть и Вы попробуете помочь мне и другим в решении этой проблемы, как бы в развитии уже решенной Вами задачи.
С уважением roman
roman56 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Программа сопряжения отдельных сегментов полилиний или отрезков без объединения

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Google SketсhUp в помощь архитекторам. Как и где приобрести программу? Igla Прочее. Программное обеспечение 14 03.07.2009 17:02
ответственность за проектную документацию zaza-noza Организация проектирования и оформление документации 3 07.03.2008 09:54
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44