找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1141|回复: 2

[LISP函数]:如何向Command Line传递Measure 命令的参数

[复制链接]
发表于 2005-8-1 11:28:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
在ACAD2004中 我想用Measure去量一条PLine线并每隔一定距离插入一块,块垂直PL线,如何在Measure执行中自其自动传递"块名 ",距离"等参数,以达到自动化.
     有会用复合菜单或VBA或LiSP编程实现的都可以,请指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-8-3 00:14:11 | 显示全部楼层
办法一:用vlax函数求出距离点位的各项参数,再insert
办法二:直接用measure命令。程序中先用一个块measure一遍,根据新实体选择集求一遍各个块的数据,如果你用属性,可以重新赋值或者重新插入并加上属性值;
          如果你用扩展数据等则加上;
          如果你用text旁注,直接生成。
cad编程中经常用“预生成实体——提取数据——删预生成实体——正式生成实体”这样的土办法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-3 09:21:55 | 显示全部楼层
问题已解决,感谢斑竹Cy956,您的讲解很有启发,使我受益匪浅。我用VBA实现了,原理与您的方法1类似,先按距离求位置点,在其上插块,后根据该点所在线的法线方向转动块。很麻烦。用Lisp解决就容易多了,只需几句就搞定了,如下:
(defun c:PLB()
(setvar "cmdecho" 0)
(setq bl1 (entsel "Please choose an object: "))
(command "measure" bl1 "b" "BLname" "y" "20")
(setvar "cmdecho" 1)
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 06:45 , Processed in 0.176924 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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