I’ve planned to utilize ISpline3D method SelfIntersects() to detect spline self intersections, but seems like there’s no way to convert lines to splineshapes.
convertToSplineShape seems useless in this case.
Any ideas?
ln: shape : line
ln: shape : line – still not a splineshape
ss: shape : SplineShape
ln: dotNetObject:Autodesk.Max.Wrappers.ShapeObject
ss: dotNetObject:Autodesk.Max.Wrappers.SplineShape
(
ln = line()
addNewSpline ln
addKnot ln 1 #corner #line [1,0,0]
addKnot ln 1 #corner #line [5,0,0]
format "ln: % : %
" (superClassOf ln) (classof ln)
convertToSplineShape ln; updateShape ln
format "ln: % : % -- still not a splineshape :(
" (superClassOf ln) (classof ln)
ss = SplineShape()
addNewSpline ss
addKnot ss 1 #corner #line [-5,0,0]
addKnot ss 1 #corner #line [-1,0,0]
format "ss: % : %
" (superClassOf ss) (classof ss)
g = (dotNetClass "Autodesk.Max.GlobalInterface").Instance
lnObj = (
inode = g.COREInterface7.GetINodeByHandle( ln.inode.handle )
obj = inode.EvalWorldState g.COREInterface.Time true asdotnetobject:true
obj = obj.Obj
obj.ConvertToType g.COREInterface.Time g.SplineShapeClassID -- No conversion whatsoever ;(
)
format "ln: %
" lnObj
ssObj = (
inode = g.COREInterface7.GetINodeByHandle( ss.inode.handle )
obj = inode.EvalWorldState g.COREInterface.Time true asdotnetobject:true
obj.Obj
)
format "ss: %
" ssObj
)