| |
| 适用产品 |
版 本 |
平 台 |
| 3D Studio MAX (TM) |
2.0, 2.5 |
Win95, Win98, WinNT |
| 3D Studio VIZ |
2.0 |
Win95, Win98, WinNT | |
| |
注意:在进行任何布尔运算前一定要选择Edit/Hold 命令保存当前工作。 |
| |
布尔运算剖析 布尔运算命令可以在Create 面板上的Compound Objects 菜单下找到,通常是Boolean 或 Boolean 2。一个布尔运算操作会同时影响到两个对象,Operand A 和Operand B,可以在Operand A 和 Operand B 之间进行的 布尔运算包括: |
| |
Union – 并运算,将两个对象结合在一起。 Intersection – 交运算,留下两个对象交叉的部分。 Subtraction (A-B) – 从A 中减去B。 Subtraction (B-A) – 从B 中减去A。 |
| |
 Operand A 通常是初始对象,而Operand B 是被并、交或减的对象。 |
| |
注意:在3D Studio MAX R1.X 和3D Studio VIZ R1.X和 R2.X 中用到的布尔运算命令的名字是“Boolean”,而在3D Studio MAX 2.X 中是“Bollean 2”,此为布尔运算的一个更新版本。在本文当中统一用“Boolean”表示。 |
| |
布尔对象消失了 进行了布尔运算后,布尔对象也许没有被渲染,或者在屏幕上消失了,这时就需要检查Boolean 命令的Display 部分。在Display 部分通常的设置是Result,如果显示设置被自动切换到了Operands,那么就表明做了无效的布尔操作,这时在视口中只能显示操作对象的线框图,如果把Display 设置切换回Result 会导致布尔对象消失。例如,如果对两个不相交的对象进行交运算,就会产生这种情况。 |
| |
在布尔运算后的对象上显示出皱痕或凸起 对一个具有很少面的对象和一个有很多面的对象进行布尔运算操作也许会导致产生皱痕或凸起。 例如从一个Box 中减去一个复杂的形体对象,这时3D Studio MAX 和 VIZ 会把这个Box 的表面细化以增加面来做减运算。不幸的是这些面通常是长条形的,而且有时会交叠在一起,并在着色视图中形成皱痕或凸起。在这种情况下,增加简单对象的段数参数会使布尔运算后的效果更好一些。 另外,一些修改器应用程序也许会导致这个现象(例如,具有高度Face Thresh 值的优化修改器)。要避免这种现象,就要用较高的Bias 设置,例如0.3。如果一个对象已经在一个面、子对象级或长形面上被细化了,那么也可能导致这个问题。 如果设置了一个比较小的Path Step 值,Loft 对象在细长的面上也可能出现这个问题。在这种情况下,可以用Edit Mesh 修改器中的Edge/Divide 命令来减少细长的面。 |
| |
连续的布尔运算导致一些组件消失 如果在多个对象上进行了多个布尔运算,一些组件也许会消失。 要想复现这个现象,可以先生成一个球,再生成两个圆柱体,并使这个球和这两个圆柱相交,对这两个圆柱和球做并运算。在选中球的状态下,单击Pick Operand B 按钮并选择两个圆柱中的一个,布尔运算成功后这两个对象变成了一个并具有相同的颜色。然后再一次单击Pick Operand B 按钮,并选择另一个圆柱,这时第一个圆柱就消失了。 有两个方法可以避免这个问题发生,第一种方法是在进行每一个布尔运算前要退出当前的布尔命令;第二种方法是附着所有的'Operand B' 对象。下面两套步骤说明了如何实现这两个方法: 在每一次布尔运算后要退出布尔命令: |
| |
1.在场景中选择球体; 2.单击Boolean 2 按钮来打开Boolean 菜单; 3.在Operation setting 域中选择Union; 4.单击Pick Operand 按钮并选择第一个圆柱体;这个圆柱体的颜色变成了和球体一样,表明布尔运算成功。 5.再一次单击Boolean 2 按钮来重新设置这个命令; 6.单击Pick Operand 按钮并选择第二个圆柱体。第二个圆柱体的颜色也被改变成了和球体相同的颜色。 |
| |
首先附着所有的Operand B 对象 |
| |
1.选色第一个圆柱; 2.选中Modify 面板,对这个圆柱应用Edit Mesh 命令,或者把这个圆柱瓦解成一个可编辑的网格; 3.关闭Sub-Object 模式并单击Attach 或Multiple attach 按钮; 4.选择另一个圆柱体; 5.到Create 面板并打开Compound Objects 菜单; 6.选中球体; 7.单击Boolean 2 按钮; 8.单击Click Operand 按钮并选择附着在一起的两个圆柱。 |
| |
当进行多个布尔运算时,要对每一个结果仔细检查,如果有丢失的面就要在进行下一个布尔运算或完成操作前手动修复这些错误,有时需要删除或重新生成一些面。 |
| |
技巧:如果想用布尔运算在一扇墙上开窗户,最好把所有的窗户连接成一个对象,然后只用一次布尔运算来实现开窗户的操作。 |
| |
布尔函数和样条曲线 在对样条曲线进行布尔运算前,要确保所有的样条都被连接到了一起,否则它们是不会进行布尔运算的。 下面步骤说明的就是如何处理多个样条曲线,以对它们进行布尔运算: |
| |
1.启动3DS MAX 或VIZ; 2.单击Create 标前并单击Shapes 按钮; 3.生成两个互相覆盖的园; 4.选中其中一个并单击Modify 附签; 5.对所选中的圆应用Edit Spline 修改器; 6.关闭Sub-Object 模式,并单击Attach 按钮; 7.单击第二个圆。(两个圆被连接到了一起); 8.打开Sub-Object 模式并改变子对象级到Spline; 9.单击一个圆。(这个圆颜色会变红); 10.选择一种布尔运算类型,Union、Subtraction或Intersection; 11.单击Boolean 按钮。(这个按钮会凹陷下去并保持绿色); 12.单击第二个圆。至此整个布尔运算完成。 |
| |
如果结果不正确,可以单击Undo 按钮恢复整个操作。 如果肯定对将要生成的样条曲线进行布尔运算,那么最好在生成新样条之前取消选中Start New Shape 按钮,这就会保证所有生成的样条曲线都属于一个形。如果要通过这种方式做布尔运算,只要进行下面几步即可: |
| |
1.启动3D Studio MAX 或3D Studio VIZ; 2.单击Create 附签,并单击Shapes 按钮; 3.取消选择Start New Shape 复选框; 4.生成两个互相覆盖的圆; 5.打开Modify 面板并对这个形应用Edit Spline 修改器; 6.设置子对象级为Spline 并选中一个圆; 7.选择一种布尔运算类型,Union、Subtraction或Intersection; 8.单击Boolean 按钮。(这个按钮会凹陷下去并保持绿色); 9.单击第二个圆。至此整个布尔运算完成。 |
| |
成功地进行布尔运算的一些通用技巧
增加一个修改器并瓦解堆栈 如果对几个对象的布尔运算没有达到预期的效果,可以尝试添加一个修改器并通过瓦解堆栈来生成Editable Mesh。在3D Studio MAX 和3D Studio VIZ R2.X中,可以直接把对象瓦解成可编辑的网格,而不用先应用一个修改器。做了此步操作后,就不用调整堆栈中已经存在的修改器的参数了。 生成具有更多面的对象 通常对具有更多面的对象进行布尔运算效果会更好,例如,增加一个Box 在长、宽和高方向上的段数,特别是如果其它对象更复杂时,而且最好使布尔运算对象的面数相同。要做布尔运算的对象的面数越多,由布尔运算生成的边就越平滑,并且越容易精制,因为这就会避免处理长且细的面。一旦布尔运算达到了预期的目的,就可以应用优化修改器来减少要做布尔运算的对象上的面数。如果需要进一步对面进行编辑,可以从Display 面版中取消选择Backface Cull 和Edges Only 选项。 输出和输入要做布尔运算的对象 如果布尔运算经常失败,可以尝试把要做布尔运算的对象输出成.DXF 或.DWG 格式,然后再输入这些对象,并再一次进行布尔运算。有时,轻微的移动或旋转一下布尔对象,或者以不同的顺序选择对象也会使布尔运算成功。 使用STL-Check 修改器 另一个方法就是通过应用STL-Check 修改器来检查布尔操作对象的有效性。这个修改器主要是用来校验一个对象是否具有完整的、闭合的表面来为CNC 系统输出.STL 文件。布尔运算符合相同的规则,因此可以用STL-Check 来检查要做布尔运算的对象。STL-Check 修改器位于Modifier 面版中的More 按钮下面。对一个对象应用了STL-Check 修改器后,再选中Check 复选框,检查结果就会显示在Status 区域中。
无效的布尔运算情况
没有闭合的对象 没有闭合的对象是不能进行布尔运算的,例如,去掉了顶面的圆柱体,或者没有加盖的一条样条曲线的拉伸体。这时就需要对这些对象进行使之闭合的操作。 通过Lathe 或Extrude 生成的对象 有时通过Lathe 生成的对象,或者一些拉伸对象会导致不能进行布尔运算。例如,生成一个椭圆,然后对这个椭圆应用Lathe 修改器来生成的椭球体对象。 Hedra Hedra 对象有时是不能进行布尔运算的。 在着色后的对象上有一些不正常的接缝 有时布尔运算后的对象在接缝处没有正确地着色,在表面上也许会有条纹、被拉长或有皱痕。这也许是由没有缝接在一起的顶点导致的,这些顶点会导致生成非常细长的、长薄片状的面。在这种情况下就应该用Edit Mesh 修改器检查要做布尔运算的对象,并保证所有顶点都被缝接到一起了。 |
| |
结论 在3D Studio MAX 和3D Studio VIZ中用布尔运算可以生成复合的对象,在运算完成后要仔细检查所得到的对象的边和接缝显示是否正确。如果正确,则应保存当前场景或单击菜单Edit/Hold 命令,然后再继续进行下面的操作。
摘自Autodesk技术档案。 |