LISP программа в AccoreConsole

Автор Тема: LISP программа в AccoreConsole  (Прочитано 6662 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн dolar18Автор темы

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
LISP программа в AccoreConsole
« : 13-09-2015, 19:53:15 »
Уважаемые профи, скажите пожалуйста как в консольной версии AutoCAD AccoreConsole можно загрузить Lisp программу, запустить ее (построение 3D модели), а потом сохранить  файл?
Я пробовал, как в простом автокаде:
(load "C:/3d.lsp")
(program)
Ничего не получается(((

Вот сама программа:

Код - Auto/Visual Lisp [Выбрать]
  1. (DEFUN asin (X)
  2. (ATAN X (SQRT (- 1 (* X X)))))
  3.  
  4. (defun kor (lp dp dsp)
  5.  (setq dw 20.0 dsw 35.0 bsw 30.0 bsp 20.0 bk 14.0)
  6. (setq rw (/ dw 2.0)  rsw (/ dsw 2.)  rp (/ dp 2.)  rsp (/ dsp 2.) hbk (/ bk 2.) bfs (/ (- bsp bk) 2.0) )
  7. (setq alfa (asin (/ (- rsw rsp) lp))
  8. p1 (polar '(0 0 0) (- (* 0.5 pi) alfa) rsw)
  9. p2 (polar (list lp 0 0) (- (* 0.5 pi) alfa) rsp)
  10. p3 (polar '(0 0 0) (+ (* 1.5 pi) alfa) rsw)
  11. p4 (polar (list lp 0 0) (+ (* 1.5 pi) alfa) rsp))
  12. (command "_Pline" '(0 0 0) p1 p2 (list lp 0 0) p4 p3 "_c")
  13. (command "_extrude" (entlast) ""  bk "")
  14. (setq o1 (entlast))
  15. (command "_Cylinder" '(0 0 0) rsw bsw)
  16. (command "_Union" o1 (entlast) "")
  17. (command "_Cylinder" (list lp 0 0) rsp bsp)
  18. (command "_Union" o1 (entlast) "")
  19. (command "_Cylinder" '(0 0 0) rw bsw)
  20. (setq o2 (entlast))
  21. (command "_Cylinder" (list (+ 0 lp) 0 0) rp bsp)
  22. (command "_Subtract" o1 "" o2 (entlast) "")
  23. )
  24.  
  25. (defun pov (lp dp ds bs)
  26. (setq  hpw 22. spw 12.)
  27. (setq rp (/ dp 2.)  rs (/ ds 2.) )
  28. (command "_Cylinder" '(0 0 0) rs bs)
  29. (setq o1 (entlast))
  30. (command "_Cylinder" (list lp 0 0) rs bs)
  31. (setq o2 (entlast))
  32. (command "_Box" (list 0 (/ spw -2.) (/ (- bs hpw) 2.)) "_l" lp spw hpw)
  33. (command "_Union" o1 o2 (entlast) "")
  34. (command "_Cylinder" '(0 0 0) rp bs)
  35. (setq o3 (entlast))
  36. (command "_Cylinder" (list lp 0 0) rp bs)
  37. (command "_subtract" o1 "" o3 (entlast) "")
  38. )
  39.  
  40. (defun C:MechanismUAD()
  41. (command "_undo" 1000)
  42. (setvar "osmode" 16384)
  43. (setvar "CmdEcho" 0)
  44. (setvar "BlipMode" 0)
  45. (setvar "UcsIcon" 3)
  46.  ; Êðèâîøèï
  47.  
  48. (setq LA 200
  49. fi 45.0000012522391
  50. Xb -70.7106830355541
  51. Yb -70.7106732017551
  52. Y 364.649143089735
  53. A 760
  54. B 560
  55. HP 50
  56.  )
  57. (command "_Cylinder" '(0 0 -30) 25. (/ B  -2.))
  58. (setq Val (entlast))
  59. (command "_Cylinder" '(0 0 0) 10. -30)
  60. (command "_Union" Val  (entlast) "")
  61. (command "_Ucs" "_n" (list Xb  Yb  -30.) )
  62. (command "_Ucs" "_n" "_z" fi )
  63. (pov LA  20. 35. 30.)
  64. (command "_Union" Val  (entlast) "")
  65. (command "_Ucs" "_n" "_z" (- 0 fi ))
  66. (command "_Ucs" "_n" (list (- 0 Xb ) (- 0 Yb )  30.))
  67. (command "_Ucs" "_n" (list  0 0 (- (/ B  -2.) 30.)))
  68. (command "_Ucs" "_n" "_x" 270.)
  69. (command "_MIRROR" Val"" (list 0 0  (/ B  -2.)) (list 50 0 (/ B  2.)) "_n" )
  70. (command "_Union" Val  (entlast) "")
  71. (command "_Ucs" "_n" "_x" -270.)
  72. (command "_Ucs" "_n" (list  0 0 (+ (/ B  2.) 30.)))
  73. (command "_Box" (list (/ A  -2.) (+ Y  40) -30) "_l" A   HP  (- 0 B ))
  74.  
  75.  ; Ãðóïà Àññóðà 2
  76.  
  77. (setq L2 400
  78. Fi2 -10.1820676280677
  79. XB2 464.411069996247
  80. YB2 -1.80411241501588E-15
  81. XA2 70.7106765732237
  82. YA2 70.7106796640857
  83.  )
  84.  
  85. (command "_Ucs" "_n" (list XA2  YA2   0) )
  86. (command "_Ucs" "_n" "_z" Fi2 )
  87. (kor L2  16. 28.)
  88. (setq 2A   (entlast))
  89. (command "_Cylinder" '(0 0 30) 10. -60)
  90. (setq 2B   (entlast))
  91. (command "_Cylinder" '(0 0 30) 17.5 15)
  92. (command "_Union" 2B  (entlast) "")
  93. (command "_Ucs" "_n" "_z" (- 0 Fi2 ))
  94. (command "_Ucs" "_n" (list (- 0 XA2 ) (- 0 YA2 ) 0))
  95. (command "_Ucs" "_n" (list XB2  YB2   0) )
  96. (command "_Box" (list -100 -55 0) "_l" 200. 30. -60.)
  97. (setq 2C   (entlast))
  98. (command "_Box" (list -100 -40 -15) "_l" 200. 40. -30.)
  99. (setq 2D   (entlast))
  100. (command "_subtract" 2C  "" 2D  (entlast) "")
  101. (command "_Cylinder" '(0 0 -15) 40 -30)
  102. (setq 2E   (entlast))
  103. (command "_Cylinder" '(0 0 -15) 8 -30)
  104. (setq 2F   (entlast))
  105. (command "_subtract" 2E  "" 2F  (entlast) "")
  106. (command "_Cylinder" '(0 0 20) 14. 20)
  107. (setq 2G   (entlast))
  108. (command "_Cylinder" '(0 0 20) 8. -80)
  109. (command "_Union" 2G (entlast) "")
  110. (command "_Cylinder" '(0 0 0) 14. -15.)
  111. (setq 2H   (entlast))
  112. (command "_Ucs" "_n" (list (- 0 XB2 ) (- 0 YB2 )  0) )
  113. (command "_Ucs" "_n" (list  0 0 (- (/ B  -2.) 30.)))
  114. (command "_Ucs" "_n" "_x" 270.)
  115. (command "_MIRROR" 2A 2B 2C 2E 2G 2H "" (list 0 0  (/ B  -2.)) (list 50 0 (/ B  2.)) "_n" )
  116. (command "_Ucs" "_n" "_x" -270.)
  117. (command "_Ucs" "_n" (list  0 0 (+ (/ B  2.) 30.)))
  118.  
  119.  ; Ãðóïà Àññóðà 2
  120.  
  121. (setq L3 400
  122. Fi3 -190.182066687595
  123. XB3 -464.411077619246
  124. YB3 -1.28508315100362E-14
  125. XA3 -70.7106830355541
  126. YA3 -70.7106732017551
  127.  )
  128.  
  129. (command "_Ucs" "_n" (list XA3  YA3   0) )
  130. (command "_Ucs" "_n" "_z" Fi3 )
  131. (kor L3  16. 28.)
  132. (setq 3A   (entlast))
  133. (command "_Cylinder" '(0 0 30) 10. -60)
  134. (setq 3B   (entlast))
  135. (command "_Cylinder" '(0 0 30) 17.5 15)
  136. (command "_Union" 3B  (entlast) "")
  137. (command "_Ucs" "_n" "_z" (- 0 Fi3 ))
  138. (command "_Ucs" "_n" (list (- 0 XA3 ) (- 0 YA3 ) 0))
  139. (command "_Ucs" "_n" (list XB3  YB3   0) )
  140. (command "_Box" (list -100 -55 0) "_l" 200. 30. -60.)
  141. (setq 3C   (entlast))
  142. (command "_Box" (list -100 -40 -15) "_l" 200. 40. -30.)
  143. (setq 3D   (entlast))
  144. (command "_subtract" 3C  "" 3D  (entlast) "")
  145. (command "_Cylinder" '(0 0 -15) 40 -30)
  146. (setq 3E   (entlast))
  147. (command "_Cylinder" '(0 0 -15) 8 -30)
  148. (setq 3F   (entlast))
  149. (command "_subtract" 3E  "" 3F  (entlast) "")
  150. (command "_Cylinder" '(0 0 20) 14. 20)
  151. (setq 3G   (entlast))
  152. (command "_Cylinder" '(0 0 20) 8. -80)
  153. (command "_Union" 3G (entlast) "")
  154. (command "_Cylinder" '(0 0 0) 14. -15.)
  155. (setq 3H   (entlast))
  156. (command "_Ucs" "_n" (list (- 0 XB3 ) (- 0 YB3 )  0) )
  157. (command "_Ucs" "_n" (list  0 0 (- (/ B  -2.) 30.)))
  158. (command "_Ucs" "_n" "_x" 270.)
  159. (command "_MIRROR" 3A 3B 3C 3E 3G 3H "" (list 0 0  (/ B  -2.)) (list 50 0 (/ B  2.)) "_n" )
  160. (command "_Ucs" "_n" "_x" -270.)
  161. (command "_Ucs" "_n" (list  0 0 (+ (/ B  2.) 30.)))
  162.  
  163.  ; Ãðóïà Àññóðà 2
  164.  
  165. (setq L4 400
  166. Fi4 65.7305907018736
  167. XB4 -300
  168. YB4 364.649143089735
  169. XA4 -464.411077619246
  170. YA4 -1.28508315100362E-14
  171.  )
  172.  
  173. (command "_Ucs" "_n" (list XA4  YA4   -55) )
  174. (command "_Ucs" "_n" "_z" Fi4 )
  175. (pov L4  16. 28. 24.)
  176. (setq 4A   (entlast))
  177. (command "_Ucs" "_n" "_z" (- 0 Fi4 ))
  178. (command "_Ucs" "_n" (list (- 0 XA4 ) (- 0 YA4 ) 55))
  179. (command "_Ucs" "_n" (list XB4  YB4   0) )
  180. (command "_Cylinder" '(0 0 -15) 17.5 -15)
  181. (setq 4B   (entlast))
  182. (command "_Cylinder" '(0 0 -30) 8. -45)
  183. (command "_Union" 4B   (entlast) "")
  184. (command "_Box" (list -15 -20 -60) "_l" 30. 60. -15.)
  185. (setq 4C   (entlast))
  186. (command "_Ucs" "_n" (list (- 0 XB4 ) (- 0 YB4 )  0) )
  187. (command "_Ucs" "_n" (list  0 0 (- (/ B  -2.) 30.)))
  188. (command "_Ucs" "_n" "_x" 270.)
  189. (command "_MIRROR" 4A  4B  4C "" (list 0 0  (/ B  -2.)) (list 50 0 (/ B  2.)) "_n" )
  190. (command "_Ucs" "_n" "_x" -270.)
  191. (command "_Ucs" "_n" (list  0 0 (+ (/ B  2.) 30.)))
  192.  ; Ãðóïà Àññóðà 2
  193.  
  194. (setq L5 400
  195. Fi5 114.269408100357
  196. XB5 300
  197. YB5 364.649146526753
  198. XA5 464.411069996247
  199. YA5 -1.80411241501588E-15
  200.  )
  201.  
  202. (command "_Ucs" "_n" (list XA5  YA5   -55) )
  203. (command "_Ucs" "_n" "_z" Fi5 )
  204. (pov L5  16. 28. 24.)
  205. (setq 5A   (entlast))
  206. (command "_Ucs" "_n" "_z" (- 0 Fi5 ))
  207. (command "_Ucs" "_n" (list (- 0 XA5 ) (- 0 YA5 ) 55))
  208. (command "_Ucs" "_n" (list XB5  YB5   0) )
  209. (command "_Cylinder" '(0 0 -15) 17.5 -15)
  210. (setq 5B   (entlast))
  211. (command "_Cylinder" '(0 0 -30) 8. -45)
  212. (command "_Union" 5B   (entlast) "")
  213. (command "_Box" (list -15 -20 -60) "_l" 30. 60. -15.)
  214. (setq 5C   (entlast))
  215. (command "_Ucs" "_n" (list (- 0 XB5 ) (- 0 YB5 )  0) )
  216. (command "_Ucs" "_n" (list  0 0 (- (/ B  -2.) 30.)))
  217. (command "_Ucs" "_n" "_x" 270.)
  218. (command "_MIRROR" 5A  5B  5C "" (list 0 0  (/ B  -2.)) (list 50 0 (/ B  2.)) "_n" )
  219. (command "_Ucs" "_n" "_x" -270.)
  220. (command "_Ucs" "_n" (list  0 0 (+ (/ B  2.) 30.)))
  221. (command "_Shademode" "_G")
  222. (command "_zoom" "_e")
  223. )
  224.  
« Последнее редактирование: 13-09-2015, 20:30:06 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: LISP программа в AccoreConsole
« Ответ #1 : 13-09-2015, 20:14:39 »
dolar18
Приветствую на форуме!
Как минимум нужно знать что это за код и может ли он работать в AcCoreConsole, так как далеко не всё, что работает в AutoCAD будет работать в AcCoreConsole.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн dolar18Автор темы

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: LISP программа в AccoreConsole
« Ответ #2 : 13-09-2015, 20:21:53 »
Александр Ривилис, код добавил в описание

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: LISP программа в AccoreConsole
« Ответ #3 : 13-09-2015, 20:37:18 »
Александр Ривилис, код добавил в описание
1. Прочитай у меня в подписи как форматировать код
2. Версия AutoCAD?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн dolar18Автор темы

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: LISP программа в AccoreConsole
« Ответ #4 : 13-09-2015, 20:41:54 »
Александр Ривилис, AutoCAD 2016

Отмечено как Решение dolar18 13-09-2015, 22:00:08

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: LISP программа в AccoreConsole
« Ответ #5 : 13-09-2015, 20:42:56 »
AutoCAD 2016
C:\ - это доверенное местоположение или SECURELOAD = 0?
P.S.: Код очень "грязный". Разбираться в нём не буду:

C:\Program Files\Autodesk\AutoCAD 2016>accoreconsole.exe
Redirect stdout (file: C:\Temp\accc1442).
AutoCAD Core Engine Console - Copyright Autodesk, Inc 2009-2013.

Usage:
AcCoreConsole.exe [/i <input dwg>] /s <script>[/product <product>] [/l <language>] [/isolate <userid> <userDataFolder>] [/readonly] [/p[rofile] <profile>]

Example:
AcCoreConsole.exe /i 8th_floor.dwg /s test.scr /l en-US
Regenerating model.


**** System Variable Changed ****
1 of the monitored system variables has changed from the preferred value. Use SYSVARMONITOR command to view changes.


Command:
Command:

Command:
Command: (setvar "SECURELOAD" 0)
Command: (setvar "SECURELOAD" 0)


Command: (load "C:/3d.lsp")
Command: (load "C:/3d.lsp")


Command: MechanismUAD
Command: MechanismUAD
_undo Current settings: Auto = On, Control = All, Combine = Yes, Layer = Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] <1>: 1000
Everything has been undone

Command:
Unknown command "MECHANISMUAD".  Press F1 for help.

Unknown command "MECHANISMUAD".  Press F1 for help.


Command: quit
Command: quit

Command:
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн dolar18Автор темы

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: LISP программа в AccoreConsole
« Ответ #6 : 13-09-2015, 22:00:27 »
Александр Ривилис, спасибо все заработало