转换为块
是否可以在不打开对话框的情况下访问“转换为块”选项?我似乎无法使用block命令访问它! 确实有:
我曾与David Bethel合作:
(defun c:obj2blk1 (/ ss bn pt i ent elist)
; Get Entities
(while (not ss)
(princ "\nSelect Objects to Convert to Blocks:")
(setq ss (ssget '((-4 . "<NOT") (0 . "INSERT,POLYLINE,VIEWPORT") (-4 . "NOT>"))))
) ;_end while
; Get Block Name and Base Point
(while (or (not bn)
(not (snvalid bn))
) ;_end or
(setq bn (getstring "Specify Block Name: "))
) ;_end while
(initget 1)
(setq pt (getpoint "Specify Base Point for Block: "))
;;; Create BLOCK Header
(entmake (list (cons 0 "BLOCK") (cons 10 pt) (cons 2 bn) (cons 70 0)))
;;;STEP THRU THE SET
(setq i (sslength ss))
(while (>= i (setq i (1- i)) 0)
(setq ent (ssname ss i)
elist (entget ent)
) ;_end setq
(entmake elist)
) ;_end while
;;;FINISH THE BLOCK DEFINITION
(entmake (list (cons 0 "ENDBLK") (cons 8 "0")))
;;;Insert the Block & Delete Originals
(entmake (list (cons 0 "INSERT") (cons 2 bn) (cons 8 "0") (cons 10 pt)))
(command "_.ERASE" ss "")
(redraw)
(prin1)
) ;_end defun
你试过“-b”吗
厕所,
您可以使用“-BLOCK”并执行常见的命令提示,这样可能更容易。
但是,如果您只想阻止对象,我的LISP将绕过所有命令提示,从选定的对象创建一个块。 埃尔登
使用-block命令不会产生将原始实体转换为块定义的选项。
与-hatchedit命令类似,为-bhatch命令带来了更多选项,如边界创建。
和李和大卫的解决方案一样令人印象深刻的是,我希望有一个命令选项。 转换为块函数的目的是什么?在LISP中使用还是独立使用?
为什么您特别需要“命令”选项?
只是好奇 如果您特别希望这样做,“-block”可以与“-insert”命令配合使用。但它可能相当喜怒无常! 这是最简单的方法,我每天至少用20次
你所需要做的就是在pb中选择一组对象,并将其放置在你想要放置块的地方。
如果要复制组并作为块插入,而不是删除组,请使用(命令“copyclip”ss1”)替换(命令“cutclip”ss1“”)
(defun c:pb (/ ss1)
(setq ss1 (ssget ))
(command "cutclip" ss1 "")
(command "pasteblock")
(princ)
) 很好的解决方案,迈克。
这些年我哪里出了问题
“-block”命令使工具可以键入块名,选择插入点,然后选择对象(即实体),这些对象随后形成块。这对我来说很管用。
然后用“OOPS”返回原始实体
页:
[1]
2