Notifications
Clear all

[Closed] Scripting a Custom Modifier

Hi,

I’m trying to make a modifier to do certain edit poly operations to a selected object (inset x units, extrude y units, and so on …), at the moment all I have is this:


  plugin modifier CodMod
 	name:"CodMod"
 	classID:#(53527,53427)
 	extends:Edit_Poly
 	replaceUI:true
 	version:1
 	(
 		parameters main rollout:params
 		(
 			amount type:#integer ui:amtSpin default:20
 			on amount set val do (
 				delegate.SetSelection #Face #{1}
 				delegate.SetOperation #Inset
 				delegate.insetType = 1
 				delegate.insetAmount = val
 				delegate.Commit()
 			)
 		)
 		rollout params "Parameters"
 		(
 			spinner amtSpin "Amount: " type:#integer range:[0,1000,20]
 		)
 	)
 

I cant manage to get it to work, I apply the modifier on top of the object but it refuses to apply the operation … is this the propper way to achieve the functionality I want?

BTW wich would be a good method to select all the faces in line ‘delegate.SetSelection #Face #{1}’ ???

Thanx

2 Replies

Do you want to select all faces on the object?

faceBit = (for faceCnt in 1 to (delegate.getnumfaces()) collect faceCnt) as bitarray
  delegate.setselection #face faceBit

Do you want to use the existing stack selection?

delegate.usestackselection = true

Or do you want select something else all together?

Ok, it appears something is broken as it is using the stack selection no matter what.

-Eric

Yup, the facebit trick you pointed out is exactly what I needed

The next problem is that I would like to interactively see the changes of various edit poly operations, say I’d like to see how the mesh would look like after applying certain amount of inset, some extrude and some modifications more … If I dont make the commit after the first operation I cant do the next, but if I make the commit then the mesh will be messed up the first time I try to change it. Is it possible to do?

Thanks