Notifications
Clear all

[Closed] Proper way for Mesh Collection?

Hi, I’m a 3dsmax hobbyst, and I’ve been playing around with maxscript and exporting geometry

I kinda made stuff up as I went, so the coding is sloppy, but I was able to generate a wavefront OBJ file from my maxscript. I later altered the output code to a different format which deals with more specifics… like materials, bones, vertex weights etc…

anyway I output my script for people to try and they’re getting alot of weird problems. I believe the reason behind the problems is the way I am collecting the meshes vs the bones

here’s the complete script http://pastebin.com/1p7GKNhg

and here’s my line for collection


  getBone=for obj in $* where (isKindOf obj BoneGeometry) collect obj
  getMesh=for obj in $* where (isKindOf obj Editable_Mesh) OR (isKindOf obj Editable_Poly) collect obj

oddlying enough a biped in 3dsmax isn’t a bone class O_O and a box… is well not an editable anything its just a box…

so if I use something like superclass almost anything is defined as a geometryobject, even my biped.

I was just wondering if anyone has any suggestions on better scene object collection.

right now to get around these I have to add “ORs”

getBone=for obj in $* where (isKindOf obj BoneGeometry) \
  OR (isKindOf obj Biped_Object) \
  OR (isKindOf obj Dummy) \
  OR (isKindOf obj IK_Chain_Object) \
  OR (isKindOf obj Point) collect obj

is there an easier way?

thanks for reading,

-mariokart64n

1 Reply
 lo1

I haven’t looked at your script, but instead of all the ORs you could write

classesArr = #(box,sphere,torus,whatever)
for o in objects where findItem classesArr (classof o) > 0 collect o