找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 821|回复: 1

[VBA函数]:各位高手可否帮忙?急!

[复制链接]
发表于 2002-5-3 03:56:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一条直线与几个直线相交,用什么方法自动识别与几条直线相交并且得到其相交的点的3D坐标;其实这个问题的原始问题是在二维地形图中求一solid与几条等高线pline相交并求其交点坐标,并绘出其纵断面。(本人才接触二次开发,用的是VB或者VBA,望各位高手多多指教!)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-7 20:10:33 | 显示全部楼层
看看下面的例子。

  1.   [FONT=courier new]

  2. Sub Test()
  3.     On Error Resume Next
  4.     ' 选择直线
  5.     Dim EntObj(0 To 0) As AcadEntity
  6.     Dim pPt As Variant
  7.     ThisDrawing.Utility.GetEntity EntObj(0), pPt, "选择直线: "
  8.     If EntObj(0) Is Nothing Then Exit Sub
  9.     ' 求直线的外框
  10.     Dim Pt1 As Variant
  11.     Dim Pt2 As Variant
  12.     EntObj(0).GetBoundingBox Pt1, Pt2
  13.    
  14.     ' 创建选择集
  15.     Dim ssetObj As AcadSelectionSet
  16.     Set ssetObj = ThisDrawing.SelectionSets("SSET")
  17.     If Err Then Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
  18.     ssetObj.Clear
  19.     ' 选择与该直线相交或者包含在外框中的所有实体
  20.      ssetObj.Select acSelectionSetCrossing, Pt1, Pt2
  21.      If ssetObj.Count = 0 Then Exit Sub
  22.      
  23.      ' 由于其中包含了自身实体,故应从选择集中移走
  24.      ' 由于移去函数的参数是对象集合,所以在上面定义的是单个对象的对象集合
  25.      ssetObj.RemoveItems EntObj
  26.      
  27.      '枚举交点,判断是否相交
  28.      Dim Pts As Variant
  29.      Dim i As Integer
  30.      For i = 0 To ssetObj.Count - 1
  31.         Pts = ssetObj(i).IntersectWith(EntObj(0), acExtendNone)
  32.         If Not IsEmpty(Pts) Then
  33.             Debug.Print "实体" & ssetObj(i).Handle & "与直线" & EntObj(0).Handle & "相交"
  34.         End If
  35.     Next
  36. End Sub

  37.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-7 03:24 , Processed in 0.250902 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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