乐筑天下

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

如何把直线的两个点转换为多线所需的参数。

[复制链接]

21

主题

105

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2003-10-13 13:58:00 | 显示全部楼层 |阅读模式
请教各位大侠:
      我想根据一条直线绘制多线。利用鼠标拾取能得到直线的两个顶点,而添加多线时,它的参数是一次性指定起点和结束点
ThisDrawing.ModelSpace.AddmLine(vertexlist)  
我如何实现这个转换呢?
简单点儿说:如何得到直线起点的X,Y,Z值即可。
回复

使用道具 举报

21

主题

105

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2003-10-13 14:23:00 | 显示全部楼层
实在没办法,只好这么做了,不晓得还有没有更好的办法。向各位请教。
Private Sub CommandButton1_Click()
'定义选择集
Dim se As AcadSelectionSet
Dim ft(0) As Integer
Dim fn(0) As Variant
ft(0) = 0
fn(0) = "line"
Set se = ThisDrawing.SelectionSets.Add("5aaa1a")
'选择对象
Me.Hide
se.SelectOnScreen ft, fn
'定义点
Dim start() As Double
Dim end1() As Double
Dim p(5) As Double
Dim i As Integer
Dim ml As AcadMLine
Dim a As AcadLine
‘转换
For Each a In se
   start = a.StartPoint
   end1 = a.EndPoint
   ’将起点给数组P
   i = 0
   Do While i < 3
      p(i) = start(i)
      i = i + 1
   Loop
  ‘将终点给数组P
   i = 0
   Do While i < 3
      p(i + 3) = end1(i)
      i = i + 1
   Loop
   Set ml = ThisDrawing.ModelSpace.AddMLine(p)
   a.Delete
Next
End Sub
回复

使用道具 举报

gzy

25

主题

1118

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1221
发表于 2003-10-13 14:33:00 | 显示全部楼层
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=10835
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:13 , Processed in 0.427976 second(s), 58 queries .

© 2020-2025 乐筑天下

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