黄翔 发表于 2025-11-4 18:00:55

判断多重引线的样式是否存在

判断多重引线的样式是否存在
(tblsearch "MLEADERSTYLE" "xx")

为什么出错啊?用上面函数判断啊?

你有种再说一遍 发表于 2025-11-4 18:18:25

本帖最后由 你有种再说一遍 于 2025-11-4 18:49 编辑

dwg的九个符号表不包含这个,因为这是新东西,属于扩展内容.
这些新东西会记录在主字典,名称是"ACAD_MLEADERSTYLE",你可以搜搜.
桌子为了记录未来可能的新数据就用了这招,
所以键值对/哈希表/字典/散列表/映射表/map,这种东西概念缺失会不利于编程.

liuhe 发表于 2025-11-4 18:18:52

http://bbs.mjtd.com/thread-186620-1-1.html

tranque 发表于 2025-11-5 09:34:46

牛啊 牛啊,支持

sandyvs 发表于 2025-11-5 10:05:41

;忘了哪找的了
(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   ; 样式存在
      )
    )
)
)

黄翔 发表于 2025-11-5 10:39:39

(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

d1742647821 发表于 2025-11-6 09:32:33

多重引线样式不是符号表,tblsearch是找符号表的
页: [1]
查看完整版本: 判断多重引线的样式是否存在