【问题标题】:STEP (ISO 10303-21) Unset AttributesSTEP (ISO 10303-21) 未设置属性
【发布时间】:2014-09-13 22:22:42
【问题描述】:

我一直在为 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)等)定义某种默认数据,但是这似乎不起作用,因为我的默认方向可能会导致与提供的数据发生冲突。

我已经用谷歌搜索了在这种情况下该怎么做,但结果一无所获。

我还有一个非常相似的 STEP 格式 (ISO-10303-42) 的 PDF,但它也没有提及任何类型的默认数据,也没有提供有关其工作原理的更多见解。

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

【问题讨论】:

    标签: iso step


    【解决方案1】:

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

    处理空值将取决于上下文。如果数据确实需要,则可能是某种错误。也可能是数据不是必需的,比如不需要轴定向,一个点和一个方向就足以表示数据。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        查看here 以获得更好的描述。

        【讨论】:

          猜你喜欢
          • 2018-09-24
          • 2021-07-17
          • 2022-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-28
          • 2012-06-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多