Rhino(犀牛)中国技术支持与推广中心

标题: 求救救命,研究top3d书遇到奇怪问题『关于Trim的问题』 [打印本页]

作者: drinkmilk    时间: 2009-5-23 20:12
标题: 求救救命,研究top3d书遇到奇怪问题『关于Trim的问题』
简单来说,这个问题是,用曲线同时修改相邻两个面,然后用轨道选轨道。
我的问题症状:我在做top3d出的那本书时,做第一个实例,熨斗,做到,用一个类似椭圆的东西来在熨斗中间开一个大洞,然后用sweep2命令遇到的。,于是研究。
1.我发现:用trim命令在两个曲面缝隙那用,开洞后,用sweep2,或者,networksurface命令,发现原来是一整条的线,尤其是在用双轨命令的时候,选轨道,原本一整条的边缘分开两段,不能成一段,也就是不能用成功双轨,因为轨道不能到达指定的位置。为什么?第一个图是那个熨斗的情况,其他都是单独建立两个面,然后做一个椭圆,然后用trim命令,再用双轨选轨道来检验和研究是否还有没问题,求救 f.rar (216.17 KB)熨斗犀牛文件
下载次数: 3
11 小时前

[img=http://www.xuexiniu.com/attachments/month_0905/09052308375e89eb83940701a4.jpg]1.jpg[/img]下载 (31.27 KB)
这是做试验,建两个面放在一起,上面放一个椭圆
11 小时前

[img=http://www.xuexiniu.com/attachments/month_0905/0905230837d15d5e26c8d59a83.jpg]2.jpg[/img]下载 (34.72 KB)
用trim命令
11 小时前

[img=http://www.xuexiniu.com/attachments/month_0905/0905230837baa1ffe0c5fd8f2e.jpg]3.jpg[/img]下载 (27.65 KB)
用双轨命令,选轨道,不能选全,就是下面那里,有一段要分开选,这样就不能双轨了
11 小时前

[img=http://www.xuexiniu.com/attachments/month_0905/0905230837ff9f7ec3d2c293ec.jpg]4.jpg[/img]
作者: drinkmilk    时间: 2009-5-23 20:13
双轨命令出现后点后面括号里的--------连续选边缘
作者: drinkmilk    时间: 2009-5-23 20:14
sweep虽然可以解决,但是下部分,做熨斗的时候,用,network srf命令,这个
断线就不能正常生成曲面了。怎么解决?断线其实是surface edge, 是一个polyline,
选network的轨道时,不能选全条
作者: drinkmilk    时间: 2009-5-23 20:15
上面的是最新回复的
作者: Jessesn    时间: 2009-5-23 20:20
你被剪切的曲面是两个单独的曲面,所以剪切后当然也是两条独立的边缘。Rhino4的Sweep2指令支持使用复合边缘来作为Rail

输入完Sweep2指令后点选上图中的 ChainEdges 即可以选择多个独立的边缘为Rail

提示:关于更多的Sweep2的指令请参考下面的资料的Sweep2指令解释部分
http://tw.rhino3d.com/4/help/commands/sweeps.htm
作者: drinkmilk    时间: 2009-5-23 20:27
你被剪切的曲面是两个单独的曲面,所以剪切后当然也是两条独立的边缘,针对你这个说法,我想问的是,我的断线是在一个曲面上的边,我选得出断线是出现在选轨道的时候,我想问为什么?
作者: drinkmilk    时间: 2009-5-23 20:30
然后还有,我在做熨斗,手抓的下面部分,需要选那个边了,就出现断面,没办法正常生成曲面
作者: Jessesn    时间: 2009-5-23 20:41
原帖由 drinkmilk 于 2009-5-23 20:27 发表
你被剪切的曲面是两个单独的曲面,所以剪切后当然也是两条独立的边缘,针对你这个说法,我想问的是,我的断线是在一个曲面上的边,我选得出断线是出现在选轨道的时候,我想问为什么?


因为你剪切曲线的Seam点的位置所致,请看下图


解决办法,使用 MergeEdge指令即可,我做个简单的Demo

作者: drinkmilk    时间: 2009-5-23 21:27
很感谢你啊,论坛主,希望以后能时常得到你这么好的解答,我自己专研了,其实也可以用duplicate edge(在曲线工具那里)复制一条出来,然后就能选了,但是曲线的连续性不能做到全部是g2水平。
作者: Jessesn    时间: 2009-5-23 21:29
原帖由 drinkmilk 于 2009-5-23 21:27 发表
很感谢你啊,论坛主,希望以后能时常得到你这么好的解答,我自己专研了,其实也可以用duplicate edge(在曲线工具那里)复制一条出来,然后就能选了,但是曲线的连续性不能做到全部是g2水平。


对于Network、Sweep2等指令来说,如果你使用的是Curve作为输入条件,而不是Edge,是不能有提供G1 G2的衔接选项的,边缘的衔接关系只能G0,当然后续你可以使用MatchSrf来完善衔接关系
作者: drinkmilk    时间: 2009-5-23 21:32
针对你的说法,是因为seam点所致的,我想问的是,在top3d那本书那里,没有提到过seam点是什么,能否详细地解析一下seam点,1.为什么它会出现?什么时候,什么情况下它就出现?2它的影响是什么?3.我发现新的情况,我开线条的节点时候,我发现那个seam点位置其实是有个节点的,我不知道它是什么时候出现的,然后呢,在这里,我又想问的是,它在原来椭圆的时候,是否已经存在?我很想了解它的原理。
我是搞建筑设计的,最近我们设计开始用到犀牛,很想把犀牛给研究透了,用在建筑上,希望版主能够解答
作者: Jessesn    时间: 2009-5-23 21:40
原帖由 drinkmilk 于 2009-5-23 21:32 发表
针对你的说法,是因为seam点所致的,我想问的是,在top3d那本书那里,没有提到过seam点是什么,能否详细地解析一下seam点,1.为什么它会出现?什么时候,什么情况下它就出现?2它的影响是什么?3.我发现新的情况,我 ...


Top3d的书没有提到,楼主可以出问问作者为什么没有介绍,如果我没记错,关于Seam的知识Top3D兄是有介绍的。
Seam点即为一条曲线的起点与终点的重合点,Knot点总会在分布在曲线的首尾两点,所以封闭曲线的Seam
点也是Knot点的位置,其他几个问题推荐楼主一本葵花宝典,这里面的内容搞透了,Rhino你也就透了:)
http://tw.rhino3d.com/4/help/rhinov4.htm
作者: drinkmilk    时间: 2009-5-23 21:50
多谢你楼主,top3d有说过这个seam点,是我的问题,但是top3d好像已经不在网上回答问题了,我去过他们论坛,然后我看过他的书的解析,说一个开放曲线有两个端点,就是起点终点,既是起点也是终点,就seam点,结合点,它一般不会显示出来,但可以捕捉,而且还可以调整它的位置,这样说,我出现问题的地方那条线,就是一个开放曲线,我用trim,将一个封闭的曲线——椭圆变成了以个开放曲线,所以出现这个问题,这个理解对吗?
作者: yumao    时间: 2009-5-23 21:53
请楼主翻到书的85页……
作者: Jessesn    时间: 2009-5-23 21:54
原帖由 drinkmilk 于 2009-5-23 21:50 发表
多谢你楼主,top3d有说过这个seam点,是我的问题,但是top3d好像已经不在网上回答问题了,我去过他们论坛,然后我看过他的书的解析,说一个开放曲线有两个端点,就是起点终点,既是起点也是终点,就seam点,结合点, ...


开放的曲线怎么会起点和终点在同一个位置呢,汗!!Seam点只会在出现在封闭曲线里面。看我8楼的第一个图就明白了
作者: drinkmilk    时间: 2009-5-23 22:05
楼主,它的书中式这样写的,一条开放曲线有两个端点:起点和终点,而一条封闭的曲线则没有起点和终点,因为它们重合了,既是起点又是终点,在rhino里我们把它称为结合点seam。
所以你说的那个   开放的点怎么会起点和终点在同一个位置呢,Seam点只会在出现在封闭曲线里面。
seam点就是起点和终点在同一个位置咯,而开放的点,是好像没有这个定义吧,然后呢,我认为,那个椭圆本身是一个封闭曲线,然后他在两个面缝隙那里trim后,就变化了,变成一个开放曲线,于是这个seam点出现了。但我又思考,那个椭圆真的是没有seam点吗?按定义来看,是一个终点起点的结合点,那椭圆也有这样的点吧,应该有。这样看来,我就奇怪了,那我这个trim后的seam点式怎么出现,什么情况出现,就很难解析了,望楼主指点?
作者: Jessesn    时间: 2009-5-23 22:13
原帖由 drinkmilk 于 2009-5-23 22:05 发表
楼主,它的书中式这样写的,一条开放曲线有两个端点:起点和终点,而一条封闭的曲线则没有起点和终点,因为它们重合了,既是起点又是终点,在rhino里我们把它称为结合点seam。
所以你说的那个   开放的点怎么会起点 ...


楼主,你好好看那本书吧,遇到有些看不明白的地方。跳过去,然后再回过来看,会好很多
你这样“钻”,会很费力的,很是佩服你的精神,看完后面Top3D讲的NURBS知识,以及
他解释Trim指令的章节(注意后面提到的Cos线)你就明白了,再送一句话,心急吃不了热豆腐
作者: 深蓝Ansen    时间: 2009-5-23 22:17
标题: 回复 17楼 Jessesn 的帖子
呵呵,J大的解释很是精辟啊,TOP3D的书很牛的
作者: 深蓝Ansen    时间: 2009-5-23 22:23
楼主怕是还没参透吧
作者: Jessesn    时间: 2009-5-23 22:49
估计楼主是没有搞明白这个问题所在,我再解释下Trim是如何产生的就明白了
这里要提到一个概念 COS,相交线

如下图所示,在空间有一个曲面b,与一条曲线a


我们想使用曲线a来Trim曲面b,其实这个Trim动作之前会由曲线A,挤出一个曲面c


然后由曲面C与曲面b的相交线进行分离被剪切的曲面b,这样曲面b就比分离成两块如下图


然后我们再来查看被Trim或分离的曲面的边缘情况(使用指令ShowEdges)


注意看上面的图,曲线a挤出的曲面的那条途中过C点黑线(曲面的Seam线),
与曲面B相交的位置会多出一个点,这个点的位置完全由曲线a的Seam点所决定
也就是图中那个白色箭头的点的位置,
楼主在回头看看我8楼的第一张图片,就明白曲线Seam点的位置如何来影响被剪切
曲面的边缘的Seam点的位置
作者: yequ    时间: 2009-5-23 22:59
现在虽然还不理解,但看到J大的这种精神让我很热血沸腾!!!
作者: drinkmilk    时间: 2009-5-23 23:14
哦,我终于明白了,其实不是死钻研,其实,我遇到这个情况,我已经往后看了书,但因为理解命令的程度不是太深,遇到情况,不能达到融会贯通而已。所以详细问,我倒觉得这样问,真的可以理解这个原理了。我们新手看书,只是停留在书的文字陈述的理解,而因为实践经验不足,达不到举一反三。多谢你楼主,我已经完全明白了。其实如果这个seam点刚好在那个裂缝那里,tr的话,就不会有这个问题了。还是多谢楼主这么详细的解答和配图。
作者: dan880628    时间: 2009-5-24 00:30
我那时做的时候没遇到问题。。。。
作者: 那啥    时间: 2009-6-15 00:22
我被J大的热心感动了:crazy
作者: kkjunmei    时间: 2009-7-27 20:24
謝謝J老師!
作者: nicek3    时间: 2009-11-4 16:45
不错,看过,这本书还是不错的
  支持一个啊~




欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) Powered by Discuz! X3.2