明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2202|回复: 9

[讨论] [已解决]请高手帮忙做一个快速切换箭头圆点的工具

[复制链接]
发表于 2011-6-3 23:55:08 | 显示全部楼层 |阅读模式
本帖最后由 raimo 于 2011-6-7 22:32 编辑

画图的时候经常在这两种箭头样式中切换,每次点来点来觉得太麻烦了..
请教这里的高手们,能不能有一个比较简单的lsp工具可以快速切换这两种箭头样式
(注:这是用的qleader引线标注)

如果在切换的时候同时附加一个小功能就更好了..圆点的箭头大小是1 ,切换成箭头的时候自动改大小为2,反之亦然


本帖子中包含更多资源

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

x
发表于 2011-6-4 00:21:33 | 显示全部楼层
本帖最后由 啵浪鼓 于 2011-6-4 00:22 编辑

标注箭头系统变量 DIMBLK
引线箭头系统变量 DIMLDRBLK
以下设置自行加在你的程序内,你行的!

将标注箭头改为小圆点
(setvar "DIMBLK" "DOTSMALL")
将标注箭头还原默认
(setvar "DIMBLK" ".")

将引线箭头改为小圆点
(setvar "DIMLDRBLK" "DOTSMALL")
将引线箭头还原默认
(setvar "DIMLDRBLK" ".")
 楼主| 发表于 2011-6-4 05:57:20 | 显示全部楼层
感谢拨浪鼓的回复...但我是没啥lsp基础的..小地方能看懂,程序却不会写..

能否有个比较完整的,多谢啦..
发表于 2011-6-4 09:10:57 | 显示全部楼层
(defun c:aaa ()
  (if (ssget "x" '((0 . "LEADER")))
      (vlax-for obj
        (vla-get-ActiveSelectionSet
          (vla-get-ActiveDocument (vlax-get-acad-object))
        )
        (if (zerop (vla-get-ArrowheadType obj))
          (vla-put-ArrowheadType obj 3)
          (vla-put-ArrowheadType obj 0)
        )
)))

评分

参与人数 1金钱 +10 收起 理由
raimo + 10 好程序,非常感谢

查看全部评分

发表于 2011-6-4 14:14:43 | 显示全部楼层
学习了!~~好东西!~~
 楼主| 发表于 2011-6-4 23:28:05 | 显示全部楼层
if 发表于 2011-6-4 09:10
(defun c:aaa ()
  (if (ssget "x" '((0 . "LEADER")))
      (vlax-for obj

感谢你的热心帮助,不过这个是一下子全部转换的..能不能只变化选中的引线呢
发表于 2011-6-5 04:22:20 | 显示全部楼层
去掉"x"--->(ssget '((0 . "LEADER")))

评分

参与人数 1金钱 +8 收起 理由
raimo + 8 多谢指点!

查看全部评分

 楼主| 发表于 2011-6-5 06:55:39 | 显示全部楼层
caoyin 发表于 2011-6-5 04:22
去掉"x"--->(ssget '((0 . "LEADER")))

这下好用了..非常感谢caoyin版主的帮忙!!!  


另外能改箭头的大小吗? 我想在圆点变成箭头的时候强制设置箭头大小为2
发表于 2011-6-5 16:16:25 | 显示全部楼层
(defun c:aaa ()
  (if (ssget '((0 . "LEADER")))
      (vlax-for obj
        (vla-get-ActiveSelectionSet
          (vla-get-ActiveDocument (vlax-get-acad-object))
        )
        (vla-put-ArrowheadSize obj 2)
        (if (zerop (vla-get-ArrowheadType obj))
          (vla-put-ArrowheadType obj 3)
          (vla-put-ArrowheadType obj 0)
        )
)))

评分

参与人数 1金钱 +8 收起 理由
raimo + 8 好程序,多谢c版,这就是我想要的了

查看全部评分

 楼主| 发表于 2011-6-5 23:45:13 | 显示全部楼层
本帖最后由 raimo 于 2011-6-5 23:46 编辑
caoyin 发表于 2011-6-5 16:16
(defun c:aaa ()
  (if (ssget '((0 . "LEADER")))
      (vlax-for obj

多谢C版,这就是我想要的了..虽然还差了一点点,到这个程度我就能改了.
  1. ;快速切换引线箭头样式..
  2. (defun c:ee()
  3.   (if (ssget)
  4.       (vlax-for obj
  5.         (vla-get-ActiveSelectionSet
  6.           (vla-get-ActiveDocument (vlax-get-acad-object))
  7.         )        
  8.         (if (zerop (vla-get-ArrowheadType obj))
  9.           ((vla-put-ArrowheadType obj 3) (vla-put-ArrowheadSize obj 1))
  10.           ((vla-put-ArrowheadType obj 0) (vla-put-ArrowheadSize obj 2))
  11.         )
  12. )))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-26 08:30 , Processed in 0.197298 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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