报告表达式的函数

(*)符号是报告表达式语言中的唯一符号。

ABS(<表达式>)
此功能返回输入值的绝对值。

ACOS(<表达式>)
此功能返回输入值的反余弦。输入和结果的单位均为弧度。

ANGLEBETWEEN(<表达式 1>、<表达式 2>)
返回两个输入,即表达式 1 和表达式 2 之间的角度,此功能返回角度应为点型。结果的单位为度。

ARRAY(<表达式 1>、<表达式 2> 和 <表达式 N>)
此功能创建超出输入值的数组。

ACOS(<表达式>)
此功能返回输入值的反余弦。输入和结果的单位均为弧度。

ACOS(<表达式>)
此功能返回输入值的反余弦。输入和结果的单位均为弧度。

AVERAGE(<表达式>)
与 PC-DMIS 表达式语言中相同

COMMANDDATA(<表达式 1>、<表达式 2>)
此表达式可计算或显示“报告数据”事件中命令对象参考的特征信息。这表达式 1 提供了一个必需的参数。此参数告诉PC-DMIS要显示哪些特征信息。未来将支持第二个可选参数,即表达式 2,但当前无法使用。

您可以通过表达式 1 传递字符串值:

您还可以通过表达式 1 传递表达式,如 ISOUTTOL() 函数:

在本示例中,从 TEXTANDCAD_OOT.RTP 报告模板中,表达式检查超差值是否大于零:

如果 "COMMANDDATA("=ISOUTTOL()","")>0" 然后使用模板“Reference_ID.lbl”

如果是这样,它使用 Reference_ID.lbl 标签模板。有关 ISOUTTOL 的更多信息,请参阅下面的 ISOUTTOL 表达式描述。

CHR(<表达式>)
此功能返回整数型输入值相应的 ASCII 字符值。

*COLOR(<表达式 1>、<表达式 2>)
此功能将表达式 1 的文本值设为使用 4 种颜色中的一种作为颜色树中当前定义的颜色。1= 标记色;2= 未标记色;3= 步骤模式色;4 = 错误色。请参见“更改字符串的文本颜色”。

*GetTolColor(表达式 1、表达式 2、表达式 3)
这个函数有三个表达式:偏差、正公差和负公差。它根据偏差情况返回 COLORREF 类型的当前公差颜色。

表达式1是双精度型的偏差,表达式2是双精度型的正公差带,表达式3是双精度型的负公差带。

可以结合使用返回的颜色和报告中对象的颜色属性,如 ForeColorBackColor,动态更改对象颜色,以反映当前公差值。

这些颜色在编辑尺寸颜色对话框中指定。请参见“编辑 CAD 显示”一章中的“编辑尺寸颜色”。

CONCAT(<表达式 1>、<表达式 2> 和 <表达式 N>)
此功能将表达式 1 至 N 中指定的所有字符串连接成 1 个字符串。

COS(<表达式>)
此功能返回输入值的反余弦。输入和结果的单位均为弧度。

*COUNT(表达式 1)
此功能返回表达式 1 中指定的当前命令数据类型的实例数。

CROSS(<表达式 1>、<表达式 2>)
此功能返回矢量型表达式 1 和表达式 2 的矢量积。

*DATAFIELD(<表达式1>,<表达式2>,<表达式3>)
此函数仅在自定义报表编辑器中使用。此功能从特征,维度或命令中的特定数据字段返回信息。该函数有三个参数:表达式 1 是表示命令的唯一 id 或 id 的字符串,表达式 2 是表示数据类型的字符串,表达式 3 是类型索引。类型指数一般为 0,但在多次发生 dtype 的情况中其值将为 1 或更大的值。

当从编辑窗口中拖住或是点击某些项目到自定义报告中时,自动创建表达式

DATEVALUE()
与 PC-DMIS 表达式语言中相同

DEG2RAD(<表达式>)
此功能将输入的度转换为弧度。

DELTA(<表达式 1>、<表达式 2>、<表达式 3>)
此函数生成一个沿表达式 2 中指定的矢量从表达式 1 中指定的点,移动表达式 3 中指定的距离的新点。

DISTANCEFROMEDGE()
此功能获取到 CAD 上最近棱边的命令所指特征的测量质心的距离。

可以使用编辑规则树,来定义另一个基于距离的标号模板

DOT(<表达式 1>、<表达式 2>)
此功能返回表达式 1 和表达式 2 的点积。输入值应为点型。

DOUBLE(<表达式>)
此功能将输入值从当前类型转换为双精度型。如果是点,则函数返回点与原点之间的距离。

*ELAPSEDTIME()
此功能返回执行花费的时间量。

ELEMENT(<表达式 1>、<表达式 2>、<表达式 3>)
与 PC-DMIS 表达式语言中相同

EQUAL(<表达式 1>、<表达式 2>)
此功能测试两个数组是否完全相同,如相同返回 1,否则返回 0。

<表达式 1> ^ <表达式 2>
与 PC-DMIS 表达式语言中相同

EXPON(<表达式>)
与 PC-DMIS 表达式语言中相同

*FILENAME()
此功能返回测量例程的完整路径和文件名。

FORMAT(<表达式 1>、<表达式 2>)
与 PC-DMIS 表达式语言中相同

*GETCOUNT(表达式 1)
此功能返回 ENUM_FIELD_TYPES 数据类型(在表达式 1 中指定)的实例数长值。例如,报告了 X、Y、Z 和 D 的位置尺寸,将为“轴”数据类型返回 4。

GETFEATURESSETID(<表达式 1>)
在执行过程中,若当前命令为尺寸,该函数确定该尺寸的基准特征是否在特征集中。若在某个集合中找到该基准特征,将以字符串值返回该集合的 ID,并在末尾附加扩展名 ".lbl"。若未找到有该基准特征的特征集命令,则返回 <表达式 1> 中提供的默认字符串值。默认值应为包括 .lbl 扩展名的标签文件名。

视图示例

GETTEMP(<表达式 1>)
此功能返回指定的温度或阈值。表达式 1 所用的字符串值之一可确定函数返回的内容:

GETPROGRAMINFO(<字符串>、<可选字符串>)
与 PC-DMIS 表达式语言中相同

IF(<表达式 1>、<表达式 2>、<表达式 3>)
如果表达式 1 的结果为非零值,则函数返回表达式 2 的值,否则函数返回表达式 3 的值。

INDEX(<表达式 1>、<表达式 2>)
与 PC-DMIS 表达式语言中相同

INTEGER(<表达式>)
与 PC-DMIS 表达式语言中相同

ISMARKEDFORARM(<表达式>)
在多臂模式环境中使用此函数。若标记的是 <表达式> 中指定的臂的命令则返回 1,否则返回 0。这样可以依据命令的执行臂控制报告中显示的内容。

视图示例

*ISOUTTOL()
该功能检查命令是否超出容差。这只与上面讨论的 COMMANDATA 表达式一起使用。

LEFT(<表达式 1>、<表达式 2>)
与 PC-DMIS 表达式语言中相同

LEN(<表达式>)
对于字符串,此功能返回字符串中的字符数。对于数组,返回数组中的元素个数。

LN(<表达式>)
与 PC-DMIS 表达式语言中相同

*LOADSTR(<表达式>)
从资源文件加载使用数值的字符串。若加载负值,将导致字符串从字符串资源加载。详细信息请参见“从 PC-DMIS 中加载字符串”。

LOG(<表达式>)
与 PC-DMIS 表达式语言中相同

LOWERCASE(<表达式>)
与 PC-DMIS 表达式语言中相同

<表达式 1> < <表达式 2>
与 PC-DMIS 表达式语言中相同

MAX(<表达式>)
与 PC-DMIS 表达式语言中相同

MAXINDEX(<表达式>)
与 PC-DMIS 表达式语言中相同

MAXINDICES(<表达式>)
与 PC-DMIS 表达式语言中相同

*MEASSCALE()
此功能返回测量时的重新缩放比例。

MIN(<表达式>)
与 PC-DMIS 表达式语言中相同

MININDEX(<表达式>)
与 PC-DMIS 表达式语言中相同

MININDICES(<表达式>)
与 PC-DMIS 表达式语言中相同

MID(<表达式 1>、<表达式 2>、<表达式 3>)
与 PC-DMIS 表达式语言中相同

MPOINT(<表达式 1>、<表达式 2>、<表达式 3>)
与 PC-DMIS 表达式语言中相同

*NUMMEAS()
此函数显示代表报告的尺寸数的数值。

*NUMOUTTOL()
此函数显示报告的超出公差的尺寸数。

ORD(<表达式>)
与 PC-DMIS 表达式语言中相同

PCDMISUSERHIDDENDATAPATH()
与 PC-DMIS 表达式语言中相同

PCDMISUSERVISIBLEDATAPATH()
与 PC-DMIS 表达式语言中相同

PCDMISSYSTEMHIDDENDATAPATH()
与 PC-DMIS 表达式语言中相同

PCDMISSYSTEMVISIBLEDATAPATH()
与 PC-DMIS 表达式语言中相同

PCDMISSYSTEMREPORTINGPATH()
与 PC-DMIS 表达式语言中相同

PCDMISAPPLICATIONPATH()
与 PC-DMIS 表达式语言中相同

*PARTNAME()
此功能显示零件名称(与显示在文件页眉中的名称相同)。

*PAGE()
此功能显示当前页数。

*PAGES()
此功能显示总页数。

PAGEDIMCOUNT("ObjectID",范围)
本函数取两个参数。若第一个参数为空(引号中为空),则返回当前页面中最大偏差小于“范围*公差”的尺寸数,第二个参数为“范围”,是一个浮点数。若第一个参数中包含 CadReportObject ID 或 TextReportObject ID,则此参数返回与 CADReportObject 或 TextReportObject ID 关联的公差中的尺寸数。

例如,假定要返回的 CadReportObject1 超出公差的尺寸数。您可使用以下代码执行此操作:

=TotalPageDimCount("CadReportObject1") - PageDimCount("CadReportObject1",1.0)

您还可以计算包含特定轴数的尺寸数。为此,请在ID后面加上 ":N",其中N是代表轴数的数字。

例如,键入 =PageDimCount("CadReportObject1:4",1.0) 返回与CadReportObject1相关联的尺寸数,该尺寸至少包含四个轴并且第四个轴在指定的公差1.0之内。如果未指定轴数,则如果所有轴均在指定的公差1.0内,则它将返回与CadReportObject1关联的尺寸数。

对于定制报告,用户仅可使用一个CADReporObject,原因是定制报告不能使用TextReportObject。

RAD2DEG(<表达式>)
与 PC-DMIS 表达式语言中相同

REAL(<表达式>)
与 PC-DMIS 表达式语言中相同

*REGSETTING(<表达式 1>、<表达式 2>)
此功能显示特定注册表设置的值。它有两个参数:表达式 1 确定章节,表达式 2 确定注册表项。

REPORTDIMCOUNT(“<表达式 1>”、<表达式 2>)
该函数与 PageDimCount() 函数的作用相似,只是该函数显示的不是当前页面超出公差的尺寸数,而是整个报告中超出公差的总尺寸数。此外对于 <表达式 1>,要使用 CadReportObject1 或 TextReportObject ID 作为 ID,或者将其留空(只有引号)。

对于定制报告,用户仅可使用一个CADReporObject,原因是定制报告不能使用TextReportObject。

*REPORTVALUE(<表达式 1>)
该功能显示另一对象的属性值。它有一个参数,即表达式 1。此表达式是对象的唯一 ID(为字符串值),其后为一句点,然后就是属性名称。例如 =REPORTVALUE("text1.text")

*REVNUM()
此功能显示版本号(与文件页眉中所示内容相同)。

*RGB(<表达式 1>、<表达式 2>、<表达式 3>、<表达式 4>)
此功能为表达式 1 中指定的字符串着上表达式 2、3 和 4 的 RGB 值指定的颜色。请参见“更改字符串的文本颜色”。

RIGHT(<表达式 1>、<表达式 2>)
与 PC-DMIS 表达式语言中相同

ROUND(<表达式 1>、<表达式 2>)
与 PC-DMIS 表达式语言中相同

*SECTION()
此函数显示当前章节号。

*SERNUM()
此函数显示序列号(与文件页眉中所示内容相同)。

SIN(<表达式>)
与 PC-DMIS 表达式语言中相同

SORTUP(<表达式>)
与 PC-DMIS 表达式语言中相同

SORTDOWN(<表达式>)
与 PC-DMIS 表达式语言中相同

SQRT(<表达式>)
与 PC-DMIS 表达式语言中相同

*STATCOUNT()
此函数返回统计计数(与文件页眉中相同)。

STR(<表达式>)
与 PC-DMIS 表达式语言中相同

STRING(<表达式>)
与 PC-DMIS 表达式语言中相同

SUM(<表达式>)
与 PC-DMIS 表达式语言中相同

SYSTIME()
与 PC-DMIS 表达式语言中相同

SYSTEMDATE(<表达式>)
与 PC-DMIS 表达式语言中相同

SYSTEMTIME(<表达式>)
与 PC-DMIS 表达式语言中相同

*TOGGLESTR(<表达式 1>、<表达式 2>)
根据表达式 1 中的资源 ID 值,此功能从该资源提取切换字符串。若字符串是来自于字符串资源,则函数使用负数。此函数使用表达式2的值来指定要返回的子字符串。其结果为子字符串。

*TOGGLESTRING(DATA_TYPE)
若给定命令的指定数据类型为切换字符串,则此函数返回完整的切换字符串。

*TOGGLEVALUE(DATA_TYPE)
若给定命令的指定数据类型为切换字符串,则此函数返回切换字符串的索引值(或切换值)。

*TOL(<表达式 1>、<表达式 2>、<表达式 3>、<表达式 4>)
表达式 1 是要着色的字符串,表达式 2 是测试值,表达式 3 是最大容差值,而表达式 4 是最小容差值。如果测试值在公差范围内(在表达式 3 与表达式 4 之值之间),则软件使用黑色对文本着色。否则,软件会使用错误颜色(一般为红色)对文本着色。您可在颜色编辑器对话框(编辑 | 首选项 | 编辑窗口颜色)中定义错误颜色。

例如,此代码以黑色显示“在公差范围内”文本:

=TOL(“在公差范围内”,100,100.5,99.5)

此代码以错误色(默认为红色)显示“超出公差”文本:

=TOL(“超差”,99,100.5,99.5)

*TOLF(<表达式 1>、<表达式 2>、<表达式 3>、<表达式 4>、<表达式 5>)
此功能提供 TOL 表达式之外的其他格式化功能。前四个参数与以上 TOL 函数中所列的相同。第五个表达式确定超差条件的字体、字号、格式和颜色。其语法为:

"f:s:w:c"

f 是要使用的字体的名称。

s 是字体的大小(单位:点)。

w 是字体的格式,可以使用以下任何一种格式:

BBOLD 用于粗体格式。

IITALIC,用于斜体格式。

RREGULAR 用于常规格式。

BIBOLDITALICIBITALICBOLD,用于粗体加斜体格式。

c 是 RGB(r,g,b) 颜色格式,其中,r = 红色,g = 绿色,b = 蓝色。每个值的范围为 0 至 255。

上述每个项目均为可选,必须使用冒号 (:) 字符分隔。例如,要仅设置字号,可设置 ":14",但要仅设置颜色,需设置 ":::RGB(0,0,0)"。

此示例将超差的测量尺寸格式化为 Arial 字体、大小 12、粗体、红色。

=TOLF(DIM_MEASURED:N,DIM_OUTTOL:N,0.0,0.0,"Arial:12:B:RGB(255,0,0)")

TOTALPAGEDIMCOUNT("ObjectID")
此函数包含一个参数。若其为空(引号中不含任何内容),返回当前页面中的总尺寸数。若在此参数中键入 CadReportOjbect 的 ID,PC-DMIS 返回与此 CadReportObject 或 TextReportObject 关联的总尺寸数。

例如,若使用的是表达式 =TotalPageDimCount("CadReportObject3"),则 PC-DMIS 返回与 CadReportObject3 关联的总尺寸数。

您还可以计算包含特定轴数的尺寸数。为此,请在ID后面加上 ":N",其中N是代表轴数的数字。

例如,键入 =TotalPageDimCount("CadReportObject1:4") 将返回与 CadReportObject1 关联并且至少包含 4 条轴的总尺寸数。

对于定制报告,用户仅可使用一个CADReporObject,原因是定制报告不能使用TextReportObject。

TOTALREPORTDIMCOUNT("CADREPORTOJECTID")
该函数类似于 TotalPageDimCount() 函数,主要区别:本函数返回的不是当前页的尺寸数,而是整个报告的总尺寸数。若存在 TextReportObject、CadReportObject 或 Label 对象,则上述成立。若以对象 ID 作为参数,需将此对象 ID 命名为 CadReportObject1 或 TextReportObject。

对于定制报告,用户仅可使用一个CADReporObject,原因是定制报告不能使用TextReportObject。

TRACEFIELD(<表达式>)
此功能显示报告中给定的跟踪字段的名称和值。表达式的值是代表测量例程中自上至下列出的跟踪字段顺序的值而已。因此要显示列出的第一个跟踪字段,代码应为:=TRACEFIELD(1)

UNIT(<表达式>)
与 PC-DMIS 表达式语言中相同

USERSTRING(<表达式 1>、<表达式 2>)
此函数可从逗号分隔值 (CSV) 文本文件提取自定义的字符串,同时在标签中显示该字符串。有关此函数的示例,请参见“从文本文件加载字符串”。

*VARIABLE(<表达式 1>、<表达式 2>)
该功能显示定义的变量值。该特征需要一个或两个参数。表达式1是表示变量ID的字符串值。表达式2是另一个命令ID或UID的可选标识。详细信息请参见“显示变量值”。

VECX(<表达式>)
与 PC-DMIS 表达式语言中相同

VECY(<表达式>)
与 PC-DMIS 表达式语言中相同

VECZ(<表达式>)
与 PC-DMIS 表达式语言中相同