几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(AutoLISP)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-27, 11:10 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 用vba如何复选insert命令中的“在屏幕上指定”复选框?

用vba如何复选insert命令中的“在屏幕上指定”复选框?
www.dimcax.com
用vba如何复选insert命令中的“在屏幕上指定”复选框?
如题
att

好像不容易实现
你做的工作时插入块,根本不需要调用cad命令,反而低效了。调用插入块函数,其中有个插入点参数,采取屏幕取点的方法,等同实现“在屏幕指定”

用-insert命令
在insert前加一个减号,就可输入参数了

我的情况是:块的位置水平,插入后需要旋转,而旋转角度未知(但块上有两个固定点位置已知),我使用旋转角度在屏幕上指定,就可以一次旋转到位,不知道这样是不是更土了。。。。
ms:有很多这样的块,这样是不是需要每个插入都需要和人交互?那就更麻烦了,有没有其他好办法?谢谢!

就用-insert命令就可以实现
注意命令后面要带参数

旋转角度未知,即旋转角度事先不确定,如果用户不干预怎么解决呢?除非你找到了它的规律,然后再赋以该规律让程序自动判断

你可以利用程序确定块其中一点的位置,然后计算出两点连线到水平线的夹角,再旋转该角度,即可保持两点重合了
利用函数 thisdrawing.utility.anglefromxaxis

(defun c:huu( / strtemp point)
(setvar "cmdecho" 0)
(if (= strname1 nil) (setq strname1 ""))
(setq strtemp (getstring (strcat "\n请输入型号<" strname1 ">:")))
(if (= strtemp "")
(if (= strname1 "")
(quit)
)
(setq strname1 strtemp)
)
(setq point (getpoint "请选择插入点:"))
(if (= point "") (quit))
(command "-insert" (strcat strname1 ".dwg") point "1" "1" pause "explode" "l")
(princ)
)

(command "-vbarun" "changetext.dvb!module1.joining" "-insert" "joining" "s" "1")
可用vba宏changetext.dvb!module1.joining创建块
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 03:26 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多