乐筑天下

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

嵌套实体选择

[复制链接]

24

主题

204

帖子

6

银币

后起之秀

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

铜币
300
发表于 2012-4-27 09:49:06 | 显示全部楼层 |阅读模式
我有一个外部参照,我希望我的用户能够使用标准窗口/交叉窗口/栅栏/多边形选择多个实体。我尽量避免使用编辑器。因为它只允许一次选择一个实体,在这种情况下,我的用户可能会选择数百个实体。
有没有一种方法可以在不创建夹具的情况下做到这一点?
如果没有,那么有没有人愿意分享一些代码来实现这一点?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

24

主题

204

帖子

6

银币

后起之秀

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

铜币
300
发表于 2015-6-11 09:44:51 | 显示全部楼层
嗨,墨西哥Custard,
如果你把这个整理出来,你愿意/能够分享代码吗?
回复

使用道具 举报

24

主题

204

帖子

6

银币

后起之秀

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

铜币
300
发表于 2015-6-11 13:31:36 | 显示全部楼层
哇!这是一个旧的,我必须记住这是什么项目。我相信这是为了选择图层隔离的嵌套实体,如果我没记错的话,我从来没有想出一个让我使用交叉窗口的解决方案。这就是我解决那个问题的方法,   [command method(" some command ")]。
公共静态void SomeCommand()。
{。
列出路径;。
if (SelectNestedEntities(ed,out paths))。
{。
//对所选内容进行操作。
}。
}。

私有静态bool SelectNestedEntities(Editor ed,out List路径)。
{。
paths = new List ();。
PromptNestedEntityResult rs。
var pneo = new PromptNestedEntityOptions(" \ n选择要隔离的图层上的对象:"){ allow one = true };。

做。
{。
rs = ed,GetNestedEntity(pneo);。

如果(rs,地位!=提示状态,OK)继续;。
var path = highlight sub entity(RS);。
if(路径!= FullSubentityPath,空)。
{。
路径,添加(路径);。
}。
} while (rs,Status == PromptStatus,OK);。

返回(rs,地位!=提示状态,取消);。
}。

私有静态FullSubentityPath highlight subentity(PromptNestedEntityResult pner)。
{。
var objIds = new List (pner,get containers());。
对象,反向();。
对象,添加(pner,ObjectId);。

var subEnt = new subentity id(subentity type,Null,IntPtr。零);。
var path = new FullSubentityPath(objIds,ToArray()、subEnt);。

var ent = objIds[0],GetObject(OpenMode,ForRead)作为实体;。

if (ent == null)。
返回FullSubentityPath,Null。

ent,高亮(path,false);。

返回路径;。
}如果我今天做这件事,我可能会使用编辑器,使用编辑器选择和过滤对象,选择事件,这是一个非常困难的解决方案,但是对于用户来说,用一个窗口来选择实体可能更自然。
回复

使用道具 举报

24

主题

204

帖子

6

银币

后起之秀

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

铜币
300
发表于 2015-6-11 14:13:03 | 显示全部楼层

这与我现在正在做的事情相似,但用户要求能够进行交叉选择,我想也许你已经解决了!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 00:38 , Processed in 0.190823 second(s), 60 queries .

© 2020-2025 乐筑天下

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