Vertex welder

2 votes
Date Updated: 

Apply with one clic a vertex weld on an editpoly, with a 0.001 threshold.

No matter if there are some modifier.

vertex weld

If you want to change the default position of the script window, edit the .ms and change [x,y] values of pos:[85,385] .

Additional Info: 

After running the script, you'll find the category "Vinc3rz tools" in the customize menu.

All contributions are welcome.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Vinc3r's picture

script update

script update

Vinc3r's picture

i will include this little

i will include this little change in my script.
I find strange to use this high value, do you take care of your scene scale ? Or maybe it is usefull when you use inch ? (i'm not familier with this unit) :)

MaximuM's picture

Works fine now with higher values :)

Seems to work fine now with values ranging from 0.001 to 100 :)

MaximuM's picture

Doesn't work when not collapsed to Editable poly

I found that your script doesn't work with non editable poly objects.
For example, create a plane, add an Edit Poly modifier on it and try to run your script: it won't do anything unless you actually convert it into an editable poly before.
Just to let you know.

MaximuM's picture

Modified it to work with higher values

I modified your script a bit to have it working between 0.001 and 100 values.
I am not an expert at all with Maxscript so I hope I did not bug it but, so far, it seems to work :)

macroScript weld
category:"Vinc3rz tools"
global weldDialog
global weldTreshold = 0.001
global arrTresh = #(.001,.01,.1,1,10,100)

try (destroyDialog weldDialog) catch()

rollout weldDialog "Weld" width:78 height:48
button btnWeld "Weld" pos:[2,24] width:74 height:20
spinner spnValue "" pos:[2,4] width:60 height:16 range:[0.001,100,0.1] scale:0.1
dropdownList ddlPresets "" pos:[60,2] width:16 height:21 items:#("0.001", "0.01", "0.1","1","10","100")
--label lblInfo "nothing to say" pos:[4,47] width:74 height:15
on btnWeld pressed do
for o in selection do weldMyFuckingsVertex o spnValue.value
on ddlPresets selected itm do
spnValue.range = [.001,100,arrTresh[itm]]
print spnValue.value
CreateDialog weldDialog pos:[85,385] style:#(#style_titlebar, #style_toolwindow, #style_sysmenu)

function weldMyFuckingsVertex o weldTreshold =
if(classOf o==Editable_Poly) then
o.EditablePoly.SetSelection #Vertex #{1..(o.verts.count)}
o.weldThreshold = weldTreshold
o.EditablePoly.weldFlaggedVertices ()
o.EditablePoly.SetSelection #Vertex #{1..1}
--lblInfo "not editpoly !"

MaximuM's picture

Set welding value higher than 1 ??

Thank you so much for this great script, it is a real time saver !

But I'm surprised I can't set values higher than 1 ... is it normal ?

thhm's picture

Works great in 2014!

Just what I needed for those nasty rhino imports:)

airbrush's picture

works great now...thanks for

works great now...thanks for the addition of the dropdown box options, nice touch...will be using this all the time.

Vinc3r's picture

to > airbrush

thanks for the report, i think it's now works

Vinc3r's picture

It's now select only vertex

It's now select only vertex #1 after the weld ;) (i will try to find how unselect all)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.