乐筑天下

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

关于经过两点的各类线获取

[复制链接]

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-8-26 09:31:00 | 显示全部楼层 |阅读模式
我用的如下代码:
            Dim acTypValAr(0) As TypedValue
            acTypValAr.SetValue(New TypedValue(DxfCode.Start, "*Line"), 0)
            Dim pc As New Point3dCollection
            pc.Add(ss.pos)
            pc.Add(ps.pos)
            Dim acSelFtr As SelectionFilter = New SelectionFilter(acTypValAr)
            Dim acSSPrompt As PromptSelectionResult = ed.SelectFence(pc, acSelFtr)
            Dim acSSet As SelectionSet = acSSPrompt.Value
            If Not acSSet Is Nothing Then
                obc = acSSet.GetObjectIds
             end if
奇怪的是,明乐筑天下过两点的直线只有一条,却总是得到好几条,并且从我调试的前几个点来看,筛选的obc里头,一般都是最后一个才是真正要获取的,这是为什么啊?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-8-26 11:01:00 | 显示全部楼层
栏选的方式是与两点连线有交点的图元就会被选中,你可以选择后在遍历过滤一下
回复

使用道具 举报

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-8-26 11:56:00 | 显示全部楼层
那有什么更好的方法只选择startpoint和endpoint只为给出的两点的线呢?上面方法对于大图来说,搜索时间太烦
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-8-26 16:14:00 | 显示全部楼层
过滤组码10/11
回复

使用道具 举报

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-8-26 17:21:00 | 显示全部楼层
          这样吗?但是我搜索不到线条
  Dim acTypValAr(4) As TypedValue
            acTypValAr.SetValue(New TypedValue(DxfCode.Start, "*Line"), 0)
            acTypValAr.SetValue(New TypedValue(-4, ""), 4)
            Dim acSelFtr As SelectionFilter = New SelectionFilter(acTypValAr)
            Dim acSSPrompt As PromptSelectionResult = ed.SelectAll(acSelFtr)
            Dim acSSet As SelectionSet = acSSPrompt.Value
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-8-26 22:04:00 | 显示全部楼层
复制代码
回复

使用道具 举报

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-8-27 08:40:00 | 显示全部楼层
我按照 版主的代码改了,但是还是没有?
Dim acTypValAr(10) As TypedValue
            acTypValAr.SetValue(New TypedValue(DxfCode.Start, "*Line"), 0)
            acTypValAr.SetValue(New TypedValue(-4, ""), 5)
            acTypValAr.SetValue(New TypedValue(-4, ""), 9)
            acTypValAr.SetValue(New TypedValue(-4, "XOR>"), 10)
            Dim acSelFtr As SelectionFilter = New SelectionFilter(acTypValAr)
            Dim acSSPrompt As PromptSelectionResult = ed.SelectAll(acSelFtr)
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-8-27 10:54:00 | 显示全部楼层
多段线用下面的
{0 ,  "LWPOLYLINE"},
{10, ss.pos},
{10, ps.pos}
回复

使用道具 举报

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-8-27 12:33:00 | 显示全部楼层
版主,好像还是没有唉,我搜索所有直线包括多段线,或者单独多段线也不行。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-8-27 19:17:00 | 显示全部楼层
我这里测试是正常的复制代码
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 07:39 , Processed in 0.588835 second(s), 72 queries .

© 2020-2025 乐筑天下

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