乐筑天下

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

关于遍历的问题

[复制链接]

9

主题

22

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 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) = ""                 '逻辑运算符的结束
                         版主能给解释一下上面的语句吗
                         '使用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中画了直线、圆、弧可是运行代码后什么都没了???
我想获得下图曲线于直线的交点该怎么做了?

lbaegd4g42t.JPG

lbaegd4g42t.JPG

回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 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
回复

使用道具 举报

124

主题

837

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1333
发表于 2004-10-16 00:06:00 | 显示全部楼层
'0'代表DXF组码, 对就实体类型,
如果你用 (entget (car (entsel))) 这一lisp请句选择一个"LINE"对象, 命令窗口会有如下信息:
Command: (entget (car (entsel)))
Select object: ((-1 . ) (0 . "LINE") (330 . ) (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 . ) (0 . "TEXT") (330 . ) (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 - 图层
...
回复

使用道具 举报

9

主题

100

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2004-10-18 11:30:00 | 显示全部楼层
关于取得直线河等高线的交点问题:看过以前各斑主的解答,先取得一条等高线的高程,然后改变直线的高程与等高线高程相同,主要是让直线和等高线共面,最后用InterSectWith函数求出交点
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-16 06:43 , Processed in 0.767328 second(s), 63 queries .

© 2020-2025 乐筑天下

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