乐筑天下

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

[求助]重赋多段线的coordinates值时,CAD报错退出

[复制链接]

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2009-5-6 17:34:00 | 显示全部楼层 |阅读模式
尝试编了个删除多段线上重复节点的程序,但是最后将新的节点数组NewVert()值赋给多段线的coordinates值,有时可以成功,有时又会报致命错误“Unhandled Access Violation Reading Ox0004 Exception at 6468dfd6h",请教各位大侠这是怎么回事?
Public Sub DeleteReVertex() '删除多段线相邻的重复节点
Dim Plsl As AcadSelectionSet
Set Plsl = SelectUt.CreateSelectionSet("plsl")
Dim pl As AcadLWPolyline
Dim VerCoords As Variant
Dim IntVertCount As Integer
Dim i As Integer
Dim j As Integer
Dim IntNewVertCount As Integer
Dim NewVert() As Double
Call SelectUt.SelectByFilter(Plsl, acSelectionSetAll, 0, "lwpolyline", 8, "TRY")
For Each pl In Plsl
  IntNewVertCount = 0
  VerCoords = pl.Coordinates
  IntVertCount = (UBound(VerCoords) + 1) / 2
   For i = 0 To IntVertCount - 2     '计算新pl的新节点数
    If VerCoords(2 * i)  VerCoords(2 * i + 2) And VerCoords(2 * i + 1)  VerCoords(2 * i + 3) Then
     'NewVert(j) = VerCoords(2 * i)
     'NewVert(j + 1) = VerCoords(2 * i + 1)
     IntNewVertCount = IntNewVertCount + 1
    End If
   Next i
   IntNewVertCount = IntNewVertCount + 1
  If IntVertCount  IntNewVertCount Then '如果有重复点
    ReDim NewVert(0 To 2 * IntNewVertCount - 1)
    NewVert(2 * IntNewVertCount - 1) = VerCoords(2 * IntVertCount - 1)
    NewVert(2 * IntNewVertCount - 2) = VerCoords(2 * IntVertCount - 2)
    j = 0
    For i = 0 To IntVertCount - 2
     If VerCoords(2 * i)  VerCoords(2 * i + 2) And VerCoords(2 * i + 1)  VerCoords(2 * i + 3) Then
      NewVert(j) = VerCoords(2 * i)
      NewVert(j + 1) = VerCoords(2 * i + 1)
      j = j + 2
     End If
    Next i
  End If
   pl.Coordinates = NewVert    就是这最后一步出错
  Next
End Sub
回复

使用道具 举报

1

主题

7

帖子

2

银币

初来乍到

Rank: 1

铜币
11
发表于 2009-5-14 19:15:00 | 显示全部楼层
将pline重画一下就行了
回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2009-5-18 19:36:00 | 显示全部楼层
PLine中有扩展数据,重画有点麻烦
回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2009-5-18 19:37:00 | 显示全部楼层
PLine中有扩展数据,重画有点麻烦
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2009-5-18 19:41:00 | 显示全部楼层
那就GetXData,然后SetXData
回复

使用道具 举报

0

主题

46

帖子

4

银币

初来乍到

Rank: 1

铜币
46
发表于 2009-5-20 17:11:00 | 显示全部楼层
我觉得是你的算法问题
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-2 03:30 , Processed in 1.356413 second(s), 71 queries .

© 2020-2025 乐筑天下

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