Technical Support

{{ post.title }} 글 편집 글 편집 (이전 에디터) 作者 {{ post.author.name }} 完成日期

Version {{ post.target_version }} Product
{{ product.name }}
Tutorial/Manual {{ post.manual_title }} Attached File {{ post.file.upload_filename }}

在某些情况下,需要仅在一定距离(运动)处进行建模。当两个标记之间的距离小于100时,建模方法描述如下:

使用表达式的 IF() 函数可以轻松实现此类模型。


基于下面的示例模型进行说明,请下载示例模型。

▶ 下载示例模型:Distance_Motion.rdyn

  • 两个CMotion表示X方向的平行运动,Y方向表示自由落体运动。
  • 当两个框之间的距离通过表达式为100mm时,允许位于顶部的框自由下降的模型。


首先,创建测量距离的表达式。

  1. 单击" [SubEntity "选项卡 > Expression菜单 > 单击Expression] 图标。
  2. 输入 DX(Body1.Marker1, Body2.Marker1, Body2.Marker1) 。
    • 基于示例模型的函数。
    • 在示例模型中使用ABS()函数是为了返回错误。
    • DDX() 函数是计算单个标记的 x 方向位置或两个标记之间的距离(参考标记的 x 方向)的函数。
    • o 有关表达式函数的详细信息,请参阅表达式函数 Expression Function Handbook 


接下来,创建Variable Equation 。

在此示例中,我们最终将创建一个变量方程,以利用 IF() 函数中的距离测量表达式。

Variable Equation是一个当需要在另一个表达式中使用时可以使用的功能。

Variable Equation

  1. 单击 [SubEntity 选项卡 > Equation 菜单 > 单击Variable Equation] 图标。
  2. 单击"创建"按钮后,选择之前创建的距离测量表达式,然后单击"确定"。
  3. 创建Variable Equation VE1。


在表达式中,编写 IF 函数,如下所示:

IF函数是指定条件并基于满意度返回指定函数值的函数。(更多信息: Expression Function Handbook)

IF(Varval(VE1):0,0,IF(Varval(VE1)-100:-200,-200,0))

  • 使用 IF (f1:f2,f3,f4) 格式
  • Varval (VE1):使用上面创建的Variable Equation(距离测量Expression)
  • f1:代入条件的计算公式
  • f2:如果 f1 小于 IFT( If Tolerance),则返回的值(或函数)
  • f3:f1等于IFT时返回的值(或函数)
  • f4:如果 f1 大于 IFT,则返回的值(或函数)
  • *: IFT (If Tolerance),,通过给出一个轻微的范围来补偿对条件 0 的响应的一个参数 ,因为在分支 If 语句时很难以精确数字计算。 (链接到相关教程)


最后,定义运动表达式。

您可以使用上面创建的 IF() 函数将表达式应用于连接副的运动。示例模型将CMotion定义为Y方向的运动。

CMotion2


现在,进行分析时可以看到当两个实体之间的距离为100mm时,将会有一个自由下降的运动。

此外,利用if()函数和传感器的相关内容提供如下:了解利用IF()函数的使用方法,以及如何在不同条件下的建模方法。