明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1719|回复: 3

直线提取中的问题!!好郁闷!!我好笨!!

[复制链接]
发表于 2003-4-22 10:01:00 | 显示全部楼层 |阅读模式
首先谢谢大家以前的帮助 !

但是现在的问题是把别人已经画好的图形中的图形元素中的直线提取出来!

下面是 一些 代码!  我只能做到把所有图形元素提取后  找到那些是直线  

但是怎样把直线坐标显示出来???


For i = 0 To acadapp.ActiveDocument.ModelSpace.Count - 1
   If acadapp.ActiveDocument.ModelSpace(i).EntityType = acLine Then
   ?????
????      

Next i


高人们  大哥们!!  一起 看看怎么办!
发表于 2003-4-22 11:17:00 | 显示全部楼层

这样试试

Dim obj As AcadEntity
For Each obj In acadapp.ActiveDocument.ModelSpace
  If obj.Name="AcDbLine" Then
    MsgBox "直线的起点为:(" & obj.StartPoint(0) & "," & _
           obj.StartPoint(1) & "," & obj.StartPoint(2) & _
           "),终点为:("& obj.EndPoint(0) & "," & _
           obj.EndPoint(1) & "," & obj.EndPoint(2) & ")"
  End If
Next obj

以上代码随手写来,未加调试,请自己Debug,有问题再回答。
发表于 2003-4-22 11:18:00 | 显示全部楼层

Re: 关于Line直线

Line直线是仅有两个点连在一起的线条。第一点称为起点,用object.StartPoint来设置或者返回坐标,第二点称为终点,用object.EndPoint来设置或者返回坐标。其它的信息如长度可以用object.Length来返回,而角度可以用object.Angle来返回。
注:object代表直线对象,如果acadapp.ActiveDocument.ModelSpace(i)是直线对象的话,就可以像acadapp.ActiveDocument.ModelSpace(i).StartPoint这样操作。
发表于 2003-4-22 15:29:00 | 显示全部楼层

VB 2 line

With acadApp.ActiveDocument.ModelSpace
For i = 0 To .Count - 1 Step 1
Set retObj = .Item(i)
If retObj.EntityType = acLine Then
rstLine.addnew
PT1 = retObj.startPoint
PT2 = retObj.EndPoint
X1=PT1(0):Y1=PT1(1):Z1=PT1(2)
......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 16:44 , Processed in 0.188219 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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