broncos15 发表于 2022-7-5 17:59:36

提取Mleader注释性pro

我有一个关于多重引线的注释性比例特性的快速问题。我在acadauto中找不到任何文档。chm关于对象的注释性比例特性。我想做的是添加当前的注释性比例(使用-objectscale命令可以轻松完成),删除除当前比例之外的所有多重引线的注释性比例,然后将其添加回。如果我知道如何找到/存储与每个对象相关的比例,我知道我可以使用重复循环来完成它。有人有什么建议吗?

Lee Mac 发表于 2022-7-5 18:58:04

为了深入了解注释性数据的存储位置,以下函数将返回与给定多重引线图元关联的所有注释性比例:
(defun getmleaderannoscales ( ent / dic enx itm rtn )
   (if
       (and
         (setq enx (entget ent))
         (setq dic (cdr (assoc 360 (cdr (member '(102 . "{ACAD_XDICTIONARY") enx)))))
         (setq dic (cdr (assoc -1(dictsearch dic "acdbcontextdatamanager"))))
         (setq dic (cdr (assoc -1(dictsearch dic "acdb_annotationscales"))))
       )
       (while (setq itm (dictnext dic (not itm)))
         (setq rtn (cons (cdr (assoc 300 (entget (cdr (assoc 340 itm))))) rtn))
       )
   )
   (reverse rtn)
)
_$ (getmleaderannoscales (car (entsel)))
("1:1" "1:4")

broncos15 发表于 2022-7-5 19:15:10

李,非常感谢你的帮助,这个功能非常有用!奇怪的是,AutoCad使提取mleader比例变得如此困难(必须通过字典搜索它们的事实似乎很荒谬)。
页: [1]
查看完整版本: 提取Mleader注释性pro