三条线之间花内切圆matlab,论CAESES的平面三曲线倒圆技术

前言

模型的倒圆技术在实际工程中应用非常广泛,适当的倒圆能够提高模型的性能并且能够增加模型的美感,三维模型中的倒圆有边线倒圆和顶点倒圆两种形式,二维模型中的倒圆只有顶点倒圆一种形式,并且是三维模型倒圆的基础。

平面上两条曲线之间的倒圆角技术在各种CAD软件中都很成熟,可是想在三条曲线之间做出圆角就比较困难了。对于三角形可以通过简单的数学计算求出与每一条边相切的内切圆,但是对于下图中所示的情况,数学计算也显得苍白无力了,不过计算机技术以及优化算法技术的发展,为我们提供了一种解决这类问题的方法。

thread-182614-1-1.html

CAESES是一款功能强大的集设计功能与优化功能为一体的现代化软件,它的自定制feature功能在处理三条曲线之间倒圆的问题非常便捷。

问题解决方法

1. 问题分析

thread-182614-1-1.html

三条曲线之间求内切圆,最根本的需求是求出来内切圆的圆心所在的位置,也就是三条曲线按同样的数值进行偏移,刚好相交在一起的一个点,偏移距离的数值就是三条曲线之间倒圆的圆角半径。

假设三条曲线分别向内侧偏移了某一较小的数值之后,新生成的三条offset曲线之间会有两个交点,增大偏移的数值之后,两个交点的距离逐渐逼近,当达到某一个临界值的时候,两个交点的距离为0,就寻找到了内切圆的圆心了。

2. 编辑CAESES的feature

以上所描述的问题,如果采用CAESES的feature及优化迭代功能,则能够很方便的解决问题。

新建一个Feature Definition,在General列表下定义一个合适的名称,比如:Calculate_centerPos_of_3curves,然后勾选Recreate on Update(用于适时更新feature内部的计算内容);

thread-182614-1-1.html

在Arguments列表中设置三条初始曲线的输入位置及其偏移方向的切换按钮,然后设置一个偏移距离的范围设置框;

thread-182614-1-1.html

在Create Function列表中,遵从CAESES的feature语法,编辑下图中所示的内容,分别是创建了三条偏移方向可控且偏移距离为参数radius的offsetcurve,然后求出两两曲线的交点,用参数distance表述两个交点之间的距离;

thread-182614-1-1.html

最后创建一个Brent的优化引擎,设置迭代步数为50,设置radius的变化范围由Arguments中的参数控制,设置判定标准为p1与p2之间距离的参数distance,然后依次点击右下角的Apply、Close按钮,feature创建结束。

此处所用的Brent是一种单目标最小值寻优的优化算法,能够迭代求出distance趋近于0时radius的数值,此时的radius就是我们最终获得的半径结果。

3. Feature应用

Feature创建结束后,会在CAESES的模型树Feature Definitions栏目下找到其名字,选中后右键选择Create Feature,创建出feature的模型特征f1,点击f1左侧的 “+”,能够看到曲线特征及求得的圆角半径参数;

thread-182614-1-1.html

将需要创建圆角的三条曲线分别放置在feature的对应输入框,并根据需要切换偏移方向,设置radius_range为适当的数值,feature就能自动求出圆心的位置,3D视窗中能够看到求出的圆心位置;

thread-182614-1-1.html

在求得的圆心位置创建半径为feature:radius的圆,并与两侧的曲线求交点,最后以两个交点裁剪曲线得到三条曲线之间的圆角曲线。

thread-182614-1-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值