ektho
05-30-2011, 02:07 PM
I need help, I'm trying to do a simple mesh object, a parametric plane, but i can not make the formula for the index face, down here the script:
plugin simpleObject quad
name:"Plane"
category:"Extra Primitives"
classID:#(0x4927806d, 0x3d9ca278)
(
parameters main rollout:params
(
widthVal type:#float ui:widthVal default:0
lengthVal type:#float ui:lengthVal default:0
widthSeg type:#integer ui:widthSeg default:3
lengthSeg type:#integer ui:lengthSeg default:3
)
rollout params "Parameters"
(
spinner widthVal "Width: " range:[0,10000,5] fieldWidth:50
spinner lengthVal "Length : " range:[0,10000,5] fieldWidth:50
spinner widthSeg "WidthSeg: " range:[1,100,5] fieldWidth:50
spinner lengthSeg "LengthSeg : " range:[1,100,5] fieldWidth:50
)
on buildMesh do
(
vert_array = #()
face_array = #()
for i = 1 to lengthSeg+1 do
(
for ii = 1 to widthSeg+1 do
(
append vert_array [ (widthVal/widthSeg)*(ii-1), (lengthVal/lengthSeg)*(i-1), 0]
)
)
for j = 1 to widthSeg do
(
append face_array [j,j+1,j+widthSeg+2]
)
--face_array = #([1,2,6],[2,3,7],[3,4,8],[1,6,5],[2,7,6],[3,8,7])
setMesh mesh verts:vert_array faces:face_array
)
tool create
(
on mousePoint click do
case click of (1: coordsys grid (nodeTM.translation = gridPoint);2: print LengthSeg)
on mouseMove click do
case click of (2:(widthVal = gridDist.x; lengthVal = gridDist.y); 3: #stop)
)
)
Sorry for my english.
plugin simpleObject quad
name:"Plane"
category:"Extra Primitives"
classID:#(0x4927806d, 0x3d9ca278)
(
parameters main rollout:params
(
widthVal type:#float ui:widthVal default:0
lengthVal type:#float ui:lengthVal default:0
widthSeg type:#integer ui:widthSeg default:3
lengthSeg type:#integer ui:lengthSeg default:3
)
rollout params "Parameters"
(
spinner widthVal "Width: " range:[0,10000,5] fieldWidth:50
spinner lengthVal "Length : " range:[0,10000,5] fieldWidth:50
spinner widthSeg "WidthSeg: " range:[1,100,5] fieldWidth:50
spinner lengthSeg "LengthSeg : " range:[1,100,5] fieldWidth:50
)
on buildMesh do
(
vert_array = #()
face_array = #()
for i = 1 to lengthSeg+1 do
(
for ii = 1 to widthSeg+1 do
(
append vert_array [ (widthVal/widthSeg)*(ii-1), (lengthVal/lengthSeg)*(i-1), 0]
)
)
for j = 1 to widthSeg do
(
append face_array [j,j+1,j+widthSeg+2]
)
--face_array = #([1,2,6],[2,3,7],[3,4,8],[1,6,5],[2,7,6],[3,8,7])
setMesh mesh verts:vert_array faces:face_array
)
tool create
(
on mousePoint click do
case click of (1: coordsys grid (nodeTM.translation = gridPoint);2: print LengthSeg)
on mouseMove click do
case click of (2:(widthVal = gridDist.x; lengthVal = gridDist.y); 3: #stop)
)
)
Sorry for my english.
