明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3441|回复: 12

如何将二维多段线加入选择集?

  [复制链接]
发表于 2004-9-18 11:29:00 | 显示全部楼层 |阅读模式
我在CAD2002下用(0, "OLYLINE)和(100, "AcDb2dPolyline")过滤,有时可以有时又不行?不知为什么?
发表于 2004-9-18 14:13:00 | 显示全部楼层
就是啊,老是有时好有时坏真的好烦那
发表于 2004-9-18 22:54:00 | 显示全部楼层
命令: (entget(car(entsel)))
选择对象: ((-1 . <图元名: 7ef56fb0>) (0 . "LWPOLYLINE") (330 . <图元名:
7ef56cf8>) (5 . "F6") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0")
(100 . "AcDbPolyline") (90 . 4) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10
492.606 758.312) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 870.23 477.725) (40 .
0.0) (41 . 0.0) (42 . 0.0) (10 1056.62 784.92) (40 . 0.0) (41 . 0.0) (42 . 0.0)
(10 1175.23 514.008) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))
 楼主| 发表于 2004-9-20 08:45:00 | 显示全部楼层
版主: 不是这样的呀,我用了你给的命令查看,显示的不是(0 . "LWPOLYLINE") 而是(0, "POLYLINE)。用LIST命令显示的也是POLYLINE。用(0 . "LWPOLYLINE") 也是有时能选中,有时又不行。
发表于 2004-9-20 09:27:00 | 显示全部楼层
(0 . "POLYLINE") 是三维多段线,你的图形里两种多段线都有,当然有一些选不中 用ft(0)=0:fd(0)="*POLYLINE"
 楼主| 发表于 2004-9-20 11:46:00 | 显示全部楼层
谢谢。我再试试
 楼主| 发表于 2004-9-20 11:54:00 | 显示全部楼层
为什么当程序第一次运行时是对的,第二次就又不对了
发表于 2004-9-20 12:08:00 | 显示全部楼层
看看你的代码?
 楼主| 发表于 2004-9-21 11:43:00 | 显示全部楼层
下面是我的代码,第一次运行可以,第二次选择集就不对了,不知道为什么?
Sub SelDGXSet()

Dim ssetObj As AcadSelectionSet
Dim I As Integer

On Error Resume Next
If ThisDrawing.SelectionSets.Count <> 0 Then
For I = 0 To ThisDrawing.SelectionSets.Count - 1
Set ssetObj = ThisDrawing.SelectionSets.Item(I)
ssetObj.Delete
Next
End If Set ssetObj = ThisDrawing.SelectionSets.Add("sset4") Dim gpCode(0) As Integer
Dim dataValue(0) As Variant Dim TypeArray As Variant
Dim DateArray As Variant gpCode(0) = 0
dataValue(0) = "*POLYLINE"

TypeArray = gpCode
DataArray = dataValue

ssetObj.Select acSelectionSetAll, , , TypeArray, DateArray

Dim PlineObj As AcadPolyline
Dim poi As Variant

For I = 0 To ssetObj.Count - 1
po1 = 0: poi1 = 0
Set PlineObj = ssetObj.Item(I)

poi = PlineObj.Elevation
'poi1 = Val(poi) + Fix(Val((TxtB.Text)))
poi1 = Fix(Val(poi) - 60)
PlineObj.Elevation = poi1

Next I
End Sub
发表于 2004-9-21 12:23:00 | 显示全部楼层
If ThisDrawing.SelectionSets.Count <> 0 Then
For I = 0 To ThisDrawing.SelectionSets.Count - 1
Set ssetObj = ThisDrawing.SelectionSets.Item(I)
ssetObj.Delete
Next
End If 这里改成 ThisDrawing.SelectionSets("sset4").Delete
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 00:48 , Processed in 0.188413 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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