明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: jh1005

[源码] 小笨词库DCL版 v2.0.10 (2024-8-3更新)

    [复制链接]
发表于 2024-10-5 08:42:01 | 显示全部楼层
真牛,更新这么多年
发表于 2024-11-14 16:54:07 | 显示全部楼层
大佬,能不能增加多重引线功能啊?
发表于 2024-11-14 17:24:22 | 显示全部楼层
小笨大神,可不可以更新一下,保存上次设置啊?经常用着用着字体就变了
发表于 2024-11-14 18:18:41 | 显示全部楼层
感谢分享  支持一下
发表于 2024-11-14 18:25:54 | 显示全部楼层
479274135 发表于 2024-11-14 18:18
感谢分享  支持一下

支持源码,有很多可以学习的地方
发表于 2025-1-17 22:47:12 | 显示全部楼层




能否放用户选择文字不要放在引信的上方,放在引线的结束点
回复 支持 反对

使用道具 举报

发表于 2025-1-20 10:45:30 | 显示全部楼层
简直是大聪明词库!!!
回复 支持 反对

使用道具 举报

发表于 2025-3-18 20:28:44 | 显示全部楼层
本帖最后由 peter1991 于 2025-3-18 21:39 编辑

这个词库太棒了
回复 支持 反对

使用道具 举报

发表于 2025-3-18 21:46:34 | 显示全部楼层
要是支持天正对象就更好了
回复 支持 反对

使用道具 举报

发表于 2025-3-19 15:30:11 | 显示全部楼层
peter1991 发表于 2025-3-18 21:46
要是支持天正对象就更好了

  • 更改下面程序后支持部分天正对象,小白借用DEEPSEEk编写
  • (defun cc_text_edit                        ;文字替换、前缀、后缀
  •     (str m / ss ent sslen t1 nnn obt obj blockname block_n)
  •     (cond
  •         ((= m 1) (princ "\n文字替换,请选择文字、标注、块(用点选):"))    ;替换
  •         ((= m 2) (princ "\n文字加前缀,请选择文字、标注、块(用点选):"))  ;前缀
  •         ((= m 3) (princ "\n文字加后缀,请选择文字、标注、块(用点选):"))  ;后缀
  •     )
  •     (while (setq ss (ssget ":S" '((0 . "*TEXT,DIMENSION,INSERT,TCH_DRAWINGNAME,TCH_MULTILEADER"))))
  •         (fy_ErrorInit '("cmdecho" 0) 1 nil)
  •         (setq sslen (sslength ss))
  •         (foreach ent (fy_enlst ss)
  •             (if (= (cdr (assoc 0 (entget ent))) "INSERT")
  •                 (progn
  •                     (setq obt ent)  ;块图元名,用于后面修改后更新显示
  •                     (setq nnn (fy_ssnamex ss ent))    ;找出图元的选取方式
  •                     (cond
  •                         ((and nnn (= (car nnn) 1))  ;拾取 nnn = (1 <图元名: 2584e0cb3a0> 0 (0 (30.4132 6.54994 0.0)))
  •                             (setq ent (car (nentselp (last (last nnn)))))  ;块内子图元名
  •                         )
  •                         ((/= nnn 1)
  •                             (setq sslen (1- sslen))  ;不是拾取
  •                             (princ "\n块内文字请使用点选!")
  •                         )
  •                     )
  •                 )
  •             )
  •             (setq t1 (cdr (assoc 1 (entget ent))))
  •             (if (and (= (cdr (assoc 0 (entget ent))) "DIMENSION") (= t1 "")) (setq t1 "<>"))
  •             (if (and (vl-string-search "\\n" str) (or (= (cdr (assoc 0 (entget ent))) "DIMENSION") (= (cdr (assoc 0 (entget ent))) "MTEXT")))
  •                 (setq str (fy_Replace str "\\n" "\n"))  ;换行符
  •             )
  •             (if t1
  •                 (cond
  •                     ((= m 1)  ;替换
  •                         (if (/= t1 str)
  •                             (progn
  •                                 ;; 新增天正对象支持
  •                                 (cond
  •                                     ((wcmatch (cdr (assoc 0 (entget ent))) "TCH_*")  ;天正对象
  •                                         (setq obj (vlax-ename->vla-object ent))
  •                                         (cond
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_TEXT")
  •                                                 (vlax-put-property obj 'Text str))
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_DRAWINGNAME")
  •                                                 (vlax-put-property obj 'NameText str))
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_MULTILEADER")
  •                                                 (vlax-put-property obj 'UpText str))
  •                                             (t  ;默认处理
  •                                                 (fy_PutDxf ent 1 str)
  •                                             )
  •                                         )
  •                                         (entupd ent)
  •                                     )
  •                                     (t  ;普通对象
  •                                         (fy_PutDxf ent 1 str)
  •                                         (if obt
  •                                             (mapcar 'entupd (fy_enlst (ssget "x" (list '(0 . "INSERT")))))
  •                                             (mapcar '(lambda(x) (entupd (cdr x))) (vl-remove-if-not '(lambda (x) (= (type (cdr x)) 'ENAME)) (entget ent))) ;更新关联图元
  •                                         )
  •                                     )
  •                                 )
  •                             )
  •                             (progn
  •                                 (setq sslen (1- sslen))
  •                                 (princ "\n选择对象已有该文字!")
  •                             )
  •                         )
  •                     )
  •                     ((= m 2)  ;前缀
  •                         (if (or (< (strlen t1) (strlen str)) (not (wcmatch t1 (strcat str "*"))))
  •                             (progn
  •                               (cond
  •                                     ((wcmatch (cdr (assoc 0 (entget ent))) "TCH_*")  ;天正对象
  •                                         (setq obj (vlax-ename->vla-object ent))
  •                                         (cond
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_TEXT")
  •                                                 (vlax-put-property obj 'Text (strcat str t1)))
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_DRAWINGNAME")
  •                                                 (vlax-put-property obj 'NameText (strcat str t1)))
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_MULTILEADER")
  •                                                 (vlax-put-property obj 'UpText (strcat str t1)))
  •                                             (t  ;默认处理
  •                                                 (fy_PutDxf ent 1 (strcat str t1))
  •                                             )
  •                                         )
  •                                         (entupd ent)
  •                                     )
  •                                     (t  ;普通对象
  •                                         (fy_PutDxf ent 1 (strcat str t1))
  •                                         (if obt
  •                                             (mapcar 'entupd (fy_enlst (ssget "x" (list '(0 . "INSERT")))))
  •                                             (mapcar '(lambda(x) (entupd (cdr x))) (vl-remove-if-not '(lambda (x) (= (type (cdr x)) 'ENAME)) (entget ent))) ;更新关联图元
  •                                         )
  •                                     )
  •                                 )
  •                                 ;(fy_PutDxf ent 1 (strcat str t1))
  •                                 ;; 天正对象处理同上
  •                                 (entupd ent)
  •                             )
  •                             (progn
  •                                 (setq sslen (1- sslen))
  •                                 (princ "\n选择对象已有该前缀!")
  •                             )
  •                         )
  •                     )
  •                     ((= m 3)  ;后缀
  •                         (if (or (< (strlen t1) (strlen str)) (not (wcmatch t1 (strcat "*" str))))
  •                             (progn
  •                               (cond
  •                                     ((wcmatch (cdr (assoc 0 (entget ent))) "TCH_*")  ;天正对象
  •                                         (setq obj (vlax-ename->vla-object ent))
  •                                         (cond
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_TEXT")
  •                                                 (vlax-put-property obj 'Text (strcat t1 str)))
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_DRAWINGNAME")
  •                                                 (vlax-put-property obj 'NameText (strcat t1 str)))
  •                                             ((= (cdr (assoc 0 (entget ent))) "TCH_MULTILEADER")
  •                                                 (vlax-put-property obj 'UpText (strcat t1 str)))
  •                                             (t  ;默认处理
  •                                                 (fy_PutDxf ent 1 (strcat t1 str))
  •                                             )
  •                                         )
  •                                         (entupd ent)
  •                                     )
  •                                     (t  ;普通对象
  •                                         (fy_PutDxf ent 1 (strcat t1 str))
  •                                         (if obt
  •                                             (mapcar 'entupd (fy_enlst (ssget "x" (list '(0 . "INSERT")))))
  •                                             (mapcar '(lambda(x) (entupd (cdr x))) (vl-remove-if-not '(lambda (x) (= (type (cdr x)) 'ENAME)) (entget ent))) ;更新关联图元
  •                                         )
  •                                     )
  •                                 )
  •                                 ;(fy_PutDxf ent 1 (strcat t1 str))
  •                                 ;; 天正对象处理同上
  •                                 (entupd ent)
  •                             )
  •                             (progn
  •                                 (setq sslen (1- sslen))
  •                                 (princ "\n选择对象已有该后缀!")
  •                             )
  •                         )
  •                     )
  •                 )
  •             )
  •         )
  •         (fy_ErrorEnd)
  •     )
  •     (cond
  •         ((= m 1) (princ (strcat "\n共有" (itoa sslen) "个对象被替换为:" str)))
  •         ((= m 2) (princ (strcat "\n共有" (itoa sslen) "个对象前缀加上:" str)))
  •         ((= m 3) (princ (strcat "\n共有" (itoa sslen) "个对象后缀加上:" str)))
  •     )
  •     (princ)
  • )

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-11 23:43 , Processed in 0.218700 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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