在CAD2006中自定义工具栏添加一个自编加法器程序.docVIP

在CAD2006中自定义工具栏添加一个自编加法器程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在CAD2006中自定义工具栏添加一个自编加法器程序

在AUTOCAD2006中 添加一个自定义加法器工具 武汉市江夏区勘测院 金卫东 2007年7月 本人在用AUTOCAD软件作图的日常工作中,经常会遇到要用图上的数字注记,进行加减运算的简单计算工作。通常情况下,是调用系统的计算器程序,通过手工输入或复制粘贴的方式来完成这项工作。而这种方式较为繁琐,如果能够通过鼠标直接点取相应的数字注记,来得到最终的累加结果,这样就非常有效率且直截了当。 解决方法:在AUTOCAD2006中编写一个VBA程序add.dvb,通过自定义栏中定义一个工具“加法器”,来调用这个程序,即可达到目的。 1加法器add.dvb源程序 程序功能:通过在图上选择需要累加的数字注记,将其变为黄色,若数字注记中有等号,则仅取最后一个等号右侧的数字,依次累加,鼠标右键单击结束选择,在鼠标指定的位置标注计算结果。 ★注意,1)在使用这个工具的过程中,选择需要累加的数字注记时,鼠标左键不要双击,以免重复选中对象造成累加结果错误。 2)为确保结果正确,在累计的个数较多时,建议做两次运算,确认结果无误。 3)若选中的对象非数字注记,则相当于选中数字“0”。 AutoCAD对象,ThisDrawing代码 Option Explicit Dim mspaceObj As AcadText Dim sum As Double Dim cs As String Dim ns As Double Sub add() Dim basePnt As Variant Dim l As Integer Dim i As Integer, j As Integer Dim t As String Dim CurrentColor As Variant sum = 0 On Error Resume Next RETRY: ThisDrawing.Utility.GetEntity mspaceObj, basePnt, 请选择需要累加的数字注记 If Err 0 Then Err.Clear Dim prompt1 As String Dim startPnt As Variant Dim insPoint1(0 To 2) As Double 声明插入点 prompt1 = vbCrLf 指定放置位置: Dim textHeight As Double 声明文字高度 Dim textStrSum As String 声明字符串 Dim textObjSum As AcadText 声明文字对象 在不输入基点的情况下获取第一点 startPnt = ThisDrawing.Utility.GetPoint(, prompt1) insPoint1(0) = startPnt(0) insPoint1(1) = startPnt(1) insPoint1(2) = startPnt(2) textHeight = 1 文字高度设置为 1 textStrSum = LTrim(Str(sum)) 创建 Text 对象 Set textObjSum = ThisDrawing.ModelSpace.AddText _ (textStrSum, insPoint1, textHeight) Exit Sub Else CurrentColor = mspaceObj.color mspaceObj.color = acYellow 选中对象变黄色 mspaceObj.Update If mspaceObj.ObjectName = AcDbText Then cs = LTrim(mspaceObj.TextString) l = Len(cs): j

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档