多语言展示
当前在线:697今日阅读:168今日分享:49

用3dsmaxscript脚本快速提取多边形的线面和元素

通常情况下提取物体的线在四元菜单(就是鼠标右击弹出的界面)中提取线很麻烦,特别是遇到Editablemesh提取线就更麻烦了,此外还有多次分离表面物体的面或者元素,这些命令能不能一个键搞定呢,于是写了一个小脚本搞定,不仅一个按键可以分离poly的线面元素,对于mesh也可以分离线面和元素分离,是不是很节省操作流程
工具/原料
1

DetachCspline脚本下载链接https://pan.baidu.com/s/1ps8tzsRNHteBMVtogIxUEg

2

DetachCspline脚本,3dsmax

方法/步骤
1

脚本放入2个文件夹,第一个位置:将下载的DetachCspline脚本放置在3dsmax的脚本文件夹下面C:\Program Files\Autodesk\3ds Max 2012\Scripts第二个位置:将下载的DetachCspline脚本再放置在C:\Program Files\Autodesk\3ds Max 2012\UI\MacroScripts下。其他版本也是一样的关键是在MacroScripts和Scripts文件夹里面

2

设置快捷键,重新!!!打开max,找到菜单栏customize>>customize user interface;进入对话框后在选项keyboard>>category下拉框下面找到DetachCspline,这个就是刚刚放进去的脚本;我设置的快捷键是D

3

macroScript DetachCspline category:'DetachCspline' toolTip:'DetachCspline'( for a in selection  do ( if classof a==Editable_Poly and subobjectLevel==5 then (macros.run 'Editable Polygon Object' 'EPoly_Detach') else if classof a==Editable_Poly and subobjectLevel==4 then (macros.run 'Editable Polygon Object' 'EPoly_Detach') else if classof a==Editable_Poly and subobjectLevel==3 then(macros.run 'Editable Polygon Object' 'EPoly_ShapeFromEdges') else if classof a==Editable_Poly and subobjectLevel==2 then(macros.run 'Editable Polygon Object' 'EPoly_ShapeFromEdges') else if classof a==Editable_Mesh and subobjectLevel==5  then (macros.run 'Editable Mesh Object' 'EMesh_Detach') else if classof a==Editable_Mesh and subobjectLevel==4  then (macros.run 'Editable Mesh Object' 'EMesh_Detach') else if classof a==Editable_Mesh and subobjectLevel==2  then (macros.run 'Editable Mesh Object' 'EMesh_ShapeFromEdges') else if (classof a==SplineShape and subobjectLevel == 3 ) then (macros.run 'Editable Spline Object' 'ESpline_Detach_Spline') else if (classof a==SplineShape and subobjectLevel == 2) then (macros.run 'Editable Spline Object' 'ESpline_Detach_Segment') ) )也可以考入源码,后缀名保存为ms格式;全名为DetachCspline.ms

4

使用方法:选择要分离的线或者面或者轮廓或者元素后点击 菜单栏maxscript>>run script运行脚本即可如果设置了快捷键可以直接按快捷键,我的是D所以可以使用D

推荐信息