乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 112|回复: 3

求助AcadObject与Object的使用

[复制链接]

11

主题

38

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
82
发表于 2018-7-18 14:32:00 | 显示全部楼层 |阅读模式
假如 Dim x(1 To 9) As Object 改成 Dim x(1 To 9) As AcadObject 就会出错,在x(j).Delete这一步VBA直接就崩溃了。这是什么原因?
  1. Sub 主程序()
  2. Dim i&, j&, d As Double
  3. Dim pt1(2) As Double, pt2(2) As Double, pt3(2) As Double
  4. Dim x(1 To 9) As Object
  5. pt1(0) = 0: pt1(1) = 0
  6. 'p8,p9竖向对称线
  7. pt2(0) = pt1(0) + 200
  8. pt2(1) = pt1(1) - 100
  9. pt3(0) = pt2(0)
  10. pt3(1) = pt1(1) + 2000
  11. d = 1.2    '板厚度
  12.    
  13. Call 调用(pt1, x, i, d)
  14. For j = 1 To i
  15.     x(j).Mirror pt2, pt3
  16.     x(j).Delete
  17. Next j
  18. End SubSub 调用(ByVal pt1, ByRef x, ByRef i, ByVal d)
  19. Dim y, g(1 To 16) As Double
  20. g(1) = pt1(0) + 50: g(2) = pt1(1) - 15
  21. g(3) = g(1): g(4) = pt1(1)
  22. g(5) = g(3) - 50: g(6) = g(4)
  23. g(7) = g(5): g(8) = g(4) - 116
  24. g(9) = g(5) + 30: g(10) = g(8)
  25. g(11) = g(9): g(12) = g(10) - 36
  26. g(13) = g(11) + 30: g(14) = g(12)
  27. g(15) = g(13): g(16) = g(14) + 15
  28. i = i + 1
  29. Set x(i) = ThisDrawing.ModelSpace.AddLightWeightPolyline(g)
  30. y = x(i).Offset(-d)
  31. i = i + 1
  32. Set x(i) = y(0)
  33. Erase y
  34. End Sub

回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2018-7-19 13:35:00 | 显示全部楼层
看不出有什么问题,x最好定义成acadentity
回复

使用道具 举报

11

主题

38

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
82
发表于 2018-7-20 08:57:00 | 显示全部楼层

改成AcadEntity后运行直接崩了

ku5rmp3mmp2.jpg

ku5rmp3mmp2.jpg


回复

使用道具 举报

11

主题

38

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
82
发表于 2018-7-20 09:13:00 | 显示全部楼层

是在主程序调用完“调用”程序后,运行到x(j).Delete这一步,删除偏移对象时崩溃。
我在想是不是这样的原因:
调用程序中定义的x和y是vaity类型,在执行偏移时y变成数组,里面存储的图形都是object类型,传回给主程序x数组是acadEntity类型,object类型里存放的信息是大于acadEntity的,在执行x(j).Delete时删除的数据不彻底导致VBA崩溃。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 03:55 , Processed in 0.452470 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表