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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Выполнение фаски выбранных полилиний (LWPOLYLINE)

Выполнение фаски выбранных полилиний (LWPOLYLINE)

Ответ
Поиск в этой теме
Непрочитано 12.05.2016, 14:51 #1
Выполнение фаски выбранных полилиний (LWPOLYLINE)
AlexZh
 
Регистрация: 23.09.2015
Сообщений: 146

Не получается сделать фаску. Что сделано не так?

Код:
[Выделить все]
 (defun c:12 (/ oldselect pl1 pl2 pt1 pt2 pt3)
  (defun *error* (msg) (princ msg) (princ))
  (setq	oldselect   (getvar "SELECTIONCYCLING")
	oldchammode (getvar "CHAMMODE")
	oldchamfera (getvar "CHAMFERA")
	oldchamferb (getvar "CHAMFERB")
  ) ;_ конец setq
  (setvar "SELECTIONCYCLING" -2)
  (if (null chamf)
    (progn (setq chamf (getreal "\nВведите длину фаски: [Enter-0]"))
	   (if (not chamf)
	     (setq chamf 0)
	   ) ;_ конец if
    ) ;_ конец progn
  ) ;_ конец if
  (setq	pl1
	 (car (entsel
		"\nВыберите отводящую линию [Enter-построение отрезка]: "
	      ) ;_ конец entsel
	 ) ;_ конец entsel
  ) ;_ конец setq
  (if (not pl1) ;_ конец not
    (progn (setq pt1 (getpoint "\nВыберите начальную точку: ")
		 pt2 (getpoint pt1 "\nВыберите конечную точку: ")
	   ) ;_ конец setq
	   (command "_.PLINE" pt1 pt2 "")
	   (setq pl1 (entlast))
    ) ;_ конец progn
  ) ;_ конец if
  (while
    (not (setq
	   pl2 (entsel "\nВыберите магистральную линию: [Enter-фаска]")
	 ) ;_ конец setq
    ) ;_ конец not
     (setq chamf (getreal "\nВведите длину фаски: [Enter-0]"))
     (if (not chamf)
       (setq chamf 0)
     ) ;_ конец if
  ) ;_ конец if
  (setq pt3 (cdr pl2)
	pl2 (car pl2)
  ) ;_ конец setq
  (setq pl2 (cdr (car (entmake (entget pl2)))))
  (setvar "CHAMMODE" 0)
  (setvar "CHAMFERA" chamf)
  (setvar "CHAMFERB" chamf)
  (command "_CHAMFER" pl1 pl2 "")
  (setvar "SELECTIONCYCLING" oldselect)
  (setvar "CHAMMODE" oldchammode)
  (setvar "CHAMFERA" oldchamfera)
  (setvar "CHAMFERB" oldchamferb)
) ;_ конец defun
 



;|«Visual LISP© Format Options»
(72 2 30 2 T "конец " 72 9 1 1 0 T nil T T)
;*** НЕ добавляйте текст под комментариями! ***|;


Понимаю, что так сработает с отрезками. а как сделать с полилиниями?

Последний раз редактировалось AlexZh, 12.05.2016 в 17:16.
Просмотров: 1746
 
Непрочитано 12.05.2016, 18:55
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от AlexZh Посмотреть сообщение
а как сделать с полилиниями?
Смотри опции команды
Цитата:
Команда: _chamfer
(Режим С ОБРЕЗКОЙ) Параметры фаски: Длина1 = 100.0000, Длина2 = 100.0000
Выберите первый отрезок или
[оТменить/полИлиния/Длина/Угол/Обрезка/Метод/Несколько]:
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 13.05.2016, 09:52
#3
AlexZh


 
Регистрация: 23.09.2015
Сообщений: 146



Спасибо, это не то... мне нужна фаска между полилиниям.
AlexZh вне форума  
 
Непрочитано 13.05.2016, 11:13
#4
trushev


 
Регистрация: 12.01.2015
Сообщений: 261


Цитата:
Сообщение от AlexZh Посмотреть сообщение
Понимаю, что так сработает с отрезками. а как сделать с полилиниями?
На вскидку, особо не вникая. Попробуйте команду на 26 строке дополнить опциями для полилинии.
Команда: _pline
Начальная точка:
Текущая ширина полилинии равна 0.0000
Следующая точка или [Дуга/Полуширина/длИна/Отменить/Ширина]:

(command "_.line" pt1 pt2 "")
заменить на
(command "_.pline" pt1 "_w" "0.7" "0.7" pt2 "") или иную ширину полилинии

Последний раз редактировалось trushev, 13.05.2016 в 11:20.
trushev вне форума  
 
Автор темы   Непрочитано 13.05.2016, 21:11
#5
AlexZh


 
Регистрация: 23.09.2015
Сообщений: 146


Цитата:
Сообщение от trushev Посмотреть сообщение
На вскидку, особо не вникая. Попробуйте команду на 26 строке дополнить опциями для полилинии.
Команда: _pline
Начальная точка:
Текущая ширина полилинии равна 0.0000
Следующая точка или [Дуга/Полуширина/длИна/Отменить/Ширина]:
чего-то я не понял....
AlexZh вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Выполнение фаски выбранных полилиний (LWPOLYLINE)

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обрезка выбранных линий на одинаковую длинну AlexRudz AutoCAD 9 14.06.2016 07:27
ФАТАЛЬНАЯ ОШИБКА: Unhandled Access Violation Reading 0x0000 Exception at 3d4a0045h AutoCAD 2011русский Nikolays AutoCAD 13 13.10.2015 14:57
Объединение дуг, линий в единый объект, Как объединить? Vladimir.P AutoCAD 41 25.01.2015 08:03
Как удалить тип линии Tolyanovich AutoCAD 48 20.11.2014 09:24
Можно ли располагать бытовые помещения на стройплощадке в охранной зоне ЛЭП? SPas Технология и организация строительства 22 11.06.2014 10:54