明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1635|回复: 2

求助:怎样用VBA等分对象?

[复制链接]
发表于 2005-12-25 20:28:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-12-25 21:28:54 编辑

请教各位高手:在CAD中可以用VBA的方法等分对象吗?就是说一般的CAD应用中的measure或者divide方法在VBA中有对应的方法吗?我找了很久没有找到。如:我用sendcommand方法时:thisdrawing.sendcommand “_measure”后命令行直接提示我在屏幕上选择等分的实体,我如何才能在自己的程序中传入我想要等分的实体而不用屏幕选择的方式呢?

跪求各位大虾指点!谢谢!

发表于 2005-12-27 07:57:00 | 显示全部楼层
发表于 2006-1-16 21:28:00 | 显示全部楼层

这个问题涉及到VBA中的实体对象如何传到AutoCAD命令中去。我给你提供一个函数,将VBA中的实体对象作转换后,再利用SendCommand方法。

Public Function  VbaEnt2AcadCommEnt(EntObj as AcadEntity) as String

   VbaEnt2AcadCommEnt="(handent" & Chr(34) & EntObj.handle & chr(34) & ")"

End Function

在VBA编程中,利用Utility对象的GetEntity方法取得实体对象EntObj,利用此函数转换成能在命令中直接利用的格式SObjEnt

SObjEnt=VbaEnt2AcadCommEnt(EntObj)

再利用内部命令,假设按10个单位测量实体。

ThisDrawing.SendCommand "_measure" & VbCr & SObjEnt & VbCr & "10" & VbCr

OK!

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

本版积分规则

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

GMT+8, 2024-11-27 06:28 , Processed in 0.219809 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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