Hey there,
dunno where this belongs but i seem to not be able to get my "clean remove" to work.
When i hit "ctrl + backspace" nothing happens and if i press backspace it turns on the "selection lock toggle" down in the animation bar.
Yes i resetted my controls to "default" already restarted Max but its not doing any good.
Is there a way to customize the action of the "clean remove" or is it only available through the "backspace" button?
Cheers.
Replies
Whats the name of the "remove edge + verts" function? How can i set it to a different key. The other removes like "remove (poly)" or "remove edge (poly)" under the MainUI tab dont seem to remove verts aswell so i am kinda lost here.
Sadly google cant help me either
Thanks.
1) Run the macros
2) Set rRemove under category Robot to a hotkey
It doesn't do the exact same as the max remove -- It won't remove a vert from an edge if the angle around it is < 170 degrees. To change the degree number, change the section in red below
-Robot
macroScript rRemove category:"Robot" toolTip:"Remove" ( myPanel = "" selObjects = 0 objectCase = case ($ as string) of ( "undefined":selObjects = 0 "$selection":selObjects = $.count default:selObjects = 1 ) if selObjects == 1 then( myPanel = modpanel.getCurrentObject() ) if (myPanel as string== "Editable Poly" ) then( if subobjectLevel == 1 then ( $.EditablePoly.Remove selLevel:#Vertex ) if subobjectLevel == 2 then ( macros.run "Robot" "rToVert" macros.run "Robot" "rToEdge" $.EditablePoly.Remove selLevel:#Edge vertsToRemove = #{} --After the remove: for i in (($.selectedVerts as bitarray) as array) do( v1 = $.verts[i].pos v2 = [0,0,0] v3 = [0,0,0] edges = ((polyOp.getEdgesUsingVert $ i) as array) if (edges.count == 2) then( vGroup1 = (polyOp.getEdgeVerts $ edges[1]) as array vGroup2 = (polyOp.getEdgeVerts $ edges[2]) as array for j in vGroup1 do( if j != i then( v2 = $.verts[j].pos ) ) for k in vGroup2 do( if k != i then( v3 = $.verts[k].pos ) ) vect1 = normalize (v2-v1) vect2 = normalize (v3-v1) if (dot vect1 vect2) <= [COLOR="Red"]cos(170)[/COLOR] then( append vertsToRemove i ) ) ) polyop.setVertSelection $ vertsToRemove $.EditablePoly.Remove selLevel:#Vertex ) if subobjectLevel == 3 then( $.EditablePoly.delete #Edge ) if subobjectLevel == 4 or subobjectLevel == 5 then( $.EditablePoly.delete #Face ) ) ) macroScript rToVert category:"Robot" toolTip:"Convert Selection to Vertex" ( myPanel = "" selObjects = 0 objectCase = case ($ as string) of ( "undefined":selObjects = 0 "$selection":selObjects = $.count default:selObjects = 1 ) if selObjects == 1 then( myPanel = modpanel.getCurrentObject() ) if (myPanel as string== "Editable Poly" ) then ( if subobjectLevel == 2 then ( $.EditablePoly.ConvertSelectionToBorder #Edge #Vertex subobjectLevel = 1 ) if subobjectLevel == 3 then ( $.EditablePoly.ConvertSelectionToBorder #Border #Vertex subobjectLevel = 1 ) if subobjectLevel == 4 then ( $.EditablePoly.ConvertSelectionToBorder #Face #Vertex subobjectLevel = 1 ) if subobjectLevel == 5 then ( $.EditablePoly.ConvertSelectionToBorder #Element #Vertex subobjectLevel = 1 ) ) else if (myPanel as string=="Unwrap_UVW:Unwrap UVW") then( myPanel = modpanel.getCurrentObject(); if subObjectLevel == 2 then( myPanel.edgeToVertSelect() ) if subObjectLevel == 3 then( myPanel.faceToVertSelect() ) subobjectLevel = 1 ) ) macroScript rToEdge category:"Robot" toolTip:"Convert Selection To Edge" ( myPanel = "" selObjects = 0 objectCase = case ($ as string) of ( "undefined":selObjects = 0 "$selection":selObjects = $.count default:selObjects = 1 ) if selObjects == 1 then( myPanel = modpanel.getCurrentObject() ) if (myPanel as string== "Editable Poly" )then ( if subobjectLevel == 1 then ( $.EditablePoly.ConvertSelectionToBorder #Vertex #Edge subobjectLevel = 2 ) if subobjectLevel == 3 then ( $.EditablePoly.ConvertSelectionToBorder #Border #Edge subobjectLevel = 2 ) if subobjectLevel == 4 then ( $.EditablePoly.ConvertSelectionToBorder #Face #Edge subobjectLevel = 2 ) if subobjectLevel == 5 then ( $.EditablePoly.ConvertSelectionToBorder #Element #Edge subobjectLevel = 2 ) ) else if (myPanel as string=="Unwrap_UVW:Unwrap UVW") then( myPanel = modpanel.getCurrentObject(); if subObjectLevel == 1 then( myPanel.vertToEdgeSelect() ) if subObjectLevel == 3 then( myPanel.faceToEdgeSelect() ) subobjectLevel = 2 ) )You might need to turn on Keyboard Shortcut Override for the Edit poly sub-object shortcuts to override some main 3dsmax shortcuts that might be interfering.
Also check out the "Step Build" tools in Graphite Modeling Tools, turn it on:
Hold ctrl and click on polys to delete them but leave the verts.
Hold alt and click on polys to remove polys and verts