明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 492|回复: 6

[提问] 判断多重引线的样式是否存在

[复制链接]
发表于 2025-11-4 18:00:55 | 显示全部楼层 |阅读模式
判断多重引线的样式是否存在
(tblsearch "MLEADERSTYLE" "xx")

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

使用道具 举报

发表于 2025-11-4 18:18:25 来自手机 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-11-4 18:49 编辑

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

使用道具 举报

发表于 2025-11-4 18:18:52 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2025-11-5 09:34:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 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.p ... msg580975#msg580975
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
多重引线样式不是符号表,tblsearch是找符号表的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-11-13 22:54 , Processed in 0.148921 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表