由边界表示数据生成体数据的方法及其程序的制作方法

文档序号:6493880阅读:273来源:国知局

专利名称::由边界表示数据生成体数据的方法及其程序的制作方法
技术领域
:本发明涉及能以小存储容量存储合并了形状和物性的体数据,使CAD和模拟一元化的体数据生成方法,具体涉及使作为输入的表面形状常用的三角面片与指定尺寸的网格相匹配的方法及其程序。
背景技术
:在尖端的研究开发、技术开发的现场,随着其高层次化、复杂化,巨大的试行错误是不可避免的,开发过程中的风险也变高。作为以科技强国为目标的我国,尽力排除这些风险,使开发过程变革性的高层次化、高效率化尤为重要。现在,在研究开发、技术开发的现场,使用CAD(ComputerAidedDesign计算机辅助设计)、CAM(ComputerAidedManufacturing计算机辅助制造)、CAE(ComputerAidedEngineering计算机辅助工程)、CAT(ComputerAidedTesting计算机辅助测试)等,分别作为设计、加工、分析、试验的模拟方法。另外,通过本发明,作为连续模拟的C-模拟(CoorporativeSimulation)、考虑加工工艺的A-CAM(AdvancedCAM)、精度相当高的D-构造(Deterministicfabrication)等也会从现在开始得到广泛的普及。上述传统的模拟方法中通过CSG(ConstructiveSolidGeometry实体几何结构法)或B-rep(BoundaryRepresentation边界表示法)方式存储对象数据。但是,由于在CSG中将对象整体作为细小实体模型的集合体来存储,数据复杂,且安装模拟手段(软件等)的情况下,需要处理庞大数据,会出现即便运用大型计算机来分析也花费时间的问题。另外,由于B-rep通过边界来表示对象,虽然数据简单,数据量较小,但由于有关边界面内部的信息并非直接,所以会出现不适合直接做变形分析等的问题。还有,这些传统的数据存储单元,在热/流体分析、固体的大变形分析、这些的联合分析等时,分割成与当时情况、分析相适应的网眼(mesh)等后,使用有限元法,因此虽然能将该分析结果显示出来等,但使CAD和模拟一元化很困难,会出现不能将设计、分析、加工、装配、试验等各工序用相同的数据来管理的问题。换言之,现行的立体/表面CAD(以下称为S-CADSolid/Surface-CAD)存在以下问题(1)数据不能转换,在内部的转换操作较弱(数值误差和处理方法的问题);(2)不能直接用于模拟(由于无内部信息,不生成网眼是不行的);(3)不能通过CAM作加工研究(只有最终形状)。另外,在加工时也存在以下问题(1)不能表示加工流程(粗加工或工艺设计的支援不充分);(2)不能对应激光加工或超尖端加工等新的加工方法(只有切削,数据精度不够);(3)不能选择加工方法本身(在复合体内部具有不同材料特性)。为解决上述问题,本发明的发明人,创作了“合并形状和物性的实体数据存储方法”并申请了专利(专利文献1)。本发明如图1模式所示,将由对象的边界数据构成的外部数据通过八叉树分割法分割成与边界平面正交的立方体网格,将分割后的各网格区分为位于对象内侧的内部网格13a和包含边界面的边界网格13b。还有,该图的15是切断点。按照本发明,通过按每个网格存储各种物理参数,能以小存储容量来存储合并形状和物性的实体数据,从而对物体的形状、结构、物性信息、履历等进行一元化管理,能用相同的数据管理有关从设计到加工、装配、试验、评价等一系列工序的数据,能使CAD与模拟一元化。另外,本发明的发明人还创作了“将三维形状数据转换为网格内部数据的方法及转换程序”,并申请了专利(专利文献2)。依据本发明,在体(Volume)CAD中,能由外部数据形成保持相邻网格间的连续性,且不会形成不希望的间隙或精度的三角形,即便在曲率大的曲面上也可将表面分割为高精度近似的三角形网眼的网格内部数据。专利文献1特开2002-230054号,“合并形状和物性的实体数据的存储方法”专利文献2特愿2001-370040号,“将三维形状数据转换为网格内部数据的方法及其转换程序”,未公开专利文献3特开2003-44528号公报,“物体的表面格子生成方法”专利文献4特愿2003-131313号,“多介质数据的识别方法及其程序”,未公开非专利文献1K.Kase,Y.Teshima,S.Usami,H.Ohmori,C.Teodosiu,andA.Makinouchi″VolumeCAD″InternationalWorkshoponVolumeGraphics(VG03),2003,Tokyo.Japan.(toappear)。非专利文献2Y.Teshima,S.Usami,andK.Kase″ShapeApproximation,CubeCuttingandEnumeration″,TheInstituteofStatisticalMathematics,Tokyo,Japen,Abstractpp9.非专利文献3Y.Teshima,S.Usami,andK.Kase,″EnumerationonCubeCutting″,JapanConferenceonDiscreteandComputationalGeometry,2002,Tokyo,Japan.pp.87-88,非专利文献4C.M.Hoffmann,″TheProblemsofaccuracyandrobustnessingeometriccomputation.″,Computer,22(3)pp31-41,1989非专利文献5T.Ju,F.Losasso,S.Shaefer,J.Warren,″DualContouringofHermiteData″,Siggraph2002,Italy,proc.pp339-346非专利文献6W.J.Shroeder,″ATopologyModifyingProgressiveDecimationAlgoritm″,Proc.Visuallizatin97,pp205-212,Oct.1997非专利文献7W.J.Shroeder,J.A.ZargeandW.E.Lorensen,″DecimationofTriangleMeshes″,Proc.Siggraph92,pp65-70,July1992非专利文献8K.J.RenzeandJ.H.Oliver,″GeneralizedSurfaceandVolumeDecimationforUnstructuredTessellatedDomains″,Proc.VRAIS96,pp111-121,Mar1996非专利文献9B.Hamman,″ADataReductionSchemeforTriangulatedSurfaces,″CAGD,11(2)非专利文献10I.Navazo,″ExtendedOcttreeRepresentationofGeneralSolidswithPlaneFacesModelStructureandAlgorithms″,ComputerandGraphicsVol.13,No.1,pp5-16,1989非专利文献11H.Hoppe,T.DeRose,T.Duchamp,J.McDonald,andW.Stuetzle,″MeshOptimization″,Proc.Siggraph93,pp.19-26,Aug.1993非专利文献12H.Hoppe,″ProgressiveMeshes″Proc.Sigraph96pp99-108,Aug1996非专利文献13P.LindstromandG.Turk,″EvaluationofMemorylessSimplification″IEEEtvcg,5(2),pp98-115,April-June1999,非专利文献14M.GarlandandP.S.Heckbert,″SurfaceSimplificationUsingQuadricErrorMetrics,″Proc.SIGGRAPH97,pp.209-216,Aug.1997.非专利文献15C.M.Hoffmann.Theproblemsofaccuracyandrobustnessingeometriccomputation.Computer,22(3)31-41,1989.非专利文献16K.SughiharaandM.Iri.Asolidmodelingsystemfreefromtopologicalinconsistency.JournalofInformationProcessing,12380-393,1989.非专利文献17A.Kela.Hierarchicaloctreeapproximationsforboundaryrepresentation-basedgeometricmodels,Computer-AidedDesign,21(6)355-362,1989.非专利文献18I.Navazo,D.AyalaandP.Brunet.Ageometricmodellerbasedontheexactocttreerepresentationofpolyhedra,ComputerGraphicsForum(Eurographics′86Proc.)591-104,1986.非专利文献19W.LorensenandH.Cline.H.Marchingcubeshighresolution3Dsurfaceconstructionalgorithm.ACMComputerGraphics(Proc.ofACMSIGGRAPH,'87),21(4)163-169,1987.非专利文献20I.Navazo,D.Ayala,andP.Brunet″AGeometricModellerBasedontheExactOcttreeRepresentationofPolyhedra″,ComputerGraphicsForum5pp91-104,1986非专利文献21T.Hama,M.Asakawa,M.Takamura,A.Makinouchi,C.Teodosiu,″AStableandfastnewcontactsearchalgorithmforFEMsimulationofmetalformingprocess″,(toappear)非专利文献1和专利文献1提出的基于网格和与网格匹配的三角面片的形状表示及其数据的生成方法按以下三个步骤进行。(步骤1)由用户定义的网格空间和作为输入形状的三角面片的交点计算(网格切断点的计算)。(步骤2)按各网格在网格面上连接网格切断点,从而生成闭环路。此时,基于网格内网格切断点的个数或相邻网格之间的关系,由唯一确定的连线按顺序确定环路。(步骤3)对由各网格生成的闭环路内,基于输入形状的差异进行三角形分割。但是,该方法存在如下问题(1)对于具有同等于网格尺寸复杂程度的形状,存在(步骤2)的处理不结束的立方体。(2)由细于网格尺寸的形状,缓慢变为大形状的过程中,由于发生非流形形状,存在(步骤2)的处理失败的立方体。(3)在考虑将网格层次化的情况下,有关(步骤2)的处理中相邻关系的检索非常困难。作为解决这些问题的方法,需要直接使用输入形状的三角面片的相位信息,且根据需要进行形状简化的方法。还有,提出了将三角面片分割成网格的尺寸,用网格管理的方法(专利文献3),但这种方法中三角面片并不与网格匹配,是不能将网格对三角面片一对一管理的方法,并不适用于作为V-CAD目的的产品制造的从上游到下游工序的一元化数据管理。另外,有关三角面片的单独处理,由于已由Hoppe[11]等提出了通过进行三角面片的细分化/合并来进行形状表示的详细化/简化的方法(非专利文献12),存在细分化的参数或分割方法,以及通过合并时的判断基准而派生的各种各样系统。但这些方法是将原来形状的二维流形条件及相位条件直接继承的转换方法,而不适合将微小形状有意识简化等操作(非专利文献6、7、8)。发明的公开本发明鉴于上述问题构思而成。即,本发明的目的在于提供有关体CAD直接使用输入形状三角面片的相位信息,并可根据需要进行形状的简化,由边界表示数据生成体数据的方法及其程序。作为V-CAD(非专利文献1)的形状表示方法,采用了利用长方体网格和与各网格匹配的三角面片的方法。本发明中作为三维形状表示方法,实现了由常用的三角面片组到与网格匹配的三角面片组的转换。作为达成该课题的方法,提出以下两种方案(1)不改变原来三角面片组的相位或二维流形条件,而进行三角面片的细分化/合并,使其与网格匹配的方法;(2)有关网格尺寸以下的结构,不改变二维流形数据而进行相位结构的编辑,近似表现整体形状的方法。通过开发这些方法及程序,能将任意形状数据与任意尺寸的网格匹配,实现不仅可表现用于设计的数据形态,而且可表现用于分析或制造、逆向工程等产品制造全工序的数字数据形态。还有,随着该形状表示方法的发明,也能实现以前以边界表示形式数据描述的CAD难以实现的,彼此相接形状的集合运算。本发明的方法及程序大致分为以下三个步骤。(步骤1)带相位的三角面片的网格面分割。(步骤2)在带相位的三角面片的顶点中,将网格棱线上顶点外的顶点合并到其它顶点。(步骤3)将与(步骤2)的条件或V-CAD的数据结构条件(一棱一切断点的条件)相反的部位通过近似处理来合理化。在这些步骤中,在(步骤1)的处理中,将用于分割的网格面信息赋予给三角形顶点,用在(步骤2)的合并处理。将(步骤3)处理所需的形状分为以下6种(a,b,c,d1,d2,d3),分别适用于5种处理及其组合,来进行形状的近似/合理化处理。(a)网格内独立的多面体/三角面片。(b)在相邻网格之间通过包含面上点的3点或其以上点连接三角面片的立方体。(c)在相邻网格之间通过包含同一棱上点的3点或其以上点连接三角面片的立方体。(d)除(c)以外的立方体上同一网格棱上遗留有2点以上的切断点的立方体。还有,有关(d)的立方体,根据与各切断点连接的三角面片状态,能够分割为3个图案(d1,d2,d3),根据各自的状态进行处理,从而将棱上的点逐点消除,关于最后剩下(d3)的立方体,将两个三角形数组作为一组,消除棱上的切断点。结果,持续处理直到棱上的切断点成为0点或1点。(d1)该切断点成为三角面片边界的立方体。(d2)该切断点成为三角形的内部点,在该位置上弯曲的立方体。(d3)该切断点为三角面片的内部点,将其棱横断的立方体。(A)网格内独立的多面体/三角面片的删除。(B)细筒/孔形状的分割。(C)以相隔微小距离点来强制分割棱线。(D)在2块板上开孔,以筒状连接。(E)重新分配切断点的属性。通过引入这些处理,在CAD中网格与由网格管理的三角面片的形状表示上,会产生如下优点(1)无需变更成为输入的表面形状数据的二维流形条件/相位条件,能够与所需尺寸的网格匹配。(2)对指定网格尺寸以下的微细形状,无需变更输入的表面形状数据的二维流形条件,而能进行近似/简化。(3)通过准备输入的三角面片数据,能进行任意形状的建模,另外再利用V-CAD数据,也能进行变形操作或集合运算(Boolean布尔运算)操作等处理。特别是,以前边界表示CAD中相接形状的集合运算操作是存在较多问题的处理,但可没有问题地顺利实现。(4)对于单层次网格的处理,通过加上几个点的简单处理而实现对应于层次化网格。按照本发明,能够实现以前方法较困难的通过八叉树和与八叉树网格匹配的三角面片来实现形状表示、物理参数表示。还有,通过开发网格对三角面片的匹配方法,以三角面片表示的形状之间的集合运算等变形处理比现有的B-rep数据更能强健地进行。其结果,作为体CAD,能直接使用输入形状的三角面片的相位信息,且能根据需要进行形状的简化,可以实现CAE或CAM等与CAD的设计数据双向传输。本发明其它目的及有益特征,借助以下附图的说明将更加清晰。附图的简单说明图1是专利文献1的“合并形状和物性的实体数据的存储方法”的示意图。图2是用以实行本发明的方法的装置结构图。图3是体数据的数据结构图。图4是本发明的方法的流程图。图5是孤立多面体的示意图。图6是面上点连接的示意图。图7是同一棱上连接的示意图。图8是边界点的示意图。图9是弯曲形状的示意图。图10是贯通形状的示意图。图11A、图11B是孤立多面体(三角面片)的处理示意图。图12A、图12B、图12C是面上点等的连接面片处理的示意图。图13A、图13B、图13C是一棱多个切断点的边界点处理的示意图。图14A、图14B、图14C是一棱多个切断点的弯曲点处理的示意图。图15A、图15B、图15C、图15D是一棱多个切断点的2片贯通面处理的示意图。图16是面上切断点的示意图。图17A表示实际工业产品形状(汽车保险杆的模具部件)。图17B表示实际工业产品形状(汽车保险杆的模具部件)。图17C表示实际工业产品形状(汽车保险杆的模具部件)。图17D表示实际工业产品形状(汽车保险杆的模具部件)。图17E表示实际工业产品形状(汽车保险杆的模具部件)。图17E表示实际工业产品形状(汽车保险杆的模具部件)。图18A、图18B表示简单形状之间集合运算结果。最佳实施方式的说明以下将参照图面就本发明的最佳实施方式进行说明。以体素(voxel)或八叉树网格(octant)和与网格匹配的三角面片组来表示形状的方法,已在几部论文中有提到。本发明提出了由边界表示数据(以下,B-rep数据)经过带相位的三角面片(Intermediate-Triangle),通过在无限平面上切断的交点的棱线分割(EdgeSplit),或利用网格索引信息的棱线合并(Edge-Collapse)生成并编辑与网格匹配的三角面片的方法,以及作为该数据处理系统的体CAD(以下称为V-CAD)。还有,此时,由于各三角形能以网格管理,对具有网格尺寸以下的结构(细孔或棒、薄片或间隙)的立方体中,进行伴随着结构编辑(孔的消除或作成/微小壳体的删除)的形状近似处理。现就有关作为基本处理的体素(单位大小的网格)为基础进行说明,然后,说明向八叉树网格的扩展。从而,以通过对利用传统参数曲面等的边界表示CAD中成为问题的几何运算进行强健化和并行化来达到高速化目标,利用统一数据进行结构分析或热流体分析等的模拟,以及在各种各样加工或与来自具有内部结构体的物体的测量数据比较上直接利用为目的。图2是为执行本发明方法的装置结构图。如图所示,该装置10包括外部数据输入部件2、外部存储装置3、内部存储装置4、中央处理装置5及输出装置6。外部数据输入部件2例如为键盘,输入由对象的边界表示数据构成的外部数据。外部存储装置3为硬盘、软盘、磁带、小型盘等,存储合并形状和物理量的体数据及其生成程序。内部存储装置4为例如RAM、ROM等,保管运算信息。中央处理装置5(CPU)集中处理运算或输入输出等,与内部存储装置4一起执行程序。输出装置6为例如显示装置和打印机,输出存储的体数据和程序的执行结果。中央处理装置5、内部存储装置4以及外部存储装置3共同作为后述的数据转换部件、关联赋予部件、分割配置部件、棱线合并部件、状态确认部件、简化部件、网格分配部件以及标记部件起作用。从外部输入的外部数据,是表示多面体的多边形数据、用有限元法的四面体或六面体元、使用三维CAD或CG工具的曲面数据、或其它立体表面由部分平面或曲面构成的信息来表示的数据。除这些数据(称为S-CAD数据)之外,外部数据也可以是(1)通过V-CAD独自接口(V-interface)人工输入来直接作成的数据,(2)测定机或传感器、数字化转换器等表面的数字化数据,或(3)具有CT扫描或MRI及一般用于体(Volume)绘制的体素数据等内部信息的体数据。1、序论在处理传统的B-rep数据(边界表示数据)的立体(Solid)CAD或表面(Surface)CAD(以下统称为S-CAD)的数据,能以非常小的数据大小表示各种各样的形状,但由于在面的边界位置精度等,数据的再利用性会大为降低,其运用时也必须要非常细心的注意(非专利文献15、16)。还有CAE或CAM中,由于数据误差造成处理的不稳定或收敛计算的处理时间非常长,实际往往转换成三角面片或体素等后利用。还有,特别是为达到集合运算等几何运算高速化的目的,也有利用八叉树的实体模型(非专利文献17)或使八叉树网格对应于多面体的扩展八叉树(ExtendedOctree)研究(非专利文献18)等。但并没有像本发明那样以在后续分析或加工中抑制比网格小的结构为目的,超过该相位地简化,或八叉树中相邻网格之间有层次差时也无间隙地维持二维流形条件的结构。本发明提示以体素或八叉树网格(Octant)等的层次化网格和网格内的三角形数组来构成的体CAD的数据结构即Kitta立方体(非专利文献1、2、3),据此,提出对下游工序利用的三角面片的精度或尺寸进行控制,不仅可用于设计,而且可用于包括分析或制造、内部结构在内的逆向工程的数据结构,以及对于带相位的三角面片,以基本的操作保持相位条件并建立Kitta立方体的方法。还有,若利用Kitta立方体,则能仅用网格单位的局部运算处理来进行集合运算等,因此容易实现用S-CAD处理B-rep数据比较困难的、彼此相接的形状之间的集合运算(非专利文献4)。还有,本发明中的体数据意思是体CAD的数据结构即Kitta立方体。2、背景作为形状表示方法利用三角面片的方法,基于数据结构的简便性或计算处理的简便性、处理速度等方面,用在CG、CAE、CAM、逆向工程等广泛的领域(非专利文献7、12、19)。此外常用CAE或CAM中利用的接触判定等局部运算的立方体,多采用利用体素等来管理浮在空间上的三角形的方法(非专利文献10、20、21)。V-CAD中,将八叉树网格和由各网格管理的三角面片用于形状表示(非专利文献1、2、3)。还有,构成三角面片(以下将由Kitta立方体管理的三角形称为“切断三角形”)顶点位置,限定于各网格的顶点或棱线上,棱线上的顶点数最多也限定为1个,以达到数据结构和处理简化之目的。通过这样的数据结构,取得能够控制三角面片的精度或尺寸的优点,但对于比网格尺寸小的形状怎样处理,成为了一个课题。其解决方法之一有移动立方体(MarchingCubeMC)法(非专利文献19),但也研究了作为具有广泛表示能力(非专利文献1)和将S-CAD的信息更加直接处理的方法,使用Kitta立方体的三角形。3、在先技术3.1V-CAD的数据结构Kase等通过体CAD(非专利文献1)等提出的V-CAD数据将重点放在体素对三角面片的管理。数据结构如图3所示,本发明方法的目标也是该数据结构。该数据结构有作为管理三角面片网格的边界网格,以及与三角形没有关联的非边界网格两种。边界网格中按每个顶点保持1个介质值,而非边界网格中网格上保持1个介质值。3.2V-CAD的在先方法及程序V-CAD的数据生成方法,按以下的步骤进行(1)步骤1切断点的计算计算镶嵌(Tessellation)后三角面片和网格棱线的交点,求出切断点。在求出网格棱上多个交点的情况下,合并为有代表性的一点。(2)步骤2环路的决定和切断三角形的设定由各网格切断点的配置,利用相邻网格的相位关系来依次决定网格内切断三角形的边界环路,并与几何形状比较来设定切断三角形。(3)步骤3网格的内外判定最初进行非边界网格的内外判定,然后,进行非边界网格的内外判定。非边界网格的内外判定,对任意网格给与初始值,使相邻非边界网格具有相同的介质值。边界网格的内外判定对与非边界网格共有的顶点设定非边界网格的介质值,还有,关于求不出的顶点,沿着不包含切断点的网格棱线及不与切断三角形交差的网格对角线附加已知的介质值。还有,对于切断点存在于网格顶点上的立方体,采用该网格内介质值所占方位角较大的介质值。这样,通过步骤1~3,可作成与多种形状对应的Kitta立方体,对于低品质S-CAD数据的输入也可以作恰当的转换。但另一方面,对于比网格尺寸小的结构难以进行恰当的近似。本发明方法对该方面的对应处理和处理八叉树(Octree)结构的简单处理作了研究。于是,如本发明的介绍,开发出对于带相位的三角面片,作为保持相位的简化及其逆操作,进行由Hoppe(非专利文献11、12)或Shroeder(非专利文献7)、Renze(非专利文献8)、Hamman(非专利文献9)等提出的、通过棱线分割(Edge-Split)处理和棱线合并(Edge-Collapse)处理来与网格匹配的方法。另外,为达到近似表示比网格尺寸小的结构之目的,新开发了保持三角面片的二维流形特性、并进行相位结构的修正(孔的作成、消除/壳体的分离、合并)方法,以在后续的模拟或加工中直接使用。有关变更三角面片相位的重网格化(Remeshing),Ju(非专利文献5)或Shroeder(非专利文献6)提出过方案,但Ju的方法,需要作成埃尔米特(Hermite)数据,而Shroeder的方法通过消除欧拉运算中的计算环(或者是环路)来进行三角形的简化,不能应对删去小孔,基于以上原因,不能为目的而直接使用。4、本发明的方法和程序本发明的概要如“梗概”所示;各步骤的详细内容如4.2~4.4所示;利用本方法的集合运算(Boolean)的概要如4.5所示、并且扩展成八叉树(Octree)时的变更点如4.6所示。4.1梗概及中间数据从S-CAD作成为V-CAD数据的过程中,作为中间数据利用带相位的中间三角形(Intermediate-Triangle)。带相位的中间三角形由带相位的中间棱线(Intermediate-Edge)/带相位的中间顶点(Intermediate-Vertex)的层次结构数据构成。带相位的中间顶点,作为属性值保持包含顶点的网格索引数据(Index)和顶点的类型(网格内(BODY)、网格面(FACE_YZ,FACE_ZX,FACE_XY)、网格棱(EDGE_X,EDGE_Y,EDGE_Z)、顶点(VERTEX))。利用该数据结构,计算出包含网格面的无限平面和带相位的中间棱线的交点,将带相位的中间三角形作细分化,对齐网格的棱线进行棱线合并,从而进行带相位的中间三角形的网格匹配化。本发明方法的流程图如图4所示。在这些步骤中,在此就处理的概要和一般的处理步骤作解说。该图的S-CAD数据,即边界表示数据是在步骤1之前预先通过外部数据部件2输入给计算机的外部存储装置3或内部存储装置4的。(1)步骤1镶嵌化(数据转换)中央处理装置5、内部存储装置4以及外部存储装置3共同通过数据转换部件实施数据转换步骤。即步骤1中将B-rep数据进行实体化(面的边界线的合并),以此为基础将表面形状转换为带相位的三角面片。此时,原来的B-rep数据精度较低不能很好的进行实体化的立方体上,在转换为带相位的三角面片时不能很好的连接相位,存在三角面片里有孔的立方体。对此,通过对空有指定阈值以下直径间隙部分的多边形进行三角形分割,来进行孔填埋。(2)步骤2网格映射(赋予关联)中央处理装置5、内部存储装置4以及外部存储装置3共同通过关联赋予部件实施关联赋予步骤。即步骤2中为使网格面的切断点计算高速化,而预先利用沿着外接三角形的坐标轴的长方体(BoundingBox)来进行哪个网格里含有哪个三角形的关联赋予。(3)步骤3交点的计算和棱线分割(分割配置)中央处理装置5、内部存储装置4以及外部存储装置3共同通过分割配置部件实施分割配置步骤。(4)步骤4棱线合并中央处理装置5、内部存储装置4以及外部存储装置3共同通过棱线合并部件实施棱线合并步骤。(5)状态确认步骤中央处理装置5、内部存储装置4以及外部存储装置3共同通过状态确认部件实施状态确认步骤。由于在该步骤中要对数据量和处理时间两方面进行管理,在Kitta立方体棱线合并(Edge-Collapse)结束时对是否满足下列项目作出判定(棱基础的点管理)a)网格体内、或网格面上没有三角形的顶点。b)网格棱上只有一个三角面片的顶点。c)因切断点合并而不发生相位变化的现象。在发现了不满足这些条件的顶点时,将该周边的形状按4.4的方法作近似处理,作成可用网格内三角面片表示的形状。(6)步骤5简化(Simplify)中央处理装置5、内部存储装置4以及外部存储装置3共同通过简化部件实施简化步骤。(7)步骤6三角形的网格匹配(网格分配)中央处理装置5、内部存储装置4以及外部存储装置3共同通过网格分配部件实施网格分配步骤。即步骤6中参考顶点的索引数据将各三角形和其顶点分配给网格。这里,生成如图3所示的Kitta立方体数据结构。(8)步骤7网格的内外判定(标记)中央处理装置5、内部存储装置4以及外部存储装置3共同通过标记部件实施标记步骤。即步骤7中利用网格之间的相邻关系,设定网格的属性值。该步骤7中采用专利文献4所记载的方法。即,具有将各网格的各顶点区分为由边界数据隔开的多个空间的空间区分步骤(D)。该空间区分步骤(D)包括按每个由边界数据隔开的空间将不同空间编号设定给所有的非边界网格的非边界网格设定步骤(D1);以及将边界网格的各顶点设定为未由边界数据隔开的相邻非边界网格空间编号的边界网格设置步骤(D2)。另外,在边界网格设置步骤(D2)中,将与边界数据一致的顶点设定为相邻两个非边界网格中任一空间编号。还有,非边界网格设定步骤(D1),通过X、Y、Z三个方向依次重复,或回归处理来按顺序扫描所有长方体网格。步骤7中设定网格属性值的数据作为V-CAD数据(体数据)输出给外部存储装置3及输出装置6。4.2交点计算和棱线分割(Edge-Split)对浮在空间上带相位的三角面片按网格面作分割,其目的在于使所有三角形成为配置在网格内部及边界上的状态。最初,作为已有的带相位的中间顶点的初始处理,通过各顶点是否在某个面上来附加BODY~VERTEX的属性值以及从该坐标值先附加所包含的网格索引数据。然后,利用网格映射信息以及带相位的中间三角形的相位信息,进行带相位的中间棱线和含有网格面的平面的交点计算,将该交点作为新的带相位的中间顶点进行登录。如4.1所述,按顺序附加属性值以及该点所属网格的索引数据。4.3棱线合并(Edge-Collapse)该步骤中,如非专利文献7、8、9、11、12等所述,进行不作相位变更的棱线合并。另外除保持相位外,为使三角形的顶点限定于网格的棱上或网格顶点,作为能够棱线合并的条件,附加下列项目。(1)体内点合并为任意属性值的点。(2)面上点合并为面上点、棱上点或网格顶点。(3)棱上点或者原封不动,或者合并为棱上点或网格顶点。(4)网格顶点或者原封不动,或者合并为网格顶点。(5)按上述条件作合并时,仅合并为同一网格内的点。这些条件如表1和表2所示。给表的纵轴输入属性值t1,横轴输入属性值t2,所得到的值作为标记值。在满足下表条件的情况下,使属性值t2向属性值t1合并。介质顶点的合并条件(2)对于符合上述可合并条件存在多个相邻带相位的中间顶点的立方体中,按照非专利文献14等记述的二维误差矩阵(QuadricErrorMetricQEM)值,按体变化少的顺序设定优先顺序,棱线合并成与原来几何形状相近的形状。4.4状态确认对于棱线合并结果,确认减少的三角形数组是否满足下列条件(1)没有遗留面上点/体内点(2)没有遗留索引数据和属性值相同的点若对该条件进一步详细分析,则存在下列条件(a)网格内独立的孤立多面体/三角面片(图5)(b)在相邻网格之间通过包含面上点的3点或其以上点连接三角面片的面上点连接的立方体(图6)。(c)在相邻网格之间通过包含棱上点的3点或其以上点连接三角面片的同一棱上连接的立方体(图7)。(d)除(c)以外的立方体上同一网格棱上遗留有2点以上带相位的中间顶点的立方体。还有,关于(d)的立方体,根据与每个带相位的中间顶点相连的三角面片状态,能够分割成3个图案,通过进行与各状态对应的处理来逐点消去棱上点,对于最后剩下(d3)的立方体,将2个三角形数组作为一组,消去棱上带相位的中间顶点。结果,持续处理至棱上的带相位的中间顶点成为0点或1点。(d1)该带相位的中间顶点成为三角面片边界的边界点的立方体(图8)。(d2)该带相位的中间顶点成为三角形内部点,在该位置弯曲的弯曲形状的立方体(图9)。(d3)该带相位的中间顶点为三角面片的内部点,横断该棱的贯通形状立方体(图10)。根据各立方体,划分简化步骤中的处理。4.5简化关于形状的近似,以下列5种操作及其组合覆盖。(1)网格内独立的多面体/三角面片的删除通过三角形的边由所有网格内的三角形共有来检索具有同一索引数据的带相位的中间顶点的三角形构成的多面体(如遵从Hoppe的规则,原则上为四面体,但由于不能进行从面上点到其它面上点的合并,本方法中还考虑其它多面体)。还有,关于单独浮着的多边形,通过寻找无论哪个边也没有与其它网格三角形共有的三角形数组来检索。删除这样找出的属于多面体或多边形的所有三角形、带相位的中间顶点。(2)细筒/孔形状的分割如图6或图7所示的有细筒型形状或孔形状的立方体,如按表1、表2所示条件进行棱线合并,会发生与Hoppe的条件相反地相位结构变化的情况。在发生这样的立方体时,以棱线合并失败的2点和相邻任意1点构成的3点(即在图上为面上的3点,但也有全部成为网格棱上点的立方体)构成的三角形为边界分割形状,并将两侧打开的3边用各三角形填塞。此时,复制分割的三角形顶点作为别的要素处理。(3)以相隔微小距离的点强制分割棱线(Edge-Split)如图13~图15所示,对应于在网格棱线上具有多个顶点的立方体进行前处理。对连接在带相位的中间顶点的对象三角形的边进行列表,在该相隔微小距离的位置上作成带相位的中间顶点,用该点来进行棱线分割。(4)在2块板上开孔,筒状连接以(3)的处理继续为前提。据此,对象网格棱上的2点已由附近的点进行棱线分割。删除对象网格棱上的2点和利用该点的三角形,从而,网格棱周围就会发生小孔。接着,使2块的孔之间发生筒状的三角面片。此时,通过进行按各网格处理,构成无自行干扰的三角面片(图15)。(5)属性值的变更进行各种近似处理后,为再次进行棱线合并,将网格棱上或网格面上的点变更为面上点或体内点。此时,变更为面上点的立方体中,按下列步骤观察合并方向(相邻的顶点)的索引数据,设定面的ID和索引数据。以下对应于状态确认的项目,描述各自的处理。(a)独立多面体(三角面片)的处理处理(1)图11A→图11B(b)相邻网格之间的连接(通过面上点等连接面片的处理)处理(2)之后(5)图12A→图12B→图12C(c)相邻网格之间的连接(2)处理(2)之后(5)(d1)三角面片边界(一棱多个切断点的处理(1),边界点)处理(3)之后(5)图13A→图13B→图13C(d2)三角面片的弯曲(一棱多个切断点的处理(2),弯曲点)处理(3)之后(5)图14A→图14B→图14C(d3)三角面片的通过(一棱多个切断点的处理(3),2片的贯通面)处理(3)之后(4)图15A→图15B→图15C→图15D进行这些处理后,对于面上点/体内点遗留或者需要执行面上点或体内点追加处理的情况下,返回到棱线合并的处理。4.6集合运算(Boolean)通过利用本方法,如准备好了网格和带相位的三角面片,就可自由的作网格内面的构成。另外,由于成为边界的三角形是由网格来管理的,有关集合运算处理等的形状运算,如Kela(非专利文献17)指出的那样,仅参照每个网格或一个相邻附近,重复局部运算,就能够进行处理。还有,例如,以下的步骤可作集合运算,比起利用NURBS曲面的S-CAD集合运算可进行远远强健的计算。(1)步骤1非边界网格之间的运算可判断是否含有目标介质,与通常体素的布尔运算处理相同。(2)步骤2非边界网格对边界网格的运算运算的种类会根据哪个网格成为边界网格处理会有所分歧,但根据哪个网格的信息或者原封不动、或者仅反转边界面都能得到继承。对应表如表3所示。表中的基础(Base)是指布尔运算基准侧的网格,工具(Tool)表示的是添加或减少的网格。(实际上,基础和工具的差异仅在减少(Subtraction)时有关系。此时,考虑为目标(Object)=基础-工具)。还有,关于处理栏的文字,内部(Inside)目标形状的内侧、外部(Outside)目标形状的外侧、边界(Boundary)目标形状的边界、基础或工具的任意一个,原封不动的继承边界网格的信息。还有,(反面(Negative))表示的是反转边界网格的网格内面来继承。布尔运算(1)由这样处理的信息,将继承边界三角形的的信息按顺序连接。(3)步骤3边界网格对边界网格这里,在同样网格区域内三角形之间存在交差/共存/重复的状态。为编辑成目标形状,按以下处理进行。(S1)进行三角形之间的交差计算,进行棱线分割,使各三角形成为在三角面片的交线部分上分割的状态。(S2)在双方的三角形中,删除不需要区域中的三角形。(表4)[表4]布尔运算(2)(S3)合并各三角形。此时,对减少(Subtraction)运算工具侧网格的边界面表背反转后进行合并。(S4)在各三角形存在于同一平面上的立方体,按其三角形的表背方向,如下进行处理。(a)同方向留下一致的2块面的单面。(b)反方向删除一致的2块面的两方。(S5)将合并后的三角面片按顺序连接到带相位的三角面片上。(4)步骤4基于这样连接的三角形,重新进行棱线合并处理以下来结束集合运算。4.7向八叉树扩展到此为止,以等质的长方体网格为前提进行了探讨,但对于八叉树化的情况也可以通过加上若干变更点来以同样的处理可简单进行网格匹配化。变更点如下(1)相邻边界网格间存在层次差的情况下,将尺寸大的一侧网格设为“连接网格”,缓和下述条件·在共有面上允许有面上点。·在共有棱线上允许有2个以上的切断点。(图16)(2)棱线分割是,对齐最细的网格,准备切断平面数组,通过有无将各面用作网格面的网格,来决定实际交点计算的是与非。(3)在棱线合并时,根据该位置网格的尺寸,重新分配带相位的中间顶点的类型。此时,不需要变更索引数据。(4)网格内外判定时,对在网格棱上相连的顶点上无法进行网格内外判定的情况下,在成为对对角/面对角的顶点相连的网格上,与单一层次网格相比存在更多,因此变更相邻关系的检索。通过上述变更,实现了V-CAD数据的层次化网格的对应。5.结果进行这些处理作成的V-CAD数据附在图17A~F、图18A、图18B上。图17A~F表示的是实际工业产品的形状(汽车保险杆的模具部件)。如果抽出具有比网格尺寸细的孔形状的部分(图17C),如下级图17D所示,为了按4.5所述简化或者将该孔以Kitta立方体来表示,可减小网格的尺寸一级(图17F),但考虑到这时的数据量会增大,如图17E所示,只对需要的网格作层次化,这样,就可以一边抑制数据的尺寸,一边进行所需形状表示。还有,还可进行这些形状表示之间的转换/逆转换。还有,关于集合运算的结果,将简单形状之间的运算结果记载于图18A、图18B上。图18A是原始图,图18B是减少后的图。在这里,计算的是2个内接长方体之间的减少,但在2个形状连接状态下的集合运算,在现在的S-CAD中失败的情况不在少数。因此,各国的CAD数据作成标准(ProductDesignQuality),作为“建模小技巧”形状推荐一定要在明确交差状态下进行集合运算。与之相比,由于采用了Kitta立方体,形状被离散化、由网格来管理,所以相接形状之间的集合运算就容易实现。还有,以上通过几个最佳实施例说明了本发明,但应清楚本发明所包含的权利范围并不限于这些实施例。相反,本发明的权利范围包括所附权利要求所包含的所有改良、修正及等效物。权利要求1.一种由边界表示数据生成体数据的方法,其特征在于通过外部数据输入部件将对象的边界表示数据输入计算机;通过数据转换部件将边界表示数据转换为带相位的三角面片;通过关联赋予部件将空间分割成与边界平面正交的长方体网格,且进行哪个网格里含有哪个三角形的关联赋予;通过分割配置部件将浮在空间上的带相位的三角面片用网格面分割,使所有三角形成为配置在网格内部及边界上的状态;通过棱线合并部件进行不作相位变更的棱线合并;通过网格分配部件参考顶点的索引数据,将各三角形及其顶点分配给网格;通过标记部件设定各网格的属性值。2.如权利要求1所述的由边界表示数据生成体数据的方法,其特征在于在棱线合并部件的棱线合并后,通过状态确认部件对棱线合并的结果、减少的三角形数组是否满足预定条件进行确认;在不满足预定条件的情况下,通过简化部件对不合适位置进行简化,然后,再次通过棱线合并部件进行棱线合并。3.如权利要求1或2所述的由边界表示数据生成体数据的方法,其特征在于准备体数据和带相位的三角面片,基于连接的三角形,进行非边界网格之间、非边界网格对边界网格以及边界网格对边界网格的集合运算。4.一种体数据的生成程序,其特征在于,包括将对象的边界表示数据输入计算机的外部数据输入步骤;将边界表示数据转换为带相位的三角面片的数据转换步骤;将空间分割为与边界平面正交的长方体网格,且进行哪个网格里含有哪个三角形的关联赋予的关联赋予步骤;将浮在空间上的带相位的三角面片用网格面分割,使所有三角形成为配置在网格内部及边界上的状态的分割配置步骤;进行不作相位变更的棱线合并的棱线合并步骤;参考顶点的索引数据,将各三角形及其顶点分配给网格的网格分配步骤;以及设定网格属性值的标记步骤。5.如权利要求3所述的体数据的生成程序,其特征在于包括棱线合并步骤后,对棱线合并的结果、减小的三角形数组是否满足预定条件进行确认的状态确认步骤;以及在不满足预定条件的情况下,对不合适位置进行简化的简化步骤,然后,再次进行棱线合并步骤。6.如权利要求4或5所述的体数据的生成程序,其特征在于准备体数据和带相位的三角面片,基于连接的三角形,进行非边界网格之间、非边界网格对边界网格及边界网格对边界网格的集合运算。全文摘要通过外部数据输入部件将对象的边界表示数据输入计算机,通过数据转换部件将边界表示数据转换为带相位的三角面片,通过关联赋予部件将空间分割成与边界平面正交的长方体网格,且进行哪个网格里含有哪个三角形的关联赋予,通过分割配置部件将浮在空间上的带相位的三角面片用网格面分割,使所有三角形成为配置在网格内部及边界上的状态,通过棱线合并部件进行不作相位变更的棱线合并,通过网格分配部件参考顶点的索引数据,将各三角形及其顶点分配给网格,通过标记部件设定各网格的属性值。文档编号G06F17/50GK1849608SQ20048002639公开日2006年10月18日申请日期2004年7月14日优先权日2003年7月16日发明者宇佐见修吾,加濑究,寺田雄一郎,八木博史申请人:独立行政法人理化学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1