×

工业设计互动平台

手机短信,快捷登录

微信登录,快人一步

QQ登录

只需一步,快速开始

Rhino几种倒圆角失败的情况及解决方法

发布于 2008-3-3 19 点赞 190 评论 164653 浏览

0.前言

Rhino是由美国Mcneel公司出品的一款可应用于工业造型等多种领域的三维造型软件,虽然它的名气没有3DSMAX等软件那么大,但是它建模快捷,上手容易,软件规模较小,而且输出的模型可以用于其它造型软件,它的使用方法与著名软件AUTOCAD相似,它的界面采用四个视窗及菜单、工具条的方式,它的操作采取命令驱动方式进行,这些都使人感到它是吸取了多种软件好的地方,所以已经越来越受到广大设计人员的喜爱。

Rhino建模是基于NURBS曲线曲面的。NURBS的中文名称是非均匀有理B样条曲线(Non-Uniform Rational B-Splines),它是计算机图形学中一种描述曲线和曲面的数学方式。NURBS曲线和曲面相对于其它的图形表达数学模型有它优秀的地方,即它的局部控制性。当我们对曲线或曲面上的某个控制点进行局部调节时,不会影响到其它的部分,因此目前不少的三维造型软件都支持或采用这种建模方式,如3DSMAX、MAYA等。

Rhino建模虽然有其方便快捷的优点,但是在使用过程中也会发生一些意想不到的失败,比如倒圆角就是其中一个令人头痛的问题。本文旨在对建模中倒圆角常发生失败的情况作一个总结,并提出解决的方法,希望对设计人员能有所帮助。


1.由于构造曲面的截面线不适当而造成的倒圆角失败


在构造曲面时我们一般是通过先在一个视窗内绘制出一条平面曲线,然后通过Extrude拉伸而形成曲面。在构造这条曲线时,有时并不是一条线一次绘制完成的,而是绘制多次,因而由若干条曲线来组成的。如图1所示图形,它就是由三段曲线组成的。此时,在利用该曲线构造曲面时又分为以下几种情况:

[ 本帖最后由 yaya 于 2008-3-3 19:38 编辑 ]
2.gif
参与人数 2大洋 +2 收起 理由
1948958728 + 1
wx_yyl_tF9FE + 1

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩回复

文明上网理性发言、请文明用语

yaya | 设计师 | 发表于 2008-3-3 19:55:55
解决的方法:
1,将立体炸开为单个面,Copy圆柱面与立板面相交的交线;
2,用Point命令在该线的最下端加一个点对象,然后用该点将该曲线分离为两部分,如图9所示;
3,分别以两段弧线应用Pipe命令,两端的半径分别为8和0,然后将两个立体炸开,删除封闭它们的圆面,如图10所示;
4,利用这两个曲面作为剪切边将圆柱面与立面被曲面包围的部分都剪切掉,剪切时为了操作方便,可以先通过Intersect命令求出它们的交线,然后再利用交线作为剪切边来进行修剪,求出交线后要注意看其是否符合要求,若不符合可将控制点打开进行编辑;
5,利用BlendSrf命令在两个缺口间制作出倒圆角面,最后的效果如图11所示。
1.gif
2.gif
0 回复

举报

倾风 · 发表于 2012-7-24 01:21 点评

很棒的想法,LZ强大

遗落的满地记忆 | 设计主管 | 发表于 2018-12-1 13:40:45
ourdreams 发表于 2008-9-15 21:12
4.并交差运算后带来的曲面分块造成倒圆角失败
这个还想不到怎么快速解决,看来还是按楼主意思拉一个L形曲 ...

十年后看到这个帖子依旧觉得很赞!不过关于楼主所举例的两个布尔运算合并后的多重曲面倒角问题,我想到的解决方法是将共同的面进行合并,然后再选中三边进行FilletEdge的时候是不会出现圆角失败的。
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:38:25
1)直接将所有曲线同时选中进行拉伸形成曲面,
这时形成的曲面是多段的,为了演示倒圆角,可在其上部加一盖子,然后用FilletSrf对它们进行倒圆角,这时会发现,周围的面不能同时都选中,只能选中其中一段,这时倒出的圆角只是其中一段曲面与顶面的倒圆角,如图2所示,如果再继续对周边其它面进行倒圆角,会发现倒角接头处无法光滑连接。
3.gif
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:38:41
2)若是在拉伸前先将所有曲线通过Join命令连接到一起,然后再象上面那样进行倒圆角,也不能解决问题,最后的结果也同上。

3)若是在拉伸前,先将各段曲线进行Match,并在Continuity中勾选Tangency,同时也勾选Average Curves、Preserve other end、Join,然后再经过拉伸形成曲面,这时整个曲面已经成为一个曲面了,可是进行倒圆角后却发生如图3所示的倒角错误。
即便是在Match时,选中Curvature和Merge,最后也会发生同样的错误。

解决方法:第一种情况在建模时应该尽可能的避免,除非有特殊需要。
第二、三种情况主要是因为生成的曲线控制点数目对倒圆角有影响,此时有二个解决方法,一个是所有的面都填加起来,组成一个封闭的多段面,在Rhino中又称为实体,然后用实体倒圆角的命令FilletEdge选择棱进行倒圆角,如果要制作的对象本身就是封闭的,那这种方法更为方便

4.gif

第二个方法,则是对Match后的曲线,应用Rebuild命令进行重建,为了使得重建后的曲线与原曲线相同,控制点数应尽量多设置一些,如本例设控制点数为20,阶数为3,重建后的曲线控制点数不但增加了,而且显得也均匀了。这时再进行倒圆角的操作,就可以得到满意的结果

[ 本帖最后由 yaya 于 2008-3-3 19:53 编辑 ]
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:39:14
第二个方法,则是对Match后的曲线,应用Rebuild命令进行重建,为了使得重建后的曲线与原曲线相同,控制点数应尽量多设置一些,如本例设控制点数为20,阶数为3,重建后的曲线控制点数不但增加了,而且显得也均匀了。这时再进行倒圆角的操作,就可以得到满意的结果
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:54:29
2.倒圆角时倒角面发生自相交而造成的失败

2.gif

如图4所示对象,箭头所指处有三条棱交汇,目的是要对三条棱都倒圆角,现在先倒好了一条棱,然后要再倒另外两条棱,可在倒的时候却发生用原来的半径值无法进行倒圆角的情况,除非将倒圆角半径设置小到一定的程度。

3.gif
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:54:45
这种现象发生的原因是因为在倒圆角时,系统实际上是在两个面之间以倒圆角半径绘制一个与两个面都相切的圆柱面,如图5所示,然后再将多余的部分剪切掉。
这个圆柱面在转折处不能发生自交,否则就会失败。因此倒圆角能否成功与倒圆角的半径和两面相交的棱的曲率有关。前述例子由于先进行了一次倒角,二次倒角时在箭头所指处以前面的倒角半径来倒角时圆柱面会发生自交,所以倒圆角失败。



解决的方法是:如果一定要使三条棱倒圆角的半径都相同,应该在倒圆角之前使其所有的面完全封闭或最初在制作该模型时就将其当作立体来做,然后使用立体中的倒圆角命令FilletEdge,将三条棱同时选中,进行倒角,效果如图6所示。
4.gif
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:55:13
3.倒角面的高度发生了变化而造成不能以同一半径倒圆角

如图7所示有这样一个模型,要在圆柱与立板间倒一个半径为8的圆角。如果直接用FilletEdge倒圆角,则将会失败,如图8所示。
1.gif
2.gif
3.gif
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:56:30
4.并交差运算后带来的曲面分块造成倒圆角失败

如图12所示立体,是由两个立方体并运算而成的。在对三条汇聚的棱倒圆角时,发生如图13所示的撕裂现象。

解决方法:
该现象出现的原因是立板的侧面与水平板的侧面实际上是两个面,在用FilletEdge倒圆角时,两个面分别要与其它面进行倒圆角,所以在此处撕扯开了。在这种情况下只能通过修补的办法来创建完美的圆角面,修补的步骤如下:
1.gif
2.gif
3.gif
0 回复

举报

yaya | 设计师 | 发表于 2008-3-3 19:56:44
1,首先将立体炸开,绘制如图14 所示的一个圆;
2,然后以此圆作为剪切边将这个角上的面剪切掉;
3,利用Patch命令,选择缺口处的四条边,调整Stiffness为0.1,这时就可以得到满意的结果了。

如图15所示。


实际上在制作这个立体时,还可考虑采取另外一种作法:先绘制出一个L形的平面图形,然后将此图形进行拉伸形成这个立体,这时再对其进行倒圆角就不会发生错误了。

综上所述,本文虽然是通过一些简单的模型来介绍倒圆角失败的情况及解决方法的,但对于复杂的模型,在建模时出现倒角失败主要也是这几种情况,也可以采取同样的方法加以解决。

参考文献:
1, John Wilson,Digging Deeper Into Rhino Surfaces,

2,Eiad Said Dahnim ,Fillet a box corner,

3,ACE工作室,犀牛Rhino3D魔典,北京希望电子出版社
0 回复

举报

wei5504 · 发表于 2013-6-18 14:17 点评

有缝隙哦,,请问是怎么回事?

PP小涛 · 发表于 2011-6-12 13:17 点评

好帖啊好帖

jack068288 | 设计助理 | 发表于 2008-3-16 21:22:06
原来如此,以后会避免了,谢谢
0 回复

举报

zheyong01 | 实习生 | 发表于 2008-3-17 10:23:03

帮我看看怎么解决!!!

怎么也弄不太明白,分了好几个面之后才出来的,
倒角问题副本.jpg
0 回复

举报

yanxi · 发表于 2016-8-17 17:19 点评

圆角圆大了吧

zheyong01 | 实习生 | 发表于 2008-3-18 07:47:00
希望楼主给想想解决的办法!!!
0 回复

举报

zheyong01 | 实习生 | 发表于 2008-3-19 07:48:33
[s:13] [s:13] [s:13] 怎么还不来啊,楼主干什么去啦?
0 回复

举报

feiyun4200 | 设计助理 | 发表于 2008-9-9 16:58:35
好东西,会记住的
0 回复

举报

clamworm | 设计助理 | 发表于 2008-9-15 02:10:04

这样吗?

2008-09-15_015054.jpg
老帖中有精华
0 回复

举报

cmlanlove | 体力透支 | 发表于 2008-9-15 10:46:06
能有示意图就好了 这样说 看不明白
0 回复

举报

ourdreams | 资深设计师 | 发表于 2008-9-15 21:00:31

楼主提出的问题应该容易解决的啊

楼主的提出的几个例子,用FilletEdge命令都能很好解决,例如三个面相交的棱角的倒角,不用实体化,只要组合起来再用FilletEdge就好了。有高度差的面或被边缘截断的棱线的倒角,不需要用渐变的pipe来裁减造倒角边的两端,可以在快要到边缘附近添加控制点,缩小半径为0,这样倒角过渡就会很自然了。我是这么试验的,感觉实用,不知道有没有误会lz的思想。新手胆大发言,请前辈指教。
0 回复

举报

flycity · 发表于 2015-3-24 23:15 点评

filletedge 这个命令本身就是实体倒圆角,如果没有实体化单纯的三个面这个命令根本用不了

Jane_Sentina · 发表于 2013-8-23 17:35 点评

你说“在快要到边缘附近添加控制点,缩小半径为0,这样倒角过渡就会很自然了。”不是很懂怎么操作 可以详细的讲解一下吗?最好图文并茂

ourdreams | 资深设计师 | 发表于 2008-9-15 21:12:38
4.并交差运算后带来的曲面分块造成倒圆角失败
这个还想不到怎么快速解决,看来还是按楼主意思拉一个L形曲面为实体这个最直接,但是这个方法在其他地方不使用,好些多重曲面(或实体)都是靠并出来的

[ 本帖最后由 ourdreams 于 2008-9-15 22:00 编辑 ]
0 回复

举报

遗落的满地记忆 · 发表于 2018-12-1 13:40 点评

十年后看到这个帖子依旧觉得很赞!不过关于楼主所举例的两个布尔运算合并后的多重曲面倒角问题,我想到的解决方法是将共同的面进行合并,然后再选中三边进行FilletEdge的时候是不会出现圆角失败的。

小海波 | 实习生 | 发表于 2008-9-16 21:49:30
非常感谢楼主,真是帮了一个大忙!都困扰了我多天了!
0 回复

举报

hbhuchunlin | 设计助理 | 发表于 2008-9-29 23:10:54
多谢楼主!
0 回复

举报

熊懿 | 体力透支 | 发表于 2008-9-30 16:52:57
学习了!!!
0 回复

举报

wakechina | 实习生 | 发表于 2008-10-3 19:31:52
辛苦了LZ。
0 回复

举报

shyv | 设计助理 | 发表于 2008-10-12 16:02:44
看不懂呢!!怎么才能把多余的去掉啊``?
0 回复

举报

隐忍人 | 实习生 | 发表于 2008-10-14 00:57:47
[s:74]
0 回复

举报

hujungpeng | 实习生 | 发表于 2008-10-15 10:23:35
多谢楼主!太有才了![s:77]
0 回复

举报

pi3ge | 设计助理 | 发表于 2008-10-17 10:16:00

回复 12楼 zheyong01 的帖子

你的倒角太大了,超过了边上的倒角,如果一定要倒,就用管把边切了,然后用blendsrf连接面
0 回复

举报

look920 | 设计助理 | 发表于 2008-11-23 12:39:45
3Q ...分享;//
0 回复

举报

hateyoumyself | 设计助理 | 发表于 2008-11-23 22:31:54
倒角,始终是个纠结的问题~[s:71]
0 回复

举报

dongfan | 设计助理 | 发表于 2008-11-25 19:35:10
辛苦楼主咯  希望以后能再多发贴[s:78]
0 回复

举报