这里要生成的表达式如下:
IF({Linear Velocity1}:IF({Linear Displacement1}∶IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Displacement1}+3))+IF({Linear Displacement1}+1.5∶0,0,-7.333333∗({Linear Displacement1}+3)-80∗({Linear Displacement1}+3)+131)+IF({Linear Displacement1}+1.4∶0,0,80∗({Linear Displacement1}+3)-131-2.142868∗({Linear Displacement1}+3)+6.42857),0,0),0,0)
最初这个表达式看上去有些复杂,但这只是一组嵌套的IF语句而已。
1.IF语句 基于输入变量的组合,IF语句用于定义一个输出,形式如下:
IF(Input variable:A,B,C)
当数值“Input variable”为负时,输出数值“A”。
当数值“Input variable”为零时,输出数值“B”。
当数值“Input variable”为正时,输出数值“C”。
输入变量A、B和C可以都是固定值,也可以是表达式。
在上面的表达式中可以看出在所有IF语句中,只有两个不同的输入变量,即“Linear Velocity1”和“Linear Displacement1”。
2.创建表达式 首先要做的是定义刀片第一次接触导尿管的位置点。在这个点及之前的力必须为零。根据测量可知,当刀片开启时的间距为7.25mm,而且导尿管的直径为ϕ3mm。因此,当{LinearD-isplacement1}+3=0时将发生接触。在步骤18中已经确定了这一点。
因此,第一部分力的表达式为:
IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Displacement1}+3))
也就是说:
● 当数值“{Linear Displacement1}+3”为负时,表达式等于零。
● 当数值“{Linear Displacement1}+3”为零时,表达式等于零。
● 当数值“{Linear Displacement1}+3”为正时,表达式的值为“7.333333∗({Linear Displacement1}+3)”,其中数值“7.333333”来自实验数据,即第一段曲线的斜率。
步骤20 输入表达式
编辑力,输入上面的表达式。记得输入变量“Linear Displacement1”,用户可以在表达式输入框下的列表中双击它来加入。
步骤21 运行这个仿真
检查力的图解,如图12-23所示。在距离从0变化到5.75mm(图12-3中的Point2)的过程中图解是正确的。从该点开始,力的大小持续攀升,因此需要在IF语句中添加第二段的定义(图12-4)。
图12-23 查看图解(四)
当用户第一次看到这个图解时,可能感觉并不正确,因为使用的方程式是一条直线“7.333333∗({Linear Displacement1}+3)”。但请记住,线性的方程式是基于位移的,而这个图解是基于时间的。因为刀片的运动不是线性的,因此该图解是正确的。
为了完成第二段,就需要在表达式中添加更多内容,细节如下:
IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Displacement1}+3))+IF({LinearDis-placement1}+1.5∶0,0,-7.333333∗({Linear Displacement1}+3)-80∗({Linear Displacement1}+3)+131)
如果用户检查这个表达式,会发现这是两个IF语句的组合,第一个IF语句为:
IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Displacement1}+3))
然后是第二个IF语句:
IF({Linear Displacement1}+1.5∶0,0,-7.333333∗({Linear Displacement1}+3)-80∗({Linear Dis-placement1}+3)+131)
这就是说,当“{Linear Displacement1}+1.5”为负或为零时,表达式的值都将为零。换句话说,在刀片位移在5.75mm(Point2)之前,表达式的这一部分都不起作用。
一旦结果为正时,表达式的值将会是“-7.333333∗({Linear Displacement1}+3)-80∗({Linear Displacement1}+3)+131”。
其中的第一部分是第一个表达式的负值,用以消除第一个表达式的作用。表达式的第二部分是力在第二段中的方程式:-80∗({Linear Displacement1}+3)+131。
步骤22 输入表达式
编辑力,输入上述表达式。
步骤23 运行仿真
检查力的图解,这里只关注框选的区域,如图12-24所示。
图12-24 查看图解(五)
编辑Y轴以显示-11~11N的范围。这可以更突出关注的区域,如图12-25所示。
图12-25 查看图解(六)
在距离从零变化到5.85mm(图12-3中的Point3)的过程中图解是正确的。从那一点开始,需要以一个不同的速率减少用力,这些都是基于实验数据的第三段。因此,需要再一次添加IF语句以定义第三段。
为了完成第三段,需要在表达式中添加更多内容,细节如下:
IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Displacement1}+3))+IF({Linear Displace-ment1}+1.5∶0,0,-7.333333∗({Linear Displacement1}+3)-80∗({Linear Displacement1}+3)+131)+IF({Linear Displacement1}+1.4∶0,0,80∗({Linear Displacement1}+3)-131-2.142868∗({Linear Displacement1}+3)+6.42857)
同样,表达式的第一部分是已经完成的内容,新的语句为:
IF({Linear Displacement1}+1.4∶0,0,80∗({Linear Displacement1}+3)-131-2.142868∗({Linear Displacement1}+3)+6.42857)
其中的第一部分“IF({Linear Displacement1}+1.4∶0,0,80∗({Linear
Displacement1}+3)-131)”同样只是前面表达式的负值以将其抵消,余下的部分2.142868∗({Line-ar Displacement1}+3)+6.42857”。(www.xing528.com)
定义了第三段的曲线。
步骤24 输入表达式
编辑力,输入上述表达式。
步骤25 运行仿真
检查力的图解,如图12-26所示。
图12-26 查看图解(七)
在刀片从零位置到完成切除之前(Point4)该图解是正确的。现在需要添加另外一个IF语句,从这一点开始直到刀片闭合时使力的大小为零。
将之前完成的表达式称之为“Force1”。这里需要完成的IF语句如下:
IF({LinearDisplacement1}∶Force1,0,0)
当“LinearDisplacement1”为负时(刀片还未接触在一起),使用整个力的值为“Force1”。如果为零(完成切除)或正(刀片重叠交错)时,则力的大小将变为零。
整个表达式显示如下:
IF({Linear Displacement1}∶IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Dis-placement1}+3))+IF({Linear Displacement1}+1.5∶0,0,-7.333333∗({Linear Displace-ment1}+3)-80∗({Linear Displacement1}+3)+131)+IF({Linear Displacement1}+1.4∶0,0,80∗({Linear Displacement1}+3)-131-2.142868∗({Linear Displacement1}+3)+6.42857),0,0)
将此表达式称之为“Force2”。
步骤26 输入表达式
编辑力,输入上述表达式。
步骤27 运行仿真
步骤28 编辑图解
将Y轴改为自动比例,如图12-27所示。
图12-27 查看图解(八)
对于刀片的前进过程,目前的图解是正确的,但是刀片的反作用力在应该为零的地方进行了镜向。
为了解决这个问题,需要再添加另外一个IF语句,这将建立在刀片速度的基础上,并只会用到当刀片速度为负时前面定义的力的表达式“Force2”。这对应外科医生挤压手柄合拢刀片时的运动部分。当外科医生松开手柄时,弹簧将推动刀片至打开位置,刀片的速度将为正值。
步骤29 新建一个图解
对图12-28所示的刀片顶点生成一个图解显示其【线性速度】的【X分量】。这里只是想当速度为负时力为其表达式。一旦速度为零或正时,力应该等于零,如图12-29所示。
新的IF语句为:IF({Linear Velocity1}∶Force2,0,0)
在上面的表达式中,“Force2”被用于代表整个力的表达式,而这个表达式已经定义完毕。可以看到,在表达式中只有当速度为负值时才会为“Force2”。当刀片停止移动并复位时,力的大小将为零。
图12-28 定义图解
如果将“Force2”插入前面的表达式,将会得到:
IF({Linear Velocity1}∶IF({Linear Displacement1}∶IF({Linear Displacement1}+3∶0,0,7.333333∗({Linear Displacement1}+3))+IF({Linear Displacement1}+1.5∶0,0,-7.333333∗({Linear Displacement1}+3)-80∗({Linear Displacement1}+3)+131)+IF({Linear Dis-placement1}+1.4∶0,0,80∗({Linear Displacement1}+3)-131-2.142868∗({Linear Dis-placement1}+3)+6.42857),0,0),0,0)
步骤30 输入表达式
编辑力,输入上述表达式。
图12-29 查看图解(九)
步骤31 运行仿真
检查力的图解,如图12-30所示。
对刀片的整个运动而言,现在的图解是正确的。目前运动的形状和实验数据输入完全一致。
图12-30 查看图解(十)
步骤32 编辑力
由于力的表达式已经正确定义完毕,此时需要将此应用到刀片中作为作用力与反作用力。将力的类型从【只有作用力】更改为【作用力和反作用力】。选择如图12-31所示的两个刀片顶点。单击【确定】。
步骤33 修改图解
编辑力的图解并更改它以显示【X分量】。初始力的方向为Y向,然而两个刀片之间的方向为X向。
确保力的大小为正。如果为负,则切换定义作用力与反作用力(步骤32)时顶点的顺序。
步骤34 运行这个仿真
图12-31 编辑力
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。