测量函数参考 (iLogic)

使用测量函数可以找到并返回距离、角度、面积、直径和范围尺寸值。

若要访问测量函数,请展开 iLogic“编辑规则”对话框“代码段”区域中“系统”选项卡上的“测量”节点。

测量距离和角度

您可以测量两个实体(如果是角度,则测量三个)之间的距离或角度。可以使用名称指定位于测量任意端的实体。名称可以是:

实体可以在相同的零件或部件中,也可以在部件中的不同零部件中。

还可以通过查找每个零部件上距离最近的点并报告这些点之间的距离来测量部件中两个零部件的距离。

在规则中的 Measure 函数之前引入 RuleParametersOutputInventorVb.DocumentUpdate() 函数(按该顺序)。使用这些函数可以确保测量函数检查是否有更新版本的 Inventor 模型。

Measure.MinimumDistance

测量两个点、平面或轴之间的最小距离。该函数还可以测量平面与点之间、平面与轴之间或点与轴之间的距离。

语法

Measure.MinimumDistance("entityName1","entityName2")

示例

若要测量点与点之间的距离:

distance = Measure.MinimumDistance("Work Point1", "Work Point2")

(1) Work Point1 (2) Work Point2

若要测量点与轴之间的距离:

distance = Measure.MinimumDistance(“Work Point1”, “Work Axis1”)

(1) Work Point1 (2) Work Axis1

若要测量轴与轴之间的距离:

distance = Measure.MinimumDistance("Work Axis1", "Work Axis2")

(1) Work Axis1 (2) Work Axis2

若要测量平面与平面之间的距离:

distance = Measure.MinimumDistance(“Work Plane1”, “Work Plane2”)

(1) Work Plane1 (2) Work Plane2

Measure.MinimumDistance("componentName1", "entityName1", "componentName2", "entityName2")

测量部件中两个零部件中的实体之间的距离。这些实体可以是点、平面或轴。

例如,若要测量部件中两个零部件中的平面之间的距离:

distance = Measure.MinimumDistance(“Wheel1”, “Workplane1”, “Wheel2”, Workplane2”)

(1) Wheel1 Workplane1 (2) Wheel2 Work Plane2

Measure.MinimumDistance("componentName1", "componentName2")

测量部件的两个零部件之间的最小距离。它将零部件看作一个整体,会在零部件上的任意位置查找距离最近的点,如以下示例所示:

distance = Measure.MinimumDistance("partA:1", "partB:1")
distance = Measure.MinimumDistance("Wheel1", "Wheel2")

(1) Wheel1 (2) Wheel2

测量非平行轴时,请小心谨慎!

假设您的部件包含两个块。块面之间的角度为 60 度。每个块在朝向对立块的一侧都有一个孔。这两个孔的轴是不平行的相交共面线。您可以将函数编写为:

distance = Measure.MinimumDistance("Block1","Axis1","Block2","Axis1")

您可以假设这些线具有无限长度来进行测量,这样获得的距离为零。但是,使用 Measure.MinimumDistance 函数时,将从用于表示轴位置的两个标记上距离最近的端点处,开始测量距离。因此,将在有效长度的直线上进行测量,返回值为 1.36 英寸。

(1) Axis1 (2) Block1 (3) Axis2 (4) Block2

若要产生不同的结果,您可以手动延伸表示孔轴的线。Measure.MinimumDistance 函数现在返回的值为 0 英寸,与测量相交线获得的值一样。

(1) Block1 (2) Axis1 (3) Axis2 (4) Block2

Measure.Angle

测量两个实体之间的角度,或测量由三点定义的角度。

angle = Measure.Angle("entityName1", "entityName2")

测量零件或部件中两个实体之间的角度。它可以测量两个轴、两个平面或轴与平面之间的角度。实体可以是定位特征或 iMate。

angle = Measure.Angle("componentName1", "entityName1", "componentName2", "entityName2")

测量部件级的两个零部件中的两个实体之间的角度。它可以测量两个轴、两个平面或轴与平面之间的角度。

angle = Measure.Angle("point1", "point2", "point3")

测量由三个点定义的角度。该值等于两条线之间的角度:

在该示例中,“point2”是角的顶点。例如:

angle = Measure.Angle("Work Point1", "Work Point2", "Work Point3")

(1) Work Point1 (2) Work Point2(顶点)(3) Work Point3

angle = Measure.Angle("componentName1", "point1", "componentName2", "point2", "componentName3", "point3")

测量由三个点定义的角度。“point2”定义角的顶点。每个点可以位于不同的零部件上。

(1) Work Point1 Component1 (2) Work Point2 Component 2(角的顶点)(3) Work Point3 Component3 (4) 74.02 度

Measure.Area

测量草图面积。该函数可以测量由草图中的封闭截面轮廓所包围的面域的面积之和。

语法

Measure.Area(“SketchName”)

示例

如果只有一个封闭的截面轮廓,该函数将计算由该截面轮廓包围的面积。

面积:3.14 = 平方英寸。

如果草图包含多个封闭的截面轮廓,该函数将计算由这些截面轮廓包围的面积之和。

面积:6.28 = 平方英寸。

如果封闭的截面轮廓相交,则该函数将计算封闭的面积之和,而不管面积是否重叠:

面积:6.28 = 平方英寸。

如果草图包含多个截面轮廓,并且其中一个截面轮廓完全包含在另一个截面轮廓中,则 Measure.Area 函数将返回两个面积之差:

面积:1.37 = 平方英寸。

Measure.Perimeter

Measure.Perimeter(“SketchName”)

测量草图中封闭截面轮廓的直径之和。如果草图中只包含一个封闭的廓面轮廓,该函数将计算该截面轮廓的直径长度。

语法

size = Measure.Perimeter("Sketch1")

示例

如果草图中只包含一个封闭的廓面轮廓,该函数将计算该截面轮廓的直径长度。

直径:6 英寸

如果草图中包含多个不相交的封闭截面轮廓,该函数将计算所有截面轮廓直径的长度之和:

直径:9 英寸

如果草图中包含多个相交的封闭截面轮廓,该函数将计算所有截面轮廓直径的长度之和:

直径:12 英寸

Measure.Extents

在零件或部件中测量 X、Y 或 Z 方向上的尺寸范围。范围可能会大于模型沿某个轴的确切尺寸,尤其是存在弯曲形状时。
注: 这些函数仅测量可见实体(包括平面、工作点、曲面和实体)的范围。不测量隐藏的实体。 但有一个例外,记事本的 Note 对象包含在测量中,无论其可见性状态如何。

语法

Measure.ExtentsLength

测量模型的 X 范围(沿红色轴)。

Measure.ExtentsWidth

测量模型的 Y 范围(沿绿色轴)。

Measure.ExtentsHeight

测量模型的 Z 范围(沿蓝色轴)。