乐筑天下

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

如何在C#中将ucs与固体对齐

[复制链接]

3

主题

23

帖子

1

银币

初来乍到

Rank: 1

铜币
35
发表于 2018-12-8 20:14:17 | 显示全部楼层 |阅读模式
大家好,我必须用C#计算我绘图中许多实体的宽度和长度。但其中一些不在同一平面内,例如相对于z轴倾斜的实体,因此尺寸错误。我希望更改一些ucs,并计算该实体的宽度以使其正确<欢迎任何帮助。

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

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

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2018-12-8 22:48:15 | 显示全部楼层
这个帖子应该会有所帮助,干杯。
https://www . the swamp . org/index . PHP?topic=51518.0
如果您需要处理现有的3d实体,那么您将需要用户选择3个点来定义至少2个轴向量(比方说一个面的基点,然后是沿Z轴的一个点作为拉伸长度,然后是面上任何其他位置的第三个点来产生宽度轴),第三个轴是一个简单的法线计算来产生它。
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2018-12-9 02:43:39 | 显示全部楼层

您应该澄清这一点,因为实体的“宽度和长度”不依赖于坐标系(例如,无论坐标系如何,线的长度都保持不变)。
因此,您应该详细描述如何测量这些固体。
回复

使用道具 举报

3

主题

23

帖子

1

银币

初来乍到

Rank: 1

铜币
35
发表于 2018-12-9 08:56:56 | 显示全部楼层
嗨,Gile,
感谢您的快速回复。
要测量我的固体(实体),我使用下面的代码,它可以很好地与不倾斜的标准固体配合使用:
公共双EntityWidth(实体ent)
{
双宽度;
Extens3d ext=ent.GeometricExtents;
Width=ext.MaxPoint.X-ext.MinPoint.X;
返回Width;
}
我的问题是我不想计算自己的斜边以获得我的固体长度。这就是为什么我相信我只能改变ucs然后根据这个计算斜固体的长度。
如果你有其他方法解决这个问题,我会很高兴知道的...
提前感谢任何能帮助我的人。
回复

使用道具 举报

3

主题

23

帖子

1

银币

初来乍到

Rank: 1

铜币
35
发表于 2018-12-9 09:09:28 | 显示全部楼层
你好,MickD,
我明天会检查此解决方案,并让您知道它是否有效。
谢谢。。。
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2018-12-9 11:12:39 | 显示全部楼层
实体,几何范围总是围绕WCS轴创建实体的边界框,通过将实体(Solid3d或其他任何东西)从WCS转换到UCS,获得转换实体的几何范围,然后将其转换回WCS,可以获得关于当前UCS轴的边界框。这里有一个小例子:    static extents 3d GetExtentsAboutUCS(Entity Entity)。
{。
var ed = AcAp,document manager . mdiactivedocument . editor;。
var ucs2wcs = ed,CurrentUserCoordinateSystem。
var wcs2ucs = ucs2wcs,inverse();。
Extents3d范围;。
如果(!实体,IsWriteEnabled)。
实体,upgrade open();。
实体,transform by(wcs 2 UCS);。
尝试{ extents = entity,几何范围;}。
最后{ entity,transform by(UC S2 wcs);}。
返回范围;。
}。
回复

使用道具 举报

3

主题

23

帖子

1

银币

初来乍到

Rank: 1

铜币
35
发表于 2018-12-9 12:02:01 | 显示全部楼层
嗨,吉尔,
谢谢你的例子
回复

使用道具 举报

3

主题

23

帖子

1

银币

初来乍到

Rank: 1

铜币
35
发表于 2018-12-10 06:01:43 | 显示全部楼层
嗨,Gile,
首先,我要感谢你的帮助。
我尝试使用您的功能,效果很好。
现在,我在自动检测实体的ucs时遇到了另一个问题。
请告诉我做这件事的方法好吗?
回复

使用道具 举报

72

主题

738

帖子

75

银币

中流砥柱

Rank: 25

铜币
957
发表于 2018-12-10 06:34:44 | 显示全部楼层
三维实体的UCS属性不受它们所代表的实体的约束……如果有UCS,您只能尝试将UCS与其中一个面对齐,然后将UCS轴定向。您想引用面边或其顶点……抱歉,但我认为您被困在这里了。IMHO。。。
回复

使用道具 举报

3

主题

23

帖子

1

银币

初来乍到

Rank: 1

铜币
35
发表于 2018-12-10 07:25:14 | 显示全部楼层
嗨,肋臂,
感谢您的贡献。
我将尝试定义一些条件来确定我的实体(固体)的ucs。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:41 , Processed in 0.153844 second(s), 72 queries .

© 2020-2024 乐筑天下

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