我一直在为 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) 数据中的未初始化数据?