明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1556|回复: 2

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

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

简单点儿说:如何得到直线起点的X,Y,Z值即可。
 楼主| 发表于 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
发表于 2003-10-13 14:33:00 | 显示全部楼层
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=10835
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:37 , Processed in 0.157601 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表