小笨词库DCL版 v2.0.10 (2024-8-3更新)
本帖最后由 jh1005 于 2024-8-3 10:24 编辑2024-08-03更新:
1.支持中望,浩辰
2.修复对象引线的一些问题。
(注意:把词库目录加入CAD搜索目录,或把词库文件cclib.ini放到CAD搜索目录)
http://bbs.mjtd.com/static/image/hrline/1.gif
2024-07-24更新:
1.取消注册表和词典保存设置,设置保存到cc.ini文件里。
(旧版的注册表项:HKEY_CURRENT_USER\SOFTWARE\fyCAD不再使用,可自行删除)
http://bbs.mjtd.com/static/image/hrline/1.gif
2024-07-14更新:
1.新增:写出文字加下划线、词条按顺序写出。
2.取消黑板空间变量,改用注册表保存对话框的值(位置:HKEY_CURRENT_USER\SOFTWARE\fyCAD\cc_keylst)
3.修正当删除最后一个词类时不能保存的问题。
http://bbs.mjtd.com/static/image/hrline/1.gif
2024-05-21更新:
修复使用注释性标注与全局比例冲突导致出错的问题。(感谢ninja37)
(注意:把词库目录加入CAD搜索目录,或把词库文件cclib.ini放到CAD搜索目录)
static/image/hrline/1.gif
2024-05-09更新:
1.增加图层,样式,箭头拾取(支持块内)。
2.变量保存到词典,方便下次打开还原。
3.修复下行文字为空白时,切换到写出文字闪退的bug。
4.修正F8正交时十字光标不在引线上的问题,正交开关提示。
(感谢tigcat)
static/image/hrline/1.gif
2024-04-30更新:
1.引线按【F8】键正交切换。
2.自定义引线下方文字。
3.跨文档记忆变量(重开CAD失效)。
4.引线颜色和文字颜色独立设置。
5.修复UCS的Z坐标不为0的Bug。
(感谢tigcat和laorenhao999)
static/image/hrline/1.gif
2024-04-13更新:
1.优化对象引线动态时的箭头方向的判定。
2.引线下方时间文字修改为线下。
static/image/hrline/1.gif
2024-04-09更新:
修复写出文字时按Tab无法返回和查找会找到词类的bug(感谢sandyvs指出bug)
static/image/hrline/1.gif
2024-04-07更新:
增加引线文字下加时间的开关。
static/image/hrline/1.gif
2024-04-03更新:
1.为了通用性,重写代码,改用DCL,不用安装OpenDCL。
2.词类改用列表,不再局限于4类。
3.增加“查找--定位词语”
4.多行词条(使用分隔符\n)
5.支持块内文字修改。
6.只使用1个ini文件(旧版的4个ini文件,请自行合并)
7.写出文字时,按[+]字体增大,按[-]字体缩小,按[<]逆时针旋转90度,按[>]顺针旋转90度。
8.其余看帮助。
static/image/hrline/1.gif
↓↓↓↓↓↓↓以下旧版需OpenDcl支持↓↓↓↓↓↓↓
新手写的一个词库,需OpenDcl支持,附源码,希望有人用得着。
2019-12-26更新
更新高版本支持
static/image/hrline/1.gif
2012-9-18更新(感谢xotoo提出问题和建议):
1.文字写入后可按Tab键返回程序界面。
2.修改文字宽度比例、倾斜角度按所选的文字样式设置。
static/image/hrline/1.gif
2012-9-17更新(感谢daidong013提出问题和建议):
1.修复全局标注比例的bug。
2.增加选词入库。
3.增加删除和调整顺序功能,调整顺序:选中一个,按住鼠标左键不放,可以随意拖动,从一栏拖放到另一栏也可以,调整好顺序后,记得按一下“保存词库”。
4.修复点引线按右键出错的Bug。
5.之前的写出文字/引线只能写一次又要重新打开对话框,现在修改为可以连续写出。
static/image/hrline/1.gif
2012-9-8更新,修正空心箭头的bug,其它问题有时间再弄,感谢daidong013帮忙测试。
用了一下非常不错,但文字大小,箭头大小不能固定一个值,新开CAD后,又要重新设置,这个还是比较麻烦的,建议调整一下,可以保存设置好的参数,重启CAD后参数不要重新设置! 确实不喜欢opendcl的版本,可否修改一下呢,该为dcl的 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)
[*])
no function definition: DCL_PROJECT_IMPORT
出现错误 支持一下,opendcl没有啊,还是不能用哦! feitianyiliu 发表于 2012-8-31 06:25 no function definition: DCL_PROJECT_IMPORT 出现错误
请安装opendcl,论坛置顶帖子有。 xyz2009xyz 发表于 2012-8-31 08:25 支持一下,opendcl没有啊,还是不能用哦!
论坛有下载,找找。需opendcl支持,谢谢使用。 为什么我使用过程中缺少记忆功能!~~每次如果选点引线,下一次又到后缀上去了,又要去点一下,还有字高,图层,样式什么的!~~ 感觉不错,学习一下 感觉不错,学习一下 daidong013 发表于 2012-8-31 12:28 static/image/common/back.gif
为什么我使用过程中缺少记忆功能!~~每次如果选点引线,下一次又到后缀上去了,又要去点一下,还有字高,图 ...
已更新,增加记忆功能,请重新下载,谢谢你的意见。