STEP(ISO 10303-21)取消设置属性

时间:2014-07-22 21:55:00

标签: iso step

我一直在为STEP格式的数据(特别是ISO 10303-21标准)构建一个解析器,但是我遇到了一个围绕单个字符的障碍 - '$'。

快速Google搜索显示,在STEP中,此字符表示“未设置”值,我将其解释为未初始化的值,但我不确切知道应该用它做什么。

例如,采用以下定义:

#111=AXIS2_PLACEMENT_3D('Circle Axis2P3D',#109,#110,$) ; #109=CARTESIAN_POINT('Axis2P3D Location',(104.14,0.,0.)) ; #110=DIRECTION('Axis2P3D Direction',(1.,-0.,0.)) ;

对我来说,我无法看到它是如何工作的,因为参考方向未初始化,因此无法导出x轴,这意味着使用此Axis2Placement的任何内容也会有未定义的数据。

通常当我达到这一点时,我只会为给定的数据类型(顶点(0,0,0),方向(1,0,0)等)定义某种默认数据,但是这样似乎不起作用,因为我的默认方向可能会导致与提供的数据发生冲突。

我已经用谷歌搜索了在这种情况下该做什么,只是想出什么。

我也有一个PDF用于非常类似的STEP格式(ISO-10303-42),但它也没有提到任何类型的默认数据,或者提供更多有关其如何工作的见解。

因此,要明确说明我的问题:如何处理STEP(ISO 10303-21)数据中未初始化的数据?

3 个答案:

答案 0 :(得分:1)

您需要能够代表'取消设置'作为一个独特的价值。它与未初始化的值或默认值的含义并不相同。例如,您可以将AXIS2_PLACEMENT_3D表示为一个对象,其数据成员指向CARTESIAN_POINTDIRECTION,而$表示该指针在您的指针中为空表示。

处理空值取决于上下文。如果确实需要数据,可能会出现某种错误。或者可能是数据不是必需的,例如,如果您不需要定向轴,并且点和方向足以表示数据。

答案 1 :(得分:0)

使用$符号时,不需要该值。具体来说,如果有一系列可选值,并且您想要指定一个值,比如第三个可选参数,并且您不想指定第一个和第二个可选参数的值,则可以使用$签署这两个。

请查看here以获得更好的说明。

答案 2 :(得分:0)

在这种情况下:#111是具有以下4个属性的本地坐标系:

  • 字符名称;
  • 指向原点的指针(#109);
  • 指向轴的指针(#110);
  • 指向第二轴(参考方向)的指针。

如果#111是圆的坐标系(我猜它是'name'值),则轴是圆平面的法线,而参考方向指向圆的开始(圆的零t参数的位置)。由于圆是闭合曲线,您可以在任意位置定位该零位置,它对圆几何形状没有影响,在这种情况下参考方向不是强制性的,并且被省略。您可以选择如何处理这种情况。