乐筑天下

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

如何使多义线反向

[复制链接]

4

主题

11

帖子

5

银币

初来乍到

Rank: 1

铜币
27
发表于 2007-10-8 15:44:00 | 显示全部楼层 |阅读模式
高手们,请教使多义线反向程序
回复

使用道具 举报

1

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
9
发表于 2007-10-8 16:46:00 | 显示全部楼层
反向是什么意思,不说明白
回复

使用道具 举报

110

主题

324

帖子

10

银币

中流砥柱

Rank: 25

铜币
764
发表于 2007-10-8 19:45:00 | 显示全部楼层
先获取多义线的坐标,在由坐标数组的最后一个点对倒过来画线,删除原线.此中法子适用于任何情况.
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2007-10-8 20:47:00 | 显示全部楼层
Option Explicit
'program to reverse the direction of a pline
'modified from malcolm's codes
Private Sub reverse_pline(plineObj As Variant)
Dim pts() As Double
Dim bulge() As Double
Dim legs As Integer
Dim retcoord As Variant
Dim i As Integer
Dim i2 As Integer
retcoord = plineObj.Coordinates
ReDim Preserve pts(UBound(retcoord))
legs = (UBound(retcoord) / 2) - 1
ReDim Preserve bulge(legs)
For i = legs - 1 To 0 Step -1
bulge(i) = plineObj.GetBulge(legs - 1 - i) * -1
Next i
For i = UBound(retcoord) To 0 Step -2
i2 = UBound(retcoord) - i
pts(i2 + 1) = retcoord(i)
pts(i2) = retcoord(i - 1)
Next i
plineObj.Coordinates = pts
For i = 0 To legs - 1
plineObj.SetBulge i, bulge(i)
Next i
End Sub
Public Sub Test()
Dim polyObj As AcadLWPolyline
Dim ptPicked As Variant
ThisDrawing.Utility.GetEntity polyObj, ptPicked, "Select a LWpolyline: "
reverse_pline polyObj
End Sub
回复

使用道具 举报

4

主题

11

帖子

5

银币

初来乍到

Rank: 1

铜币
27
发表于 2007-10-9 08:40:00 | 显示全部楼层
请问4楼楼主,这程序如何用呀?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 21:17 , Processed in 1.038111 second(s), 62 queries .

© 2020-2025 乐筑天下

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