System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法技术_技高网

一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法技术

技术编号:40234791 阅读:3 留言:0更新日期:2024-02-02 22:35
本发明专利技术属于计算机辅助建模技术领域,公开了一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,S1:通过XML解析器,提取GDML文件中的数据,将其中的数据信息归纳为关键字与属性,关键字与属性形成键‑值对;S2:根据GDML文件中的上下文的引用关系重建几何多叉树和布尔二叉树;S3:对几何多叉树和布尔二叉树进行遍历,计算绝对坐标值,并根据实体具体组成和布尔运算次序进行三维CAD绘制;通过使用XML解析器提取GDML文件中的数据,将GDML文件中的复杂几何信息转换成可视CAD三维模型,通过解析出的完整的几何多叉树和布尔二叉树,和正确的坐标变换顺序,实现了由相对坐标到绝对坐标的转换。

【技术实现步骤摘要】

本专利技术属于计算机辅助建模,具体的说,涉及一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法。


技术介绍

1、蒙特卡罗方法(monte carlo method,简称“蒙卡方法”)是一种求解粒子输运方程的重要方法,该方法的特点是具有精确的几何描述能力。蒙卡方法一般采用构造实体几何(csg,constructive solid geometry)作为几何表述方式。在csg中,通过基本的几何要素集合经由布尔运算(交、并、差)实现复杂几何的描述。

2、目前,基于蒙卡方法的大多计算机程序中,尽管具体的几何表述语法存在差异,但基于csg的基本几何表述逻辑大体一致。gdml(geometry description markup language)是一种基于xml(可扩展标记语言)的几何表述语法,它提供了20余种基本实体形状、布尔运算、以及几何体的层次嵌套树形结构,可以用来完备描述蒙卡计算模型,因此得到了广泛应用。

3、然而gdml的可读性并不高,因其描述语句由大量文本数据组织而成,缺乏对几何模型直观地展示;gdml的数据嵌套关系复杂,语句存在相互依赖,几何信息的添加、删除牵一发动全身,数据的编辑、维护较困难。由于gdml的几何信息是完备的,理论上借助三维cad平台就可以实现模型的三维绘制。通过将gdml文本中的复杂几何信息转换成可视三维cad模型,能帮助蒙卡计算领域专家更加直观地了解模型,降低模型维护难度。


技术实现思路

1、本专利技术要解决的技术问题在于提供一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法,以实现gdml文本几何描述的三维可视化。

2、为解决上述技术问题,本专利技术提供如下技术方案:

3、一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法,包括以下步骤:

4、s1:通过xml解析器,提取gdml文件中的数据,将其中的数据信息归纳为关键字与属性,关键字与属性形成键-值对,其中键为关键字,值为与关键字相关的属性;

5、s2:根据gdml文件中的上下文的引用关系重建几何多叉树和布尔二叉树;

6、s3:对几何多叉树和布尔二叉树进行遍历,计算绝对坐标值,并根据实体具体组成和布尔运算次序进行三维cad模型绘制。

7、以下是本专利技术对上述技术方案的进一步优化:

8、所述键是gdml文件中的一个基本实体的名称、一次布尔运算结果实体的名称或一级实体父子嵌套关系中几何父体的名称。

9、进一步优化:所述值为组成键或键包含的数据;一个基本实体的值包括种类、尺寸;一次布尔运算的值包括参与布尔运算的目标体、工具体的名称,工具体相对目标体的坐标,一级布尔运算种类;一级实体父子嵌套关系的值包括父体内部包含的几何子体名称,几何子体相对于父体的坐标产生的集合。

10、进一步优化:所述几何多叉树的每一个节点对应一个待绘制实体,每个实体对应一个布尔二叉树。

11、进一步优化:所述几何多叉树包含根节点,从根节点向下进行深度优先遍历,达到一个目标节点,从根节点到目标节点的路径对应完整的多级父子嵌套关系,在一级父子嵌套关系中,子体坐标相对于父体坐标由旋转量(α,β,γ)和平移量(x,y,z)描述,通过旋转平移矩阵:

12、,

13、计算得到子体坐标系下某点在父体坐标系下的坐标值,几何多叉树中一条路径上每两个相邻节点都对应一个旋转平移矩阵,一条路径上的所有旋转平移矩阵相乘得到根节点坐标系,根节点坐标系视为绝对坐标系,由此可完成相对坐标值到绝对坐标值的变换。

14、进一步优化:所述布尔二叉树的当前节点作为根节点向下进行深度优先遍历,到达一个目标节点,目标节点处于布尔二叉树的二叉左分支上,目标节点即目标体,不进行坐标变换;目标节点处于布尔二叉树的二叉右分支上,目标节点即刀具体,刀具体相对目标体的旋转量(α,β,γ)和平移量(x,y,z),通过旋转平移矩阵进行坐标变换:

15、,

16、布尔二叉树的遍历过程中,根节点到目标节点会形成一条路径,路径上的每一段是布尔二叉树的左分支或右分支,左分支上的目标节点不进行坐标变换,右分支上的目标节点坐标通过旋转平移矩阵进行变换,路径上的所有旋转平移矩阵相乘,得到布尔二叉树上对应目标节点相对根节点的旋转平移矩阵。

17、进一步优化:所述三维cad模型绘制使用商软的二次开发接口,或开源cad内核的接口,建立gdml支持的9种基本实体的绘制方法,9种基本实体包括:

18、box,长方体,cad平台直接提供长方体绘制接口;

19、cone,广义圆锥,包括上下底的内外径和回转张角,绘制一个梯形,再以该梯形为轮廓线,绕梯形所在平面内垂直于上下底的一条直线进行回转;

20、sphere,广义球,包括内外径、极角张角和方位角张角,绘制两条圆弧和两条线段,一条圆弧以球的外径为半径,一条圆弧以球的内径为半径,两条线段封闭两条圆弧形成扇形,再以扇形为轮廓线,绕扇形所在平面内一条直线进行回转;

21、tube,广义圆柱,包括内外径和方位角张角,绘制两条圆弧和两条线段,一条圆弧以圆柱的外径为半径,一条圆弧以圆柱的内径为半径,两条线段封闭两条圆弧形成扇形,再以扇形为轮廓线,向垂直于轮廓线所在平面方向进行拉伸;

22、ellipsoid,椭球,可首先调用sphere的绘制得到一个球体,再按照椭球的半长轴参数进行不同方向上的放缩操作;

23、ellipsoid tube,椭圆柱,根据椭圆柱横截面的半长轴数值绘制一个椭圆,再以椭圆作为轮廓线,向垂直于轮廓线所在平面方向进行拉伸;

24、tetrahedron,四面体,先确定四面体四个顶点的坐标,再从四个坐标中任选三个绘制三角形,共绘制四个三角形,由四个三角形围成四面体;

25、extruded solid,广义拉伸体,先确定多个坐标,用线段连接各坐标形成首尾相接的多边形,以多边形为轮廓线,向垂直于轮廓线所在平面方向进行拉伸;

26、torus,广义圆环,包括内外径和回转张角,先以外径为半径绘制外径圆,以外径圆为轮廓线,绕外径圆形所在平面内的一条直线进行回转形成目标体,再以内径为半径绘制内径圆,绕内径圆所在平面内的一条直线进行回转形成刀具体,最后目标体与刀具体进行布尔差运算。

27、本专利技术通过使用xml解析器提取gdml文件中的数据,将gdml文件中的复杂几何信息转换成可视cad三维模型,通过解析出的完整的几何多叉树和布尔二叉树,和正确的坐标变换顺序,实现了由相对坐标到绝对坐标的转换,再通过商软cad二次开发接口实现三维模型的建立;该方法可将手工构建或编码生成的gdml文件中存储的csg几何重建为cad系统可以识别的便捷表示,进而实现可视化输出,能帮助蒙卡计算领域专家更加直观地了解模型、修改模型、确认模型的正确性,降低模型维护难度,从而显著提升建模效率。...

【技术保护点】

1.一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:所述键是GDML文件中的一个基本实体的名称、一次布尔运算结果实体的名称或一级实体父子嵌套关系中几何父体的名称。

3.根据权利要求2所述的一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:所述值为组成键或键包含的数据;一个基本实体的值包括种类、尺寸;一次布尔运算的值包括参与布尔运算的目标体、工具体的名称,工具体相对目标体的坐标,一级布尔运算种类;一级实体父子嵌套关系的值包括父体内部包含的几何子体名称,几何子体相对于父体的坐标产生的集合。

4.根据权利要求2所述的一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:所述几何多叉树的每一个节点对应一个待绘制实体,每个实体对应一个布尔二叉树。

5.根据权利要求4所述的一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:所述几何多叉树包含根节点,从根节点向下进行深度优先遍历,达到一个目标节点,从根节点到目标节点的路径对应完整的多级父子嵌套关系,在一级父子嵌套关系中,子体坐标相对于父体坐标由旋转量(α,β,γ)和平移量(x,y,z)描述,通过旋转平移矩阵:

6.根据权利要求5所述的一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:所述布尔二叉树的当前节点作为根节点向下进行深度优先遍历,到达一个目标节点,目标节点处于布尔二叉树的二叉左分支上,目标节点即目标体,不进行坐标变换;目标节点处于布尔二叉树的二叉右分支上,目标节点即刀具体,刀具体相对目标体的旋转量(α,β,γ)和平移量(x,y,z),通过旋转平移矩阵进行坐标变换:,

7.根据权利要求6所述的一种从基于XML蒙卡几何表示到三维CAD模型的自动转换方法,其特征在于:所述三维CAD模型绘制使用商软的二次开发接口,或开源CAD内核的接口,建立GDML支持的9种基本实体的绘制方法,9种基本实体包括:

...

【技术特征摘要】

1.一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法,其特征在于:所述键是gdml文件中的一个基本实体的名称、一次布尔运算结果实体的名称或一级实体父子嵌套关系中几何父体的名称。

3.根据权利要求2所述的一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法,其特征在于:所述值为组成键或键包含的数据;一个基本实体的值包括种类、尺寸;一次布尔运算的值包括参与布尔运算的目标体、工具体的名称,工具体相对目标体的坐标,一级布尔运算种类;一级实体父子嵌套关系的值包括父体内部包含的几何子体名称,几何子体相对于父体的坐标产生的集合。

4.根据权利要求2所述的一种从基于xml蒙卡几何表示到三维cad模型的自动转换方法,其特征在于:所述几何多叉树的每一个节点对应一个待绘制实体,每个实体对应一个布尔二叉树。

5.根据权利要求4所述的一种从基于xml蒙卡几何表示到三...

【专利技术属性】
技术研发人员:冯智勇马志国齐延宝
申请(专利权)人:齐马海南科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1