判断多重引线的样式是否存在
(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.p ... msg580975#msg580975

网友答: 多重引线样式不是符号表,tblsearch是找符号表的
  • 上一篇:替代alert的一个方案, 不用关闭弹窗也能继续操
  • 下一篇:没有了