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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Лисп. Чертеж равертки обечайки.

Лисп. Чертеж равертки обечайки.

Закрытая тема
Поиск в этой теме
Непрочитано 18.06.2009, 18:44 #1
Лисп. Чертеж равертки обечайки.
vovkam
 
Регистрация: 11.06.2009
Сообщений: 29

Сама развертка на листе не замкнута. я не пойму почему 8-/

Код:
[Выделить все]
;  - имя файла - (load "C:\\DataBase\\AutoCad\\ЧертежиРазвертокLSP\\Интерполяция_LSP\\P230031.lsp")

; построение развертки конуса:

(command "_rectang" "0,0" "7746,1203" " ")
(setq name0 (entlast))
(command "_point" "_none" "15,101")					
(command "_arc" "_none" "15,101" "_none" "_C" "3873,81398" "_none" "_L" "7716")
(command "_divide" (entlast) 38)
(command "_point" "_none" "7731,101")
(setq le1 (entget (setq name1 (entnext))))
(setq name2 name1)
(while (/= (cdr (assoc 0 le1)) "POINT")
  (setq name1 name2)
  (setq le1 (entget (setq name2 (entnext name1))))
)   ; конец while

(command "_pline" (cdr (assoc 10 le1)))     ;первая точка

(setq i 1)

(setq name1 name2)
(setq le2 (entget (setq name2 (entnext name1))))
(entdel name1)

(while (< i 39)
  (if (= (cdr (assoc 0 le2)) "POINT")
    (progn
      (command (cdr (assoc 10 le2)))
      (entdel name1)
      (setq i (1+ i))
    )   ; конец progn
  ) ; конец if
  (setq name1 name2)
  (setq le2 (entget (setq name2 (entnext name1))))
)   ; конец while

(setq le1 (entget name1))
(entdel name1)
(command)
(command)

(command "_point" "_none" "67,1193")
(command "_arc" "_none" "67,1193" "_none" "_C" "3873,81398" "_none" "_L" "7612")
(command "_divide" (entlast) 38)
(command "_point" "_none" "7627,1193")
(setq le1 (entget (setq name1 (entlast))))
(setq le1 (entget (setq name1 (entnext))))
(setq name2 name1)
(while (/= (cdr (assoc 0 le1)) "POINT")
  (setq le1 (entget (setq name1 name2)))
  (setq le1 (entget (setq name2 (entnext name1))))
)   ; конец while

(command "_pline" (cdr (assoc 10 le1)))     ;первая точка
(setq name1 name2)
(setq le1 (entget name1))
(entdel name1)

(setq i 1)

(setq le2 (entget (setq name2 (entnext name1))))
(while (< i 39)
  (if (= (cdr (assoc 0 le2)) "POINT")
    (progn
      (command (cdr (assoc 10 le2)))
      (entdel name1)
      (setq i (1+ i))
    )   ; конец progn
  ) ; конец if
  (setq name1 name2)
  (setq le2 (entget (setq name2 (entnext name1))))
)   ; конец while

(setq le1 (entget name1))
(entdel name1)
(command)
(command)

(command "_line" "_none" "15,101" "_none" "67,1193" "")

(command "_line" "_none" "7731,101" "_none" "7679,1193" "")

(entlast)
(setq name1 (entnext name0))
(cdr (assoc 0 (setq le1 (entget name1))))
(setq name2 (entnext name1))
(cdr (assoc 0 (setq le2 (entget name2))))
(setq name3 (entnext name2))
(cdr (assoc 0 (setq le3 (entget name3))))
(setq name4 (entnext name3))
(cdr (assoc 0 (setq le4 (entget name4))))
(command "_pedit" name1 "_J" name2 name3 name4 "" "")

(command "_zoom" "_all")

(command "_text" "_S" "" "3123,501.5" "200" "" "P230031" "" "")	

(command "_save" "C:\\DataBase\\AutoCad\\ЧертежиРазвертокLSP\\Интерполяция_DWG\\P230031.dwg")	
(command "_Y" "")
Просмотров: 2948
 
Непрочитано 18.06.2009, 21:47
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Основное выделил красным
Код:
[Выделить все]
;  - имя файла - (load "C:\\DataBase\\AutoCad\\ЧертежиРазвертокLSP\\Интерполяция_LSP\\P230031.lsp")

; построение развертки конуса:
(setvar "OSMODE" 0)
(command "_rectang" "0,0" "7746,1203" " ")
(setq name0 (entlast))
(command "_point" "_none" "15,101")					
(command "_arc" "_none" "15,101" "_none" "_C" "3873,81398" "_none" "_L" "7716")
(command "_divide" (entlast) 38)
(command "_point" "_none" "7731,101")
(setq le1 (entget (setq name1 (entnext))))
(setq name2 name1)
(while (/= (cdr (assoc 0 le1)) "POINT")
  (setq name1 name2)
  (setq le1 (entget (setq name2 (entnext name1))))
)   ; конец while

(command "_pline" (cdr (assoc 10 le1)))     ;первая точка

(setq i 1)

(setq name1 name2)
(setq le2 (entget (setq name2 (entnext name1))))
(entdel name1)

(while (< i 39)
  (if (= (cdr (assoc 0 le2)) "POINT")
    (progn
      (command (cdr (assoc 10 le2)))
      (entdel name1)
      (setq i (1+ i))
    )   ; конец progn
  ) ; конец if
  (setq name1 name2)
  (setq le2 (entget (setq name2 (entnext name1))))
)   ; конец while

(setq le1 (entget name1))
(entdel name1)
(command)
(command)

(command "_point" "_none" "67,1193")
(command "_arc" "_none" "67,1193" "_none" "_C" "3873,81398" "_none" "_L" "7612")
(command "_divide" (entlast) 38)
(command "_point" "_none" "7627,1193")
(setq le1 (entget (setq name1 (entlast))))
(setq le1 (entget (setq name1 (entnext))))
(setq name2 name1)
(while (/= (cdr (assoc 0 le1)) "POINT")
  (setq le1 (entget (setq name1 name2)))
  (setq le1 (entget (setq name2 (entnext name1))))
)   ; конец while

(command "_pline" (cdr (assoc 10 le1)))     ;первая точка
(setq name1 name2)
(setq le1 (entget name1))
(entdel name1)

(setq i 1)

(setq le2 (entget (setq name2 (entnext name1))))
(while (< i 39)
  (if (= (cdr (assoc 0 le2)) "POINT")
    (progn
      (command (cdr (assoc 10 le2)))
      (entdel name1)
      (setq i (1+ i))
    )   ; конец progn
  ) ; конец if
  (setq name1 name2)
  (setq le2 (entget (setq name2 (entnext name1))))
)   ; конец while

(setq le1 (entget name1))
(entdel name1)
(command)
(command)

(command "_line" "_none" "15,101" "_none" "67,1193" "")

(command "_line" "_none" "7731,101" "_none" "7679,1193" "")

(entlast)
(setq name1 (entnext name0))
(cdr (assoc 0 (setq le1 (entget name1))))
(setq name2 (entnext name1))
(cdr (assoc 0 (setq le2 (entget name2))))
(setq name3 (entnext name2))
(cdr (assoc 0 (setq le3 (entget name3))))
(setq name4 (entnext name3))
(cdr (assoc 0 (setq le4 (entget name4))))
(command "_pedit" name1 "_J" name2 name3 name4 "" "")
(command "_pedit" name1 "_C" "")

(command "_zoom" "_all")

(command "_text" "_S" "" "3123,501.5" "200" "" "P230031" "" "")	

(command "_save" "C:\\DataBase\\AutoCad\\ЧертежиРазвертокLSP\\Интерполяция_DWG\\P230031.dwg")	
(command "_Y" "")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 19.06.2009, 10:27
#3
vovkam


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


VVA Cпасибо.

Последний раз редактировалось vovkam, 19.06.2009 в 11:11.
vovkam вне форума  
 
Непрочитано 19.06.2009, 11:37
#4
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


vovkam, сама развертка, сделана линейными сегментами... У меня возник вопрос - почему не дугами?
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 19.06.2009, 11:46
#5
vovkam


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


Это для того чтобы избежать дальнейших проблем с большими радиусами дуг.
vovkam вне форума  
 
Непрочитано 19.06.2009, 12:46
#6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


vovkam, Я бы построил развертку ручками, затем взял бы список (entget ...), сохранил в файл и восстанавливал (entmakex ...).
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 19.06.2009, 12:55
#7
vovkam


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


Цитата:
Сообщение от VVA Посмотреть сообщение
vovkam, Я бы построил развертку ручками, затем взял бы список (entget ...), сохранил в файл и восстанавливал (entmakex ...).
По подробней, пожалуйста.
vovkam вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Лисп. Чертеж равертки обечайки.

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу скопировать чертеж вставленный из архикада svekla AutoCAD 8 21.06.2009 00:17
Лисп: моментальное редактирование цифр в предложениях dextron3 LISP 12 27.09.2008 09:33
как переделать сканированный чертеж в рабочий чертеж AutoCad Barma_60 AutoCAD 5 16.09.2008 17:22
Лисп для копирования данных нескольких мтекстов по принципу расположения. Red Nova LISP 14 18.06.2008 22:08
Как сделать правильный чертеж pk77 Разное 64 03.04.2007 16:36