曲面工具的Surface by Extrusion可以将二维图形元素例如线串拉伸成曲面,mdlSurface_project函数也可实现该功能,在利用线串切割mesh体中分别测试。
1、曲面拉伸工具,将线串拉伸成为与mesh体相交的曲面,后利用mesh from element工具转换为mesh面,再利用mesh subtract工具进行差集计算,可以正确得到线串范围之内的mesh体(具有体积)。
2、mdl中与mesh体相交的曲面采用如下方式:
mdlSurface_project(&surfaceEdP,edP,&ptGM[0],&ptGM[1],NULL); //edP为线串,ptGM[0]为线串起点,同时为拉伸起点,ptGM[1]为线串拉伸终点。
surfaceEdP->el.ehdr.type=SURFACE_ELM;
曲面创建以后,其后步骤为1相同,但差集计算之后得到线串范围之内的却是mesh面(无体积,仅有surface area)。
请问如果要实现1的效果,nativecode中应该怎样修改?
UserCase.dgn
符工,您好。
测试过程中发现一个很奇怪的现象,我将创建的surface的拉伸终点的Z值先设定为一固定高度(2000m),在可以正确切割的前提下,慢慢降低拉伸终点的高度,当降至1500m以下的时候,手动创建的surface此时也无法正确切割mesh体了。但是,我可以确定,mesh体的range的最大Z值是一定在1500m以下。
于是我将程序中原来设定的surface的拉伸终点的Z值调节之后,与手动的就无异了。
请问出现这种情况的可能原因是什么?
符工,dgn文件如下,其中左侧为1500m的surface,右侧为2000m的surface:
3005.UserCase.dgn