原生布尔(Boolean Native)

原生布尔物体类似于布尔CAD物体,但它使用了更有效的光线追迹算法。有关定义父物体、布尔运算和放置物体的更多信息,请参阅"布尔CAD(Boolean CAD)"。与布尔CAD物体不同,原生布尔物体不会将每个组件物体转换为基于NURBS的曲面表达,而是使用父物体的原生几何形状。出于这个原因,使用原生布尔物体的光线追迹通常比布尔CAD物体更快(多达10倍)且更准确。
通过原生布尔物体进行光线追迹:
当光线追迹到原生布尔物体时,光线会被追迹到父物体,而且软件会在光线追迹上执行布尔逻辑运算。它首先使用父物体的多面表达(即通过使用"物体属性 > 绘图(Object Properties > Draw)"下的"绘制分辨率(Drawing Resolution)"生成的三角形),寻找光线物体相交的"接近初步估算值(close first guess)"。然后迭代到精确解。
这意味着光线追迹依赖于通过父物体的光线追迹。如果光线没有正确地追迹或错过父物体,则光线将无法正确地追迹原生布尔物体。有关绘制分辨率的更多信息,请参阅绘图(物体属性、非序列元件编辑器)(Draw (object properties, non-sequential component editor))的"关于绘制分辨率与边界区域的注释"部分。
渲染:
原生布尔物体的渲染是通过将原生布尔转换为NURBS格式来实现的。但是光线追迹不使用这种方法。原生布尔物体使用原生父几何形状进行光线追迹。
光线追迹速度
如果父物体是CAD物体或不是OpticStudio中的原生物体,则原生布尔物体的光线追迹速度不会比布尔CAD物体更快。
此外,如果原生布尔物体由大量父物体构建而成,那么光线追迹的速度可能不会比使用布尔CAD物体的速度快。这是因为光线仍然需要追迹所有父物体并考虑布尔几何运算。因此,如果需要组合许多物体,嵌套物体可能会比使用原生布尔物体更快地进行光线追迹。有关嵌套物体的更多信息,请参阅"放置物体(Object Placement)"。
将光源放置在原生布尔物体中
可以使用"在内部(Inside Of)"参数将光源放置在原生布尔物体内部。然而,与布尔CAD物体不同,它必须考虑父物体的位置。这是因为原生布尔物体使用父物体的原生几何形状,而不是将每个组件转换为基于NURBS的曲面表示。
如果光源从原生布尔物体内部开始,则光线将通过父物体(相对于原生布尔物体的局部坐标放置)的几何形状进行追迹。因此,如果光线从父物体的区域内开始,"在内部(Inside Of)"参数应设置为原生布尔物体编号(而不是父物体编号)。这也适用于负空间。例如,请看下图所示的物体A与物体B,以及布尔运算A – B:


假设需要将光源放置在物体B区域内的某个位置。即使布尔运算是从物体A中减去物体B,光源的"在内部(Inside Of)"参数应设置为原生布尔物体编号,并且原生布尔物体周围的区域为空气。必须考虑父物体A与B的完整几何形状,因为在光线追迹中使用的是完整几何形状。
必须考虑物体B的完整几何形状,即使父物体与原生布尔物体不在同一个局部坐标系中。这是因为父物体几何形状是相对于原生布尔物体的局部坐标系重新创建的。例如,参见下图,所示为不考虑物体B的完整几何形状时的光源放置:

光源物体的"在内部(Inside Of)"值设置不正确,因此光线在应被视为空气的区域中被错误地分割成区段。
下图显示了相同的示例系统,但"在内部(Inside Of)"值被正确设置为原生布尔物体的编号。

将"在内部(Inside Of)"值设置为原生布尔物体编号时,光线会正确地通过六边形开口传播,而没有上图中显示的区段。
为确保将光源正确放置在原生布尔物体中,我们建议对父物体和原生布尔物体使用相同的全局坐标系。一旦对光源进行定位并对系统进行了定义,父物体可以移动到目标区域之外的不同区域,或被隐藏和忽略。有关忽略和隐藏物体的右键单击选项,请参阅"编辑器窗口操作(Editor Windows Operations)"。有关忽略物体的更多信息,另请参阅"物体属性 > 类型 > 光线追迹设置(Object Properties >Type > Ray Trace Settings)";有关隐藏物体的更多信息,请参阅"物体属性 > 绘图(Object Properties > Draw)"。
在混合模式中工作
当使用原生布尔物体在混合模式中工作时,必须考虑父物体的位置。如果父物体接触或围绕输入端口,则必须使用反向传播距离,以便光线不会从父物体内部开始。
以下参数用于定义原生布尔物体:
参数# | 描述 | 面名称 | 面# |
1 |
从OpticStudio格式转换为NURBS格式时用来将样条拟合到非球面的点数。因为原生布尔物体使用原生父几何形状进行光线追迹,所以只有其它CAD几何形状使用时(例如,用于渲染、导出为CAD文件、用于扫描或布尔CAD物体等),才需要此样条参数。 该值为整数代码,其中0 = 4个点,1 = 8个点,2 = 16个点,3 = 32个点,4 = 64个点,5 = 128个点,6 = 256个点。样条设置越高,一些物体的精度越高,但代价是创建物体和渲染的速度较慢。 |
NA | NA |
5-14 | 用于定义物体A、B和C等的物体编号。有关定义父物体、布尔运算和放置物体的更多信息,请参阅"布尔CAD(Boolean CAD)"。 | 侧面 | 0 |
下一部分: