明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1920|回复: 4

[讨论] 高手们帮忙编个程序---“标注尺寸箭头变圆点”

[复制链接]
发表于 2011-1-27 16:36 | 显示全部楼层 |阅读模式
程序要求:变圆点有三种情况,1、将箭头1变为圆点。2、将箭头2变为圆点。3、将箭头1和2均变为圆点。
只要能实现这三个要求就OK了。
请各个高手们帮一下忙!谢谢!
发表于 2011-1-27 17:31 | 显示全部楼层
(defun c:tt (/ OBJ)
(setq OBJ (vlax-ename->vla-object (car(entsel))))
;;下面两行3是大圆点,4是小圆点
(vla-put-Arrowhead1Type OBJ 3);;第1个箭头
(vla-put-Arrowhead2Type OBJ 3);;第2个箭头
)
 楼主| 发表于 2011-1-27 21:58 | 显示全部楼层
回复 caoyin 的帖子

谢谢,程序非常好用!但能否再将程序人性化,因为有时需要各别的尺寸一端是圆点,另一端是箭头或者是无箭头。原来咱们网站上郑大师有一个VBA的程序,挺好用,只不过在CAD2010和2011里需要再单独安装VBA程序。他的程序是有一个界面可以控制实现此功能,我将界面图片上来,你帮忙参考一下,看看是否程序可以修改一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2011-1-27 23:13 | 显示全部楼层
;;方法告诉你了,自己要学会动手
(defun c:tt (/ OBJ KW)
  (if (and (setq OBJ (entsel "\n选择标注对象: "))
           (progn
             (setq OBJ (vlax-ename->vla-object (car OBJ)))
             (or (wcmatch (vla-get-ObjectName OBJ) "*Dimension")
                 (progn (princ "\n必须选择标注对象!") nil)
             )
           )
      )
    (progn
      (initget "Start End Both")
      (or (setq KW (getkword "\n指定要修改的箭头[起始箭头(S)\结束箭头(E)\两者(B)] <两者>: "))
          (setq KW "Both")
      )
      (cond ((if (member KW '("Start" "Both"))
               (progn (vla-put-Arrowhead1Type OBJ 3) nil)
             )
            )
            ((member KW '("End" "Both"))
             (vla-put-Arrowhead2Type OBJ 3)
            )
      )
    )
  )
  (princ)
)
发表于 2011-1-27 23:54 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

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

GMT+8, 2024-6-7 18:50 , Processed in 0.162018 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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