我想创建一条路线,现在已经拥有了横断面和路线。
尝试1:一条路线和一个横断面。
结论:在路线终点处,横断面并未竖直,存在错误。
尝试2:一条路线和两个横断面。
可以看到,路线的起终点处的横断面都处于竖直状态,似乎可以了。
但是,我剖切了几个断面,作比较后发现截面并不相同。
1、想要实现我的功能,是否使用这个电池?
2、我电池的使用是否有问题?
测试 (1).gh (9.3 KB)
我想创建一条路线,现在已经拥有了横断面和路线。
尝试1:一条路线和一个横断面。
结论:在路线终点处,横断面并未竖直,存在错误。
尝试2:一条路线和两个横断面。
Sweep1 会保持断面与路径线之间的夹角关系,但无法保证与YZ 剖面的关系,如果你这里需要与YZ平面一致,你需要使用 ExtrudeAlongCrv
关于 ExtrudeAlongCrv 的使用方法,请参考
http://docs.rhino3d.com.cn/gh/Surface/668
如果前面的回复, Sweep1 会保持断面与路径线之间的夹角关系,但无法保证与YZ 剖面的关系。如果存在多个断面,会存在断面之间的过渡值,在Help 中对 Sweep1 的运行原理与规则也有详细解释,详情请浏览
https://docs.mcneel.com/rhino/7/help/zh-cn/index.htm#commands/sweep1.htm
我想我可能没有描述清楚。
我目的是制作一个路线实体。路线实体一般由一个横断面加一条路线描述。横断面怎么来的呢,是沿着路线的法线竖直的切一刀得到的。这就有两个要点:
1、剖切时候,平面是立着的。即剖切的平面在水平面上的投影是一条直线。
2、剖切的时候,【剖切面在水平面上的投影】和【路线在水平面上的投影】是垂直的,这样才叫横断面。
这个正是 ExtrudeCrvAlongCrv 建立曲面的方法 (Sweep1 并不是这样),所以我前面告诉你需要使用 ExtrudeAlongCrv , 在 Grasshopper 中对应的是 Extrude Along , 关于 ExtrudeCrvAlongCrv 指令的详细解释,请参考 Help 这里
https://docs.mcneel.com/rhino/7/help/zh-cn/index.htm#commands/extrudecrvalongcrv.htm
BTW,你打开我前面回帖中的参考 GH 范例就会发现,能刚好验证 Extrude Along 能满足你的需求
我估计这是一种新的扫掠方式。它的自由度限制在【Extrude Along 】和【Sweep1】之间。截平面的Z轴仅在某平面内进行旋转,不是【Extrude Along 】的固定不变,也不是【Sweep1】的三维变化。
测试2.gh (17.3 KB)
使用多个断面线来拟合,是找不到方法时的无奈之举。如果采用此方法,为了保证足够的结果近似,曲线越复杂,我设置的断面线也就越多。
这并未解决我的问题。
你这段说的没错
本来软件内的东西就都是这样的
向着一个固定的目标拟合,拟合得好不好取决于你舍得给多少控制点,取决于拟合的目标有多复杂。
我想问你一下,要求曲线上无穷多个纵向面的形状全部相等。它的实际意义是什么?你想过吗?
他的理论意义没错,如果画剖面图,不管你切在哪里,轮廓都一样
但是建模真的只是为了画图方便吗?是否把逻辑关系搞反了
你要明确的是自己这个需求底层的目的
他的建造逻辑是什么?每个剖面一样可以让建造的模具数变少吗?显然还是不行的
因为每个区域的曲率不同。你的板材还是得有多种模具。
但如果这个构筑物最后会有剖面方向的框架(在这里就是一个个截面轮廓),如果你希望框架本身的模具数量尽量小,那么针对他的优化才是有意义的
而这个框架是否值得优化还得看他自己的加工方式,如果是型材切割,则意义不大,如果是单元式整体生产,才有意义。
而这个单元式的密度也决定了你现阶段制作的思路。
如果这个条曲线上总计只会出现10个单元框架,那么你可以直接用10个截面的sweep1操作
以上只是一个可能的例子,具体得看你的实际情况
你希望在任意位置切剖面图,都是一样的形状,那我可以理解为,在一个允许的公差范围内,offset一条新的曲线,让这个曲线到原来曲线的距离恒定=2(offset本来就是这个含义)
因为一条nurbs曲线就是需要那么多控制点,来满足“任何一个位置,到原始曲线的距离都是2”
尤其是转弯的地方附近
而这个距离不一定是2,而可能是1.9999,具体偏差取决于你的模型公差
如果你将公差降低一个数量级,在用一次offset,会发现控制点更多了
所以你说的给多个断面拟合,断面的多少并不决定了你最后那个造型的控制点的密度
你原始轨道曲线的造型才决定了最终的控制点密度。
在一些转弯很厉害的地方,曲率大的地方,变化多端的地方,offset的曲线就需要更多控制点去拟合。
这个控制点密度背后的含义就是“数据的密度”或者说信息量
当你随手画一个4控制点的曲线时,信息量很小
但当你提出了sweep或者offset之类的需求,任何一个位置到原来的距离都是2,注意这“任何一个位置”代表了信息量的剧增。
所幸犀牛会在你给定的公差下去毕竟,也就是说只要满足了公差范围内的需求,控制点就不会继续增加。
这里给你提供一个另一方向的思路,你可以尝试参考一下
当你对他进行随机取样评估时,会发现这个做法虽然干净利索
但并不能满足你的需求
正如你所见,这一切都是“精度”问题,并不是0或者1的是非问题
AlignSections.gh (14.5 KB)
你可以先研究一下,体会一下我说的这些概念