计算所选面之间的总角度

时间:2011-01-25 11:24:08

标签: 3dsmax maxscript

我有一个用于在对象中选择孔的框架。 现在它通过在孔内手动点击(使用“按角度”选项)来工作,然后选择孔的内部。 然后我删除面部,选择“开边”然后盖上它。 这就是我的脚本现在所做的。

所有这一切都很好,但我不想单独点击每个洞。

把它放到透视中: 我有10个模型(工程模型,硬表面) 模型是至少5000个独立的部分,我现在必须经历 并使用上述方法删除孔。

所以这就是我认为可以解决的问题:

1)用软选择逐个选择每个面。 2)每次检查选择中的角度。 3)如果它是一个洞,那么它是一个~360角,我就知道这是 我想删除的东西。

我需要帮助的部分是获得所选面部的总角度。

其余部分已经完成。

案例将是一个简单的框,通过它有一个圆柱体,您可以使用布尔值在框中创建孔。

1 个答案:

答案 0 :(得分:2)

这是我在脚本中使用的一个基本函数,facenormals是规范化的向量(lenght = 1.0,从[0,0,0]开始),它们指出了面部。

fn getAnglebetweentwoFaces face1 face2 =

(-- returns the angle between 2 facenormals

    theAngle = acos(dot face1 face2)

    --format"\tthe Angle: %\n" theAngle --uncomment this listener output if you want.

    return theAngle

)

希望这会对你有所帮助