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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как выделить примитивы в AutoLISP?

Как выделить примитивы в AutoLISP?

Ответ
Поиск в этой теме
Непрочитано 08.06.2008, 18:55 #1
Как выделить примитивы в AutoLISP?
RastaMANNN
 
Регистрация: 08.06.2008
Сообщений: 2

Есть циллиндр (заготовка для колеса), в котором выдавлены и круговым массивом сделаны профили зубьев.. Теперь нужно выбрать сам циллиндр, а затем выбрать примитивы профилей зубьев, которые будут из этого циллиндра вычитаться при выполнении команды "subtract"...

Подскажите, пожалуйста, как это можно сделать в AutoLISP?

Заранее спасибо!
Просмотров: 4678
 
Непрочитано 08.06.2008, 22:42
#2
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Смотри пример

Код:
[Выделить все]
(defun C:demo(/ cil p0 p1 p2 p3 p4 ss zub)
(command "_.plan" "_w")
(command "_shademode" "_2")  
(setq p0 '(0 0))
(command "_.circle" "_non" p0 100.)
(command "_.zoom" "_c" p0 200.)
(command "extrude" "L" "" 600.)
;;задаем метку для цилиндра
(setq cil (entlast))
(setq p1 '(110.9061 0)
      p2 '(70 0)
      p3 '(64.6716 -26.7878)
      p4 '(102.4639 -42.4419)
      )
(command "_.pline")(mapcar 'command (list p1 p2 p3 p4))(command "_C")
(command "extrude" "L" "" 600.)
;;задаем метку для зуба
(setq zub (entlast))
;;создаем пустой набор
(setq ss (ssadd))
;;добавляем первый зуб в набор
(ssadd zub ss)
(command "_.-array" "L" "" "_P" "_non" p0 8 360 "Y"); число зубьев - 8
;;добавляем все что отрисовано после первого зуба
;;с помощью команды "array" в цикле
(while (setq zub (entnext zub))
(ssadd zub ss))
;; вырезаем все шлицы в цилиндре 
(command "_.subtract" cil "" ss "")
;;устанавливаем вид
(command "_.view" "_swiso")
;;устанавливаем стиль визуализации
(command "_vscurrent" "_C");;<==эта команда может не работать в ранних версиях
;;увеличиваем весь чертеж
(command "_.zoom" "_e")
  (princ)
  )
(C:demo)
~'J'~
fixo вне форума  
 
Автор темы   Непрочитано 10.06.2008, 00:08
#3
RastaMANNN


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


Большое спасибо!!!! Все работает Вы мне очень помогли
RastaMANNN вне форума  
 
Непрочитано 10.06.2008, 00:37
#4
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Успехов

~'J'~
fixo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как выделить примитивы в AutoLISP?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
Как выделить объекты которые по X больше чем по Y dextron3 Программирование 2 27.10.2007 21:22
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46
Как выделить обьект на layout Алексей К. Программирование 1 25.11.2006 09:54
Как сгладить 2 линии. Или как сгладить только часть линии. Димас AutoCAD 3 14.03.2006 08:28