明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: jh1005

[源码] 小笨词库DCL版 v2.0.3 (2024-04-13更新)

    [复制链接]
发表于 2012-9-3 14:36 | 显示全部楼层
怎样将箭头去掉或改点一个实心点
 楼主| 发表于 2012-9-3 22:09 | 显示全部楼层
朽木大师 发表于 2012-9-3 14:36
怎样将箭头去掉或改点一个实心点

请查看vla-put-ArrowheadType函数的使用。
发表于 2012-9-3 22:19 | 显示全部楼层
jh1005 发表于 2012-9-3 22:09
请查看vla-put-ArrowheadType函数的使用。

如果把画的中心线改成虚线,怎么修改一下
发表于 2012-9-3 22:29 | 显示全部楼层
jh1005 发表于 2012-9-3 22:09
请查看vla-put-ArrowheadType函数的使用。

不会修改,没看明白,我是菜菜
发表于 2012-9-3 23:19 | 显示全部楼层
感觉不错,谢谢了
 楼主| 发表于 2012-9-3 23:30 | 显示全部楼层
本帖最后由 jh1005 于 2012-9-3 23:33 编辑
朽木大师 发表于 2012-9-3 22:29
不会修改,没看明白,我是菜菜


修改dt-Leader函数,看红色那句:

(defun dt-Leader          ;动态引线
;对象/点 文字 颜色 图层 样式 字高
(ent str col lay sty gao / mspace i wenzi a b c d aa bb cc dd ee ff gg Leader m)
(if (and (= (getvar "tilemode") 0) (= (getvar "cvport") 1))
  (setq mspace (vla-get-paperspace (vla-get-activedocument (vlax-get-acad-object))))
  (setq mspace (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
)
(setq i T)
(while i
(setq a (grread T 12 1) b (car a) c (cadr a))  ;;b=5移动,b=3左键,c=0右键,;;c=13回车,c=32空格
(cond ((= b 5)                                   ;当鼠标移动时            
(setq a (trans (cadr a) 1 0))                  ;鼠标移动点
(cond
  ((= (type ent) 'LIST) (setq d ent)) ;固定点
  ((= (type ent) 'ENAME) (setq d (vlax-curve-getclosestpointto ent a))) ;a到对象ent的最近点)
)
(setq aa (car a) bb (cadr a) cc (caddr a))    ;提取 a 的x,y,z
(setq dd (car d) ee (cadr d) ff (caddr d))    ;提取 d 的x,y,z
;★创建引线★
(setq gg (vlax-make-safearray vlax-vbDouble '(0 . 5))) ;建立数字表
(vlax-safearray-fill gg (list dd ee ff aa (- (cadr a) 2) cc)) ;填满gg
(if (not Leader)
   (progn
     (setq m (vla-AddMText mspace (vlax-3d-point (list aa bb)) 0 str)) ;创建文字
(if col (vla-put-color m col))
(if lay (vla-put-layer m lay))
(if sty (vla-put-StyleName m sty))
(if gao (vla-put-height m gao))
     (setq wenzi (vlax-make-safearray vlax-vbString '(1 . 9)))  ;建立字符表
     (vlax-safearray-fill wenzi '("TopLeft" "TopCenter" "TopRight" "MiddleLeft"
     "MiddleCenter" "MiddleRight" "BottomLeft" "BottomCenter" "BottomRight")) ;填满wenzi
     (vla-put-attachmentpoint m 7)     ;更新文字的贴附点为7
     (setq Leader (vla-AddLeader mspace gg m acLineWithArrow)) ;有箭头的线
  (if col (vla-put-color Leader col))
  (if lay (vla-put-layer Leader lay))
  (if gao (vla-put-arrowheadsize Leader gao))
  (vla-put-ArrowheadType Leader acArrowDot)
   )
)
(vla-put-insertionpoint m (vlax-3d-point (list aa (- (cadr a) 1.5)))) ;更新文字插入点
(vla-put-coordinates Leader gg)         ;更新引线插入点
(vla-put-verticaltextposition Leader 1) ;引线自动判断方向
)
((= b 3) (setq i nil)) ;左键结束while
) ;end_cond
) ;end_while
(princ)
)
 楼主| 发表于 2012-9-3 23:36 | 显示全部楼层
朽木大师 发表于 2012-9-3 22:19
如果把画的中心线改成虚线,怎么修改一下

你是说“小笨智能中心线”吗?修改下面两句,红色为线型,自己改成虚线的。

(if (not (tblobjname "ltype" "CENTER"))
  (command "-linetype" "L" "CENTER" "acadiso.lin" "")
)
(makelayer (list(list lay 6 "CENTER" 0.15 "_p")))
发表于 2012-9-3 23:48 | 显示全部楼层
jh1005 发表于 2012-9-3 23:36
你是说“小笨智能中心线”吗?修改下面两句,红色为线型,自己改成虚线的。

(if (not (tblobjname "lt ...

对对,是中心线处,忘了在那里写,非常感 谢
发表于 2012-9-4 06:35 | 显示全部楼层
暂时用不上 还是顶一个
发表于 2012-9-5 23:26 | 显示全部楼层
本帖最后由 daidong013 于 2012-9-6 11:12 编辑

新版本不错,但是还有些建议,1、动态锁定角度有难度,建议在面版中加入锁定角度项,在未选择锁定角度的是动态的,若选择锁定了角度可以不用动态的就可以解决锁定角度的问题了。2、建议工具设置项有永久记忆功能,因为每次关闭打开CAD软件,先前使用的设置又回到原始设置项上去了,这样又要重新设置一遍,隨着工具的升级,设置项会越来越完善越多,重新设置就会麻烦许多。3、增加选词入库的功能,这样方便许多!小小建议,还望楼主改进,呵呵!

评分

参与人数 1明经币 +1 收起 理由
jh1005 + 1 已增加选词入库功能,谢谢建议。

查看全部评分

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

本版积分规则

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

GMT+8, 2024-4-19 19:25 , Processed in 0.189379 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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