Maxscript在选择的可编辑多边形每个面上绘制一个内部圆形
以下是一个MaxScript脚本,可以在选择的可编辑多边形对象的每个面上绘制一个内部圆形:
fn drawPreciseInscribedCircles obj = (if classOf obj != Editable_Poly do (messageBox "请选择可编辑多边形对象!" title:"错误"return false)undo "内部圆" on (local circles = #()local faces = polyop.getFaceSelection obj as arrayif faces.count == 0 do faces = #{1..(polyop.getNumFaces obj)} as arrayfor f in faces do (try (-- 获取面顶点数据local vertIndices = polyop.getFaceVerts obj flocal faceVerts = for v in vertIndices collect polyop.getVert obj v-- 计算面中心点(质心)local center = [0,0,0]for v in faceVerts do center += v