ANSYS布尔运算报错与splot命令

最近在做一个箱梁实体模型的时候,遇到了布尔运算错误,提示:

The following entities do not support booleans.

Use the SPLOT command to examine bad surfaces/areas

Format for SPLOT is SPLOT,NA1,NA2,NINC,MESHSIZE.

这是一个“老大难”的问题,其“难处”主要有二:

  1. 布尔运算错误不会经常发生,一旦发生却经常不好找原因。最后往往需要改变建模策略,但为什么改变建模策略之后就可行了呢?这事儿有时候又说不清楚。。。
  2. splot命令很鸡肋,程序告诉你用这个命令查看一下出错的面吧,结果当你真的用这个命令去查看的时候,它又不能给用户提供太有价值的信息,也就是“查不查看一个样”。。。

找了一圈这类问题的解决方案,绝大多数是只有提问没有后续,对于splot命令则只见过一篇吐槽的论坛帖子。如今看来,这么多个版本升上去了,这个命令的功能还是没有改善。

先说同类问题的解决方案吧,

  1. 查看模型是否存在缝隙、重复关键点等问题,尤其是对于那些直接以*.iges等格式导入的模型;
  2. 设置容差,利用btol命令进行设置。ansys默认容差是1e-5,可以考虑适当放宽容差看看;
  3. 改变建模策略(思路),这意味着在一定程度上需要部分返工;
  4. 查看那些“自动拟合”出来的截面;
  5. ……

对于我遇到的问题,单箱三室截面不算复杂,但其斜腹板实体建立过程中多次出现需程序“自动拟合”的提示,像下面这样:

出现这种提示的原因是,我要建立的平面原本是一个平面,我也是利用a命令去创建,但由于坐标的有效数字取值,以及变截面等问题,导致有些平面在模型中“实际上是不平的”,因此程序自动将其转换成曲面。

在出现了布尔运算报错后,我手动修改了一些关键点坐标。这一步操作对于计算精度没有影响,坐标变动非常微小,但会有效控制住自动拟合曲面的数量。

当时,在我这样操作之后,问题“竟然”解决了。难以置信,因为曲面应当也同样可以用布尔运算的啊,而且我在后续的测试中再也没有重复出来这个错误。下面我把做的一些测试命令放上来,欢迎探讨。

测试1 切割“扩展”生成的实体

finish
/clear
/title,Testing1
/prep7
/view,1,1,1,1
rectng,-10,10,-10,10
vext,all,,,,,10
wprota,,,90
vsbw,all

结果当然是很容易就可进行布尔运算的。

测试2 关键点→平面→实体的建模策略

finish
/clear
/title,Testing2
/prep7
/pnum,kp,1
/view,1,1,1,1
k,1,-10,10,0
k,2,10,-10,0
k,3,10,10,0
k,4,-10,-10,0
k,5,-10,-10,10
k,6,10,-10,10
k,7,10,10,10
k,8,-10,10,10
a,1,3,2,4
a,7,8,5,6
a,3,7,6,2
a,6,5,4,2
a,5,8,1,4
a,1,8,7,3
va,all
wprota,,,90
vsbw,all

在直接用关键点生成平面的过程中,需要注意的是根据右手定则判断平面的法向。在这个建模策略中,标准做法是使组成实体的各平面法向都向内或者都向外,保持一致。

测试3 关键点→平面→实体的建模策略,法线方向不一致

finish
/clear
/title,Testing3
/prep7
/pnum,kp,1
/view,1,1,1,1
k,1,-10,10,0
k,2,10,-10,0
k,3,10,10,0
k,4,-10,-10,0
k,5,-10,-10,10
k,6,10,-10,10
k,7,10,10,10
k,8,-10,10,10
a,1,3,2,4
a,7,8,5,6
a,3,7,6,2
a,6,5,4,2
a,5,8,1,4
a,8,1,3,7
va,all
wprota,,,90
vsbw,all

通过本例证明:组成实体的平面,其法线方向不需要一定都指向实体内部,布尔运算对法线方向不敏感。

测试4 自动拟合平面

finish
/clear
/title,Testing4
/prep7
/pnum,kp,1
/view,1,1,1,1
k,1,-10,10,0
k,2,10,-10,0
k,3,10,10,0
k,4,-10,-10,0
k,5,-9,-10.4,10
k,6,11.5,-10,10
k,7,10,3.7,10
k,8,-12.1,11.65,10
a,1,3,2,4
a,7,8,5,6
a,3,7,6,2
a,6,5,4,2
a,5,8,1,4
a,8,1,3,7
va,all
wprota,,,90
vsbw,all

和我在箱梁里遇到的应用场景相同,但在本例测试中并没有出现无法进行布尔运算的错误。说明程序自动拟合出来的曲面进行布尔运算是没问题的。或者说,理论上只要是能建立实体,该实体内部就一定是闭合空间,那么布尔运算本应该也是没问题的。

也就是说,被我解决的箱梁建模过程中布尔运算错误,在小样模型中并没有重复出来。未免有所遗憾,始终未能找到导致错误产生的真正原因。

关于splot命令

话又说回来,真的遇到报错时,splot命令又能有啥用呢?

根据splot命令的格式,对上述测试4的实体进行分析。对于15号曲面而言:

splot,15,,,10

splot,13,,,10

从以上对两个面施加splot命令可以看出,网格密度可以调整,当前查看的平(曲)面是在白色网格线组成的平(曲)面范围之内。白色网格线应该就是官方文档中提到的底面underlying surface,其范围与实体在其方向上的投影范围有关。

然而, 还是没想明白splot有什么意义,难道是需要逐一关键点处观察,看看有没有关键点“跑到”新的位置上,所以,还是没想好这个命令最终有啥用

点赞 4

长河

工学博士,桥梁与隧道工程专业,黑龙江科技大学讲师。联系方式:sun@10kn.com

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

ANSYS无法选中实体怎么办

问题描述 在前后处理中,利用Vsel、Lsel、Esel等命令进行图形元素选择是高频操作,但当根据坐标进行选择的时候,会出现 ...

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

ANSYS布尔运算报错与splot命令