如何将复杂链转换为B样条曲线


如何将复杂链转换为B样条曲线呢。其实MS就提供了这样的工具。

放在Modify Curves工具栏里的Rebuild Curve工具就可以满足这样的需求。关于工具里具体的每个设置项,在帮助文档里都有说明。

如果想通过批处理的方式,下面是一个简单的例子。也许不是最简单的方式,仅做参考。

Sub main
    Dim startPoint As MbePoint
    Dim point As MbePoint, point2 As MbePoint
    MbeSendCommand "DROP CURVE"
        MbeSetAppVariable "3DTOOLS", "tcb->ms3DToolSettings.blendCurve.dropMakeCopy", 0&
        MbeSetAppVariable "3DTOOLS", "tcb->ms3DToolSettings.blendCurve.dropType", 0&
        MbeSetAppVariable "3DTOOLS", "tcb->ms3DToolSettings.blendCurve.dropMethod", 4&
        MbeSetScaledAppVar "3DTOOLS", "tcb->ms3DToolSettings.obsoleteOffsetCurve.distance.value", 0.0001#
    MbeSendCommand "MDL SILENTLOAD SELECTBY"
    MbeSendCommand "SELECTYBY TYPE NONE"
    MbeSendCommand "SELECTBY TYPE COMPLEXSTRING"
    MbeSendCommand "SELECTBY EXECUTE"
    MbeSendCommand "CONVERT BSPLINE"
    MbeSendCommand "DROP CURVE"
    MbeSendCommand "CHOOSE NONE"
    MbeSendCommand "POINT AB"
End Sub