@yu85.info shalom,
tell you the truth, i am not really understand what is your goal.
and why the 'hetz zaphone' is needed, this not mapa 😀
anyway i think this is solved
enjoy
Moshe
(defun c:WrapDynBlk (/ getBlockName ; local function
bname r0 ss0 ss1 bname)
(defun getBlockName (/ flag name)
(while (not flag)
(setq name (getstring t "\nBlock name: "))
(cond
((eq name "")
(setq flag t)
name
); case
((tblsearch "block" name)
(princ (strcat "\nBlock \"" name "\" is already exist."))
); case
( t
(setq flag t)
); case
); cond
); while
name
); getBlockName
; here start c:WrapDynBlk
(setvar "cmdecho" 0)
(command "._undo" "_begin")
(if (and
(/= (setq bname (getBlockName)) "")
(setq r0 (getpoint "\nRotation base point: "))
(setq ss0 (ssget))
)
(progn
(command "._copybase" "0,0" "_si" ss0)
(command "._erase" "_si" ss0)
(command "._block" bname "0,0" "_si" "_all")
(command "._bedit" bname)
(setq ename (entlast))
(command "._pasteclip" "0,0")
(setq ss1 (ssadd))
(while (setq ename (entnext ename))
(ssadd ename ss1)
); while
(command "._bparameter" "_rotation" r0 0.5 "" "" "")
(command "._bactiontool" "_rotate" (polar r0 (/ pi 4) 0.5)"_si" ss1)
(command "._bclose" "_save")
(command "._insert" bname "0,0" 1 1 0)
); progn
); if
(command "._undo" "_end")
(setvar "cmdecho" 1)
(princ "\nDone.")
(princ)
); c:WrapDynBlk