NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12889|回复: 4

[个人作品] maya小抠洞代码,挺好用

[复制链接]
发表于 2011-3-23 10:34:10 | 显示全部楼层 |阅读模式
本帖最后由 licml 于 2011-3-23 10:37 编辑

之前建模的时候,总是手动extrude,然后调整点之类的,总会因为坐标系的问题出现问题,晚上就写了个extrude抠洞的小代码,很简单,但是勾出来的效果还不错,呵呵。

使用方法:
选择面,运行代码,输入scale的比例即可。

//scale 一次(主要是把面缩放extrude到一个范围):

string $faces[] = `filterExpand -ex true -sm 34`;
int $n=`size($faces)`;
string $buttonRespose = `promptDialog -title "licml"
-message "input scale factor"

-button "OK"
-button "Cancel"
-defaultButton "OK"`;
float $factor = `promptDialog -q`;

int $i=0;
for(; $i<$n; $i++)
{
$face=`polyExtrudeFacet -kft false -lsx $factor -lsy $factor $faces[$i]`; //z轴垂直于平面
}

1a.jpg

1b.jpg



//scale 成洞(在面缩放extrude的范围内,进行抠洞):

string $faces[] = `filterExpand -ex true -sm 34`;
int $n=`size($faces)`;
string $buttonRespose = `promptDialog -title "licml"
-message "input scale factor"
-button "OK"
-button "Cancel"
-defaultButton "OK"`;
float $factor = `promptDialog -q`;

int $i=0;
for(; $i<$n; $i++)
{
//$face=`polyExtrudeFacet -kft false -lsx 0.99 -lsy 0.99 $faces[$i]`; //z轴垂直于平面
$face=`polyExtrudeFacet -kft false -lsx $factor -lsy $factor -ltz -0.06 $faces[$i]`; //z轴垂直于平面
polyExtrudeFacet -kft false -ltz -0.01 $faces[$i];
polyExtrudeFacet -kft false -ltz -0.05 $faces[$i];
}

select -r $faces;
//extrude后,面的名称还是以前的名称;
delete;


2a.jpg

2b.jpg

评分

参与人数 2强度 +5 照度 +52 收起 理由
divedragon + 2
panhao1 + 5 + 50

查看全部评分

发表于 2011-6-28 23:40:06 | 显示全部楼层
好东西  来学习~~
发表于 2011-5-3 10:15:04 | 显示全部楼层
跟你學習了!!趕完模型再來研究~~~
发表于 2011-3-23 14:00:04 | 显示全部楼层
确实不错
发表于 2011-3-23 11:51:39 | 显示全部楼层
尝试了一下,不错啊~~

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 ) 辽公网安备21021102000973号

GMT+8, 2026-7-3 16:38 , Processed in 0.205698 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表