如何确定(在MaxScript中)哪一行的样条曲线是“外曲线”?

时间:2015-10-06 15:00:11

标签: maxscript

我想列出行的顶点,按样条曲线分组到文件。我知道我可以使用format % ... to: file将数据输出到文件,但我还需要做一件事。

我的线看起来像这样(外部样条线被选中/红色,洞是白色的):

enter image description here

我想首先输出外样条线(顺序对我很重要),然后列出所有孔(作为顶点列表)。 如何确定(在MaxScript中)哪一行的样条曲线是“外部曲线”?

1 个答案:

答案 0 :(得分:0)

一种简单(但可能不是最有效)的方法是在两者之间进行长度比较(因为内部可能总是最短的)。

您使用以下方法:

getSegLengths <splineShape> <spline_index> [cum:<boolean>] /
[byVertex:<boolean>] [numArcSteps:<integer>]

您可以执行以下操作:

if ((getSegLengths $YourSpline 2 cum:true) > (getSegLengths $YourSpline 1 cum:true) then (setFirstSpline $YourSpline 2)

你当然需要迭代splineshape的子样条,以确定最长的。

或者,您可以计算一些围绕它们的碰撞盒,以防您的内花键卷曲,因此比外部花键长。