乐筑天下

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

放大到xref中的对象

[复制链接]

7

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2016-6-15 03:27:46 | 显示全部楼层 |阅读模式
如何选择一个实体,然后打开外部参照并缩放至该实体?下面是我所做的最少测试中最少的代码。代码提示嵌套实体。
检查所选实体是否来自不同的数据库。
从PromptNestedResult开始迭代容器,并存储同一数据库中最后一个容器的句柄。
用编辑器打开外部参照并发送字符串,缩放到对象的命令   公共类TestClass4 : CommandClass。
{。

私有静态句柄?hnd = null。
[command method(" zoom xref ")]。
public void zoomxref()。
{。
hnd = null。
var pneo = new PromptNestedEntityOptions(" \ n select xref object ");。
var pner = Ed,GetNestedEntity(pneo);。
如果(pner,地位!=提示状态,好)。
{。
返回;。
}。

var id = pner,ObjectId。
如果(id,Database.UnmanagedObject == Db,UnmanagedObject)。
{。
Ed,WriteLine("选择外部参照对象");。
返回;。
}。

foreach(pner中的ObjectId conId,GetContainers())。
{。
if (conId,Database.UnmanagedObject == pner,ObjectId . database . unmanaged object)。
{。
id = conId。
}。

}。

使用(事务trx = Doc,transaction manager . start transaction())。
{。
var ent = id,get entity();。
hnd = ent,手柄;。
事务,commit();。
}。

var doc =应用,DocumentManager.Open(pner,ObjectId.Database.Filename,false);。
doc,SendStringToExecute(" zoomxrefobject ",true,false,false);。

}。


[command method(" zoomxrefobject ",CommandFlags。无历史记录)]。
public void zoomxrefobject()。
{。
如果(!hnd,HasValue)返回;。
var id = Db,GetObjectId(false,(Handle)hnd,0);。
var ss = SelectionSet,from ObjectId(new ObjectId[]{ id });。
Ed,命令(" _Zoom "," Object ",ss,");。
}。

}。


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

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

使用道具 举报

7

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2016-6-15 06:40:34 | 显示全部楼层
以下代码是我用来放大组成AutoCAD“组”的实体的代码,我一定得到了一些关于如何做到这一点的帮助,很可能是从这个板上得到的,所以我不知道它是如何工作的。只是觉得可能会有帮助...    private static void ZoomToPart(ObjectId[]Eids,Transaction trans,Document doc)。
{ 。
Extents3d exts = 。
Eids,Select(id = >((实体)事务,GetObject(id,OpenMode。ForRead)),几何范围)。聚合(。
(e1,e2) => { e1。add extents(E2);返回E1;});。

int CvId = Convert,ToInt32((应用,getsystem variable(" cv port "));。

使用(Manager gm = doc,GraphicsManager)。
使用(View vw = gm,GetGsView(CvId,true))。
{。
大众汽车,ZoomExtents(exts,MinPoint,exts。MaxPoint);。
通用汽车公司,SetViewportFromView(CvId,vw,true,true,false);。
} 。
}。
回复

使用道具 举报

7

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2016-6-15 07:54:40 | 显示全部楼层
我想GetGsView是在2015年被移除的。
回复

使用道具 举报

7

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2016-6-15 08:43:20 | 显示全部楼层
我使用一种缩放方法,该方法采用实体范围和缩放因子来控制实体周围的“缩放”量。您拥有实体id,因此获取其范围不是什么大问题。
回复

使用道具 举报

7

主题

46

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2016-6-16 16:47:27 | 显示全部楼层

嗯,
必须是一个技术术语
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 19:02 , Processed in 0.177754 second(s), 62 queries .

© 2020-2025 乐筑天下

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