(defun c:c4 ( / ss)
(vl-load-com)
(or *acdoc*
(setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
)
(if (setq ss (ssget ))
(progn
(if ( not de-hi ) (setq de-hi 200 ) )
(setq detemp-hi (getreal (strcat "\n height <" (rtos de-hi) ">:")))
(if detemp-hi (setq de-hi detemp-hi))
(vlax-for obj (setq ss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))
(setq reg (vl-catch-all-apply
'vlax-invoke
(list sp 'addRegion(list obj)))
)
(or (vl-catch-all-error-p reg)
(and
(vla-addExtrudedSolid sp (car reg) de-hi 0.0 )
(vla-delete (car reg))
)
)
)
)
)
)
(defun h2r ( ss num / el i h reg sp )
(vl-load-com)
(or *acdoc*
(setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
)
(setq el (entlast))
(setq s (ssadd))
(repeat (setq i (sslength ss))
(setq h (ssname ss (setq i (1- i))))
(setq la (cdr (assoc 8 (entget h))))
(setvar "clayer" la)
(command "_.-HATCHEDIT" h "_B" "_R" "_N")
(command "_.-HATCHEDIT" h "_DI")
(if (not (eq el (entlast))) (ssadd (entlast) s))
)
(command "_erase" ss "")
(vlax-for obj (setq
s (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))
)
;; If we already have a region extrude it
(if (= "AcDbRegion" (vla-get-objectname obj))
(vla-addextrudedsolid sp obj num 0.0)
;; Else try to create a region and extrude it
(or (vl-catch-all-error-p
(setq reg (vl-catch-all-apply 'vlax-invoke (list sp 'addregion (list obj))))
)
(and (vla-addextrudedsolid sp (car reg) num 0.0) (vla-delete (car reg)))
)
)
)
(princ)
)
( defun c:hs2 ( / )
(setq ss (ssget "_:L" '((0 . "HATCH"))))
( h2r ss 100 )
)
(defun c:c4 (/ de-hi detemp-hi reg sp ss)
(vl-load-com)
(setq acadObj (vlax-get-acad-object)) ;; <-- inserted lines..
(setq doc (vla-get-ActiveDocument acadObj)) ;; <-- got from:
(setq sp (vla-get-ModelSpace doc)) ;; <--
;;; https://help.autodesk.com/view/OARX/2020/DEU/?guid=GUID-B9DEA4C5-EDAA-4CC6-93B0-394D5991A0E6
(or *acdoc* (setq *acdoc* (vla-get-activedocument (vlax-get-acad-object))))
....
....
(princ)
)