三维实体建模的限制


我们知道MicroStation中创建三维模型有三种大的方法:实体、网格面和B样条曲面。后两者在范围方面没有限制,但实体建模在范围方面的限制较大。如果对此还不太了解的话,请先阅读如下两篇文章:

MicroStation中使用的三维技术

Solid、SmartSolid、FeatureSolid和ParametricSolid的区别

故无论是在手工操作还是编程时都要注意以下几点:

1、智能实体(不含基本实体)在MSCE下的范围不能超过1公里,参数化实体在MSCE下的范围不能超过500米。这里的范围指定是实体的最大边长;

2、实体不能距离设计中心太远。如果太远的话,实体坐标值就会很大。而实数运算时超大实数会造成极小的误差,进一步影响实体运算结果。所以,这种情况下,可以通过元素移动工具将实体移到(0,0,0)点附近;

3、实体的拓扑结构要合理。即实体要由最基本的面(Face)包围而成,每条边(Edge)是由相邻的两个面求交得到的,每个顶点(Vertex)是由相邻的三个面求交得到的。下图左侧的红色边则不符合这个要求,需要补充ByCell图所示的红色边使其由四个面组成才可以。

我们有一个不在Ribbon界面中的键入命令可以检查实体的合法性。该键入命令是:Modeler Debug Body Check。键入该命令后选择要检查的三维实体元素,在弹出的黑色窗口中如果看到Check OK - No Faults Found则表示该实体没有拓扑上的错误,否则就要简化或重构您的实体了。请参考如下两篇文章:

简化三维模型

重构异常的三维实体

4、还要注意DGN文件当前模型所用的工作单位,最好采用默认的如下工作单位设置。虽然可以通过点击“编辑”按钮弹出高级单位设置框可将实体区域设置得很大(比如100千米),但这种设置会降低实体精度,造成后续的实体的各种操作(如布尔运算等)产生无法预知的结果(即有时正确,有时错误)。总之,三维实体建模需要注意的方法很多,这是因为MS的三维实体建模核心采用的是西门子的ParaSolid内核,该内核的最初设计是为机械行业服务的,并未考虑到基础设施行业的复杂性(比如超大实体,地理坐标系等)。

【注1】:在对两个实体执行操作时,还应该避免边界完全重叠的情况,此时软件分不清楚谁大谁小了。如下图所示的两个圆柱和一个长方体的边界完全相切,此种情况下无法用这两个圆柱去和这个长方体做布尔差运算。您需要将长方体往上或往下微移很小的一个距离才行。

【注2】:Profile构造不合理造成无法Extrude。例如下图中的Complex Shape的子元素不是首尾连接的。