判断多重引线的样式是否存在
判断多重引线的样式是否存在(tblsearch "MLEADERSTYLE" "xx")
为什么出错啊?用上面函数判断啊?
本帖最后由 你有种再说一遍 于 2025-11-4 18:49 编辑
dwg的九个符号表不包含这个,因为这是新东西,属于扩展内容.
这些新东西会记录在主字典,名称是"ACAD_MLEADERSTYLE",你可以搜搜.
桌子为了记录未来可能的新数据就用了这招,
所以键值对/哈希表/字典/散列表/映射表/map,这种东西概念缺失会不利于编程. http://bbs.mjtd.com/thread-186620-1-1.html 牛啊 牛啊,支持 ;忘了哪找的了
(defun czx:mlstylep (style-name / dicts doc mleader-dict)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq dicts (vla-get-dictionaries doc))
(if (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list dicts "ACAD_MLEADERSTYLE")))
(progn
(princ "\n错误:未找到多重引线样式字典!")
nil
)
(progn
(setq mleader-dict (vla-item dicts "ACAD_MLEADERSTYLE"))
(if (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list mleader-dict style-name)))
nil; 样式不存在
t ; 样式存在
)
)
)
) (and (setq d (dictsearch (namedobjdict) "acad_mleaderstyle"))
(setq ed (cdr (assoc -1 d)))
(dictsearch ed mlstylename)
)
找到了.https://www.theswamp.org/index.php?topic=53383.msg580975#msg580975 多重引线样式不是符号表,tblsearch是找符号表的
页:
[1]