Тема: Swept Solid Object

Господа! Существует ли возможность получить Swept Solid Object методами AutoLisp/ActiveX/ObjectARX... etc. Если да, то как?

Заранее благодарен.

(изменено: Александр Ривилис, 12 декабря 2013г. 17:35:39)

Re: Swept Solid Object

ObjectARX: AcDb3dSolid::createSweptSolid
AutoCAD .NET API: Solid3d.CreateSweptSolid
Ну а в лиспе думаю только командными методами.

Пример на C#: http://through-the-interface.typepad.co … g-net.html

Re: Swept Solid Object

Леонид пишет:

Господа! Существует ли возможность получить Swept Solid Object методами AutoLisp/ActiveX/ObjectARX... etc. Если да, то как?
Заранее благодарен.

Нашел похожее, может приспособишь под свою задачу:

(defun C:ww(/ eh ents nxt path sset wall win)
;;FH 2010
(command "_.rectang" "_non" "0,0" "_non" "1809,275")
(command "_.region" "_L" "")
(setq wall (entlast))
(setq sset (ssadd))
(command "_.rectang" "_non" "160,82" "_non" "249,245")
(setq eh (entlast))
(command "_.region" eh "")
(setq eh (entlast))
(setq ents nil)
(command "_.array" "_L" "" "_R" 1 8 200)
 ;; collect objects after arraying 
(while (setq nxt (entnext eh)) 
  (setq ents (cons nxt ents))
  (setq eh nxt)
)
  
(setq eh (entlast))
  ;; create separate regions from collected objects
(command "_.region" ents "")
 ;; select created regions  by window selection
(setq sset (ssget "W" (list 0 5 0) (list 1804 270 0 ) (list (cons 0 "REGION"))))
;; union  created regions 
  (command "_.union" sset "")
  (setq win (entlast))
  (setq ents nil)

;; subtract created regions from the main region (eg wall)
(command "_.subtract" wall "" win "")
(setq wall (entlast))
;; create path to extrude
(command "_.line" "_non" "0,0,0" "_non" "0,0,25.4" "")
(setq path (entlast))
;; create swept solid through this path
(command "_.sweep" wall "" path)
;; erase path
(command "_.erase" path "" )
;; zoom to selected region with small extension  
(command "_.zoom" "_W" "-10,-10"  "1830,285" )
;; change solid color, may to change some other props too 
(command "_.change" "_L" "" "_P"  "_Co" "_T" "111,112,113" "")
(princ)
)