--常用公用函数定义
fn isUsualObj obj = ( --是否为常规物体(非bip骨骼,非几何骨骼,可转换为多边形的,未被删除的max对象)
isValidObj obj and canConvertTo obj Editable_Poly and classof obj.baseobject !=boneGeometry and classof obj.baseobject!=Biped_Object
)
按名称选择,一样的写法,不同的就是那一句
on btn_sbName pressed do (
tlist=#()
for obj in $objects where isUsualObj obj do(
if findString obj.name (edt_sbName.text) !=undefined do append tlist obj
)
clearSelection ()
select tlist
)
按顶点数量选择
on btn_sbVertS pressed do (
tlist=#()
if spn_sbVert.enabled then val = spn_sbVert.value
else (
if $selection.count>0 then val = $selection[1].mesh.numverts
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numverts < val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbVertE pressed do (
tlist=#()
if spn_sbVert.enabled then val = spn_sbVert.value
else (
if $selection.count>0 then val = $selection[1].mesh.numverts
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numverts == val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbVertB pressed do (
tlist=#()
if spn_sbVert.enabled then val = spn_sbVert.value
else (
if $selection.count>0 then val = $selection[1].mesh.numverts
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numverts > val do append tlist obj
)
clearSelection()
select tlist
)
按面数选择
on btn_sbFaceS pressed do (
tlist=#()
if spn_sbFace.enabled then val = spn_sbFace.value
else (
if $selection.count>0 then val = $selection[1].mesh.numfaces
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numfaces < val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbFaceE pressed do (
tlist=#()
if spn_sbFace.enabled then val = spn_sbFace.value
else (
if $selection.count>0 then val = $selection[1].mesh.numfaces
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numfaces == val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbFaceB pressed do (
tlist=#()
if spn_sbFace.enabled then val = spn_sbFace.value
else (
if $selection.count>0 then val = $selection[1].mesh.numfaces
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numfaces > val do append tlist obj
)
clearSelection()
select tlist
)
加入checkbox对spinner的控制
on cb_Venable changed stat do (
spn_sbVert.enabled = stat
)
on cb_Fenable changed stat do (
spn_sbFace.enabled = stat
)
on cb_Venable changed stat do (
spn_sbVert.enabled = stat
)
on cb_Fenable changed stat do (
spn_sbFace.enabled = stat
)
on btn_sbVertS pressed do (
tlist=#()
if spn_sbVert.enabled then val = spn_sbVert.value
else (
if $selection.count>0 then val = $selection[1].mesh.numverts
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numverts < val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbVertE pressed do (
tlist=#()
if spn_sbVert.enabled then val = spn_sbVert.value
else (
if $selection.count>0 then val = $selection[1].mesh.numverts
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numverts == val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbVertB pressed do (
tlist=#()
if spn_sbVert.enabled then val = spn_sbVert.value
else (
if $selection.count>0 then val = $selection[1].mesh.numverts
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numverts > val do append tlist obj
)
clearSelection()
select tlist
)
---------------------------------------------------------------------------------------------
on btn_sbFaceS pressed do (
tlist=#()
if spn_sbFace.enabled then val = spn_sbFace.value
else (
if $selection.count>0 then val = $selection[1].mesh.numfaces
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numfaces < val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbFaceE pressed do (
tlist=#()
if spn_sbFace.enabled then val = spn_sbFace.value
else (
if $selection.count>0 then val = $selection[1].mesh.numfaces
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numfaces == val do append tlist obj
)
clearSelection()
select tlist
)
on btn_sbFaceB pressed do (
tlist=#()
if spn_sbFace.enabled then val = spn_sbFace.value
else (
if $selection.count>0 then val = $selection[1].mesh.numfaces
else return 0
)
for obj in $objects where isUsualObj obj do(
if obj.mesh.numfaces > val do append tlist obj
)
clearSelection()
select tlist
)
-------------------------------------------------------------------------------------------------
on btn_sbName pressed do (
tlist=#()
for obj in $objects where isUsualObj obj do(
if findString obj.name (edt_sbName.text) !=undefined do append tlist obj
)
clearSelection ()
select tlist
)
on btn_sbInstance pressed do (
tlist = #()
selArr = $selection as array
for obj in selArr where isusualObj obj do(
InstanceMgr.GetInstances obj &instances
join tlist instances
)
clearselection ()
select tlist
)
)