明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1473|回复: 3

关于遍历的问题

[复制链接]
发表于 2004-10-14 14:08:00 | 显示全部楼层 |阅读模式
今天看书又遇到问题了!! '(2)向选择集中添加对象
'设置选择过滤器
Dim FilterType(0 To 5) As Integer
Dim FilterData(0 To 5) As Variant
FilterType(0) = -4
FilterData(0) = "<or" '逻辑运算符的开始,表示一个或多个运算对象
FilterType(1) = 0 ----‘0’是什么意思,还有别的取值吗
FilterData(1) = "Arc"
FilterType(2) = 0
FilterData(2) = "Circle"
FilterType(3) = 0
FilterData(3) = "Spline"
FilterType(4) = 0
FilterData(4) = "Line"
FilterType(5) = -4
FilterData(5) = "or>" '逻辑运算符的结束
版主能给解释一下上面的语句吗
'使用All的选择模式
SSet.Select acSelectionSetAll, , , FilterType, FilterData

'(3)遍历其中的对象
Dim element As AcadEntity
For Each element In SSet
If element.ObjectName = "AcDbCircle" Or element.EntityType = acArc Then
element.color = acRed
End If

Next 我在cad中画了直线、圆、弧可是运行代码后什么都没了??? 我想获得下图曲线于直线的交点该怎么做了?

本帖子中包含更多资源

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

x
发表于 2004-10-14 16:10:00 | 显示全部楼层
Sub ttt()
On Error Resume Next
Dim ss As AcadSelectionSet
Dim ft(0) As Integer, fd(0)
ft(0) = 0: fd(0) = "Arc,Circle,Spline,Line"
ThisDrawing.SelectionSets("TTT").Delete
Set ss = ThisDrawing.SelectionSets.Add("TTT")
ss.Select acSelectionSetAll, , , ft, fd
Dim element As AcadEntity
For Each element In ss
If element.ObjectName = "AcDbCircle" Or element.ObjectName = "AcDbArc" Then
element.Color = acRed
End If
Next
End Sub
发表于 2004-10-16 00:06:00 | 显示全部楼层

回复

'0'代表DXF组码, 对就实体类型, 如果你用 (entget (car (entsel))) 这一lisp请句选择一个"LINE"对象, 命令窗口会有如下信息: Command: (entget (car (entsel))) Select object: ((-1 . <Entity name: 7ef51f68>) (0 . "LINE") (330 . <Entity
name: 7ef51cf8>) (5 . "E5") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 .
"0") (100 . "AcDbLine") (10 422.463 449.338 0.0) (11 974.845 698.167 0.0) (210
0.0 0.0 1.0)) 如果选择一个"TEXT"对象呢? Command: (entget (car (entsel))) Select object: ((-1 . <Entity name: 7ef51f70>) (0 . "TEXT") (330 . <Entity
name: 7ef51cf8>) (5 . "E6") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 .
"0") (100 . "AcDbText") (10 660.496 349.444 0.0) (40 . 2.5) (1 . "HELLO") (50 .
0.0) (41 . 1.0) (51 . 0.0) (7 . "Standard") (71 . 0) (72 . 0) (11 0.0 0.0 0.0)
(210 0.0 0.0 1.0) (100 . "AcDbText") (73 . 0)) 不同的对象数据信息不同, 但会有通用的组码: 比如 0 - 类型 8 - 图层 ...
发表于 2004-10-18 11:30:00 | 显示全部楼层
关于取得直线河等高线的交点问题:看过以前各斑主的解答,先取得一条等高线的高程,然后改变直线的高程与等高线高程相同,主要是让直线和等高线共面,最后用InterSectWith函数求出交点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 00:29 , Processed in 0.163219 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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