C4D打孔脚本(MakeHole.CSC)

2015-01-22 01:37 发布 | 作品版权归原作者所有,仅供参考学习,禁止商业使用!

插件脚本 /[建模辅助]
1388 4 0
C4D打孔脚本(MakeHole.CSC)
C4D打孔脚本(MakeHole.CSC) - C4D之家 - cinema4d_-2015-01-22-01.09.47.jpg

非常好的打洞脚本,可惜C4D R16用不了,国外C4D网站(c4dnetwork)上有讲支持R12,放出来如有还在用12的同学可以去用。
脚本代码放出来,有能力的朋友,改一下吧,改成R16的也好。
  1. if(!IsCommandChecked(12187)) return;

  2. var op = doc->GetActiveObject();
  3. if(!op) return;

  4. if(op->GetType()==Opolygon)
  5. {
  6. var bc = new(BaseContainer);

  7. bc->SetData(MDATA_EXTRUDE_OFFSET, 0);
  8. bc->SetData(MDATA_EXTRUDE_PRESERVEGROUPS, TRUE);
  9. SendModelingCommand(ID_MODELING_EXTRUDE_TOOL, NULL, op, bc, MODIFY_POLYGONSELECTION);

  10. bc->SetData(MDATA_CONVERTSELECTION_LEFT, 2);
  11. bc->SetData(MDATA_CONVERTSELECTION_RIGHT ,0);
  12. SendModelingCommand(MCOMMAND_CONVERTSELECTION, NULL, op, bc, MODIFY_POINTSELECTION);

  13. CallCommand(1015924); // Collapse ID_MODELING_COLLAPSE_COMMAND
  14. SendModelingCommand( MCOMMAND_SELECTALL, NULL, op, bc, MODIFY_POLYGONSELECTION);

  15. var saveselection = op->GetPointSelection();
  16. var i, collapsedpoint;
  17. var select = op -> GetPointSelection();

  18. for (i = 0; i < op->GetPointCount(); i++) {
  19. if (select->IsSelected(i)){
  20. collapsedpoint = i;
  21. }
  22. }

  23. SendModelingCommand(MCOMMAND_SELECTGROW, NULL, op, bc, MODIFY_POINTSELECTION);

  24. var found = 0;
  25. var selectedpoint = new(array,op->GetPointCount());
  26. var select = op -> GetPointSelection();

  27. for (i = 0; i < op->GetPointCount(); i++) {
  28. if (found >= select->GetCount()) break;
  29. if (select->IsSelected(i)){
  30. selectedpoint[found] = i;
  31. found++;
  32. }
  33. }

  34. var beveldistance = 0;
  35. for(i = 0; i < found; i++) {
  36. beveldistance += vlen(op->GetPoint(selectedpoint[i]) - op->GetPoint(collapsedpoint));
  37. }

  38. op->SetPointSelection(saveselection);

  39. bc->SetData(MDATA_BEVEL_OFFSET2 , (beveldistance / (found-1) ) /3);
  40. SendModelingCommand(ID_MODELING_BEVEL_TOOL, NULL, op, bc, MODIFY_POINTSELECTION);
  41. SendModelingCommand(MCOMMAND_SELECTINVERSE, NULL, op, bc, MODIFY_POLYGONSELECTION);
  42. SendModelingCommand(MCOMMAND_DELETE, NULL, op, bc, MODIFY_POLYGONSELECTION);
复制代码





B Color Smilies

Comment :4

插件脚本
软件性质:
适用版本: C4D R15 - C4D 2026
软件版本: C4D R12
系统平台: Win MAC
软件语言: 英文
插件来源: https://www.c4d.com.cn/c4dsoft.html

相关推荐

百套精美Kitbash3D模型专题合集下载
时尚卡通办公室人物C4D立体图标工程下载Cinema 4D Fashion Cartoon Office Character 3D Icon Project Download
C4D科技新闻片头电视栏目频道包装动画工程下载Cinema 4D Technology News Headline TV Program Channel Packaging Animation Project Download
关闭

C4D精选推荐 /10

知识
问答
快速回复 返回顶部 返回列表