bartdheere 发表于 2022-7-5 17:29:32

块名称到层名称

你好
 
谁能帮我制定一个lisp,将重命名块名以匹配其层名?
 
格茨,巴特

Lee Mac 发表于 2022-7-5 17:45:13

如果同一块的两个引用插入到不同的层上,会怎么样?

bartdheere 发表于 2022-7-5 18:01:51

李·麦克,
 
从测量导出到dxf后,每个块都有一个块名“MEASURED”。每个街区都有一个存储在场地上的图层名称。现在,我需要将块名“MEASURED”更改为layername,就像它存储在字段中一样。

BIGAL 发表于 2022-7-5 18:21:10

一个问题是dxf来自什么软件可能能够在那里设置更好的默认值。
 
发布带有几个点的样例dwg。

halam 发表于 2022-7-5 18:34:56

我只是碰巧需要一些东西来组织来自Revit导出的块(一堆falimlies)。
在Autodesk论坛上找到了一个良好的工作代码:
 
http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lisp-to-move-blocks-to-their-own-layers-based-on-block-name/td-p/5331511
 
 

(defun c:bln2lan (/ blk ent hnd i name ss)
(if (setq ss (ssget ":L" '((0 . "INSERT"))))
   (repeat (setq i (sslength ss))
   (setq hnd(ssname ss (setq i (1- i)))
         ent(entget hnd)
         blk(vlax-ename->vla-object hnd)
         name (vlax-get-property
                  blk
                  (if (vlax-property-available-p blk 'EffectiveName)
                  'EffectiveName
                  'Name
                  )
                )
   )
   (entmod (subst (cons 8 name) (assoc 8 ent) ent))
   )
)
(princ)
)
页: [1]
查看完整版本: 块名称到层名称