View Full Version : How to copy material id between polys ?
03 March 2006, 07:17 AM
I want to use a script , it can copy material id ,I hope receive some information
for example ,I wan to A polyface id = B polyface id, subject mode ,I select A polyface, run a script , select B polyface
then A id = B id ,
It resemble this tools:
fn getObjMat =
objPick=pickObject prompt:"select the obj you want copy the material"
for i=1 to numobjSel do objSel[i].material=objPick.material
try lwh=[(objpick.modifiers[#uvw_mapping].length),(objpick.modifiers[#uvw_mapping].width),(objpick.modifiers[#uvw_mapping].height)] catch(lwhMd=0; print( "can't Get=>Copy the uvwMap modifier") )
if lwhMd==1 do
addModifier objSel (Uvwmap length:lwh.x width:lwh.y height:lwh.z mapType:mp.mapType utile:mp.utile uflip:mp.uflip vtile:mp.vtile vflip:mp.vflip wtile:mp.wtile wflip:mp.wflip channel:mp.channel mapchannel:mp.mapchannel axis:mp.axis)
03 March 2006, 10:03 AM
Sometihng like this:
cpyMatID = undefined
rollout cpyMat "Copy Mat ID" width:88 height:72
button cpy "Copy Mat ID" pos:[8,8] width:72 height:24
button pst "Paste Mat ID" pos:[8,40] width:72 height:24 enabled:false
on cpy pressed do
if selection.count == 1 and classOf selection == Editable_Poly then
theObj = selection
faceSel = (theObj.selectedfaces as bitarray) as array
if faceSel.count == 1 then
cpyMatID = polyop.getFaceMatID theObj faceSel
pst.enabled = true
else messageBox "Please select just one face to copy Material ID from" title:"Copy Material ID"
else messageBox "Please select just one Editable Poly object." title:"Copy Material ID"
on pst pressed do
for o in selection where classOf o == Editable_Poly do
for f in (polyop.getFaceSelection o) do polyop.setFaceMatID o f cpyMatID
Run the script and use the buttons :)
03 March 2006, 02:13 AM
Hi Moosley thanks
The code works very good ,but I feel it's work mode is trouble a little
I don't want that buttons
Can you change it , let it transfer polyface id
For example want to A id = B id
first select polyface A ,run code , select B poly face , then A id = B id
Thank you once
03 March 2006, 09:50 AM
I think the script I posted is probably one of the safer way to approch it (I could be wrong), the way you described it sounds like it would need a mouse tool or ray intersect test to pick a sub-object face selection which could be a bit unreliable and really works best on editable meshes... This script will remember the material ID you copied and you can paste it to as many faces as you like over and over again with just one click :)
03 March 2006, 01:50 AM
You are right,I have decied to use you tool !!
03 March 2006, 01:50 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.