首页/文章/ 详情

上海交通大学教授何援军:国产CAD十大挑战

4小时前浏览5

本号按为我国工业软件的发展,本号发布“我国工业软件基础建设”系列文章。讨论标准建设、理论建设、计算工具、几何内核开发等工业软件基础建设中的一些问题。这些文章是基于作者数十年从事CAD/CG和几何计算的科学研究、理论探索、软件开发和教学实践等的长期积累形成的一些思考。鉴于CAD是工业软件的杰出代表,也是作者主持过CAD软件开发和推广应用,系列文章将主要基于CAD软件的基础建设开展。欢迎同行、读者提出宝贵意见

这是“我国工业软件基础建设”系列文章的第二篇——CAD的十大挑战。

CAD十大挑战  

——“我国工业软件基础建设”系列之二  

引言  

CAD是基于交互计算机图形学的提出而出现的。一般认为1963年麻省理工学院的Ivan Sutherland人机对话系统”博士论文开创了图形界面由此开始了交互系统。我国的科学界和工程界迅速做出反应,从六十年代中期开始,CAD技术在造船工业与航空工业中率先开始研究与应用。文献【3】指出,“上海则推出以上海市花白玉兰命名的“白玉兰CAD”和“白玉兰图档管理系统”作为上海市CAD应用工程的软件产品进行推广。白玉兰CAD的原型是1973年开始研究的图形处理系统(Drawing Processing System,DPS)。该系统于1988年推出了DPS交互版本,相比AutoCAD1.0在1981年推出交互系统,相隔时间不是很长。”一斑见全豹,证明我国CAD系统的起步并不迟。

我国CAD经历过几次大发展,特别是1991年,国家科委等八部委倡导要“甩掉图版”;1992年,国务院批复实施国家“CAD应用工程”,CAD软件的发展和应用都有大的发展。遗憾的是,中间出现了一个断层。

2005年,LesA. Piegl(美国佛罗里达州坦帕市南佛罗里达大学计算机科学与工程系教授,CAD'xx 年度会议的总主席)发表了《Ten challenges in computer-aided design》的论文[1] ,提出了CAD的十大挑战(表1)。  

表1 Les A. Piegl 提出的CAD十大挑战

Ten challenges in  computer-aided design      

CAD十大挑战      

Challenge no. 1: robustness      

挑战 1:稳健性      

Challenge no. 2: geometric uncertainties      

挑战 2:几何不确定性      

Challenge no. 3: error handling      

挑战 3:错误处理      

Challenge no. 4: CAD engines      

挑战 4CAD 引擎      

Challenge no. 5: 3D      

挑战 53D

Challenge no. 6: from idea to design      

挑战 6:从构思到设计      

Challenge no. 7: CAD for the disabled      

挑战 7:为残疾人的CAD

Challenge no. 8: internet CAD      

挑战 8:互联网 CAD

Challenge no. 9: CAD education      

挑战 9CAD 教育      

Challenge no. 10: CAD theory      

挑战 10CAD 理论      

同年,David J. Kasik(波音公司信息系统的软件工程、几何和可视化以及用户界面技术的架构师)等也发表了《Ten CAD challenges》的文章[2],提出了另一个CAD十大挑战(表2)。  

2 DavidJ. Kasik等提出的CAD十大挑战

Ten CAD challenges      

CAD十大挑战      

Challenge no. 1 Shape control      

挑战1:形状控制      

Challenge no.2 Interoperability      

挑战2:互操作性      

Challenge no.3Design exploration      

挑战3:设计探索      

Challenge no.4Reversing engineering      

挑战4:逆向工程      

Challenge no. 5 Everything in its place      

挑战5:各司其职      

Challenge no.6 What we do      

挑战6:我们的工作      

Challenge no.7Understanding vast  quantities of data      

挑战7:理解大量数据      

Challenge no.8Appropriate designs for  other uses and users      

挑战8:针对其他用途和用户的适当设计      

Challenge no.9 Retrieving data years late      

挑战9:多年后的数据检索      

Challenge no.10 Limited by the speed of light      

挑战10:光速的限制      

可能与作者的身份有关或是各人所从事的工作性质不同,两文所提挑战的侧重点不一样。前者偏重于从理论上挑战问题的要求。后者则更偏重于从应用角度给出CAD要解决的问题。

为什么都会讨论CAD的挑战问题?因为CAD是工业软件的代表,CAD的关键问题解决了,工业软件的发展也就顺了。

本文提出一个国产版的《CAD的十大挑战》,主要是基于几何的。因为CAD的基础和核心是几何问题。

基本认知

CAD的处理对象是“形”,包括“形体”和“形状”。CAD在计算机上以形模拟现实世界,构建虚拟世界,先造型而后得图。

形的机内表示是“模型”,表达基础是几何,构造基础是计算。所以CAD就是根据工程的要求围绕几何的  
  • 表示(模型)    

  • 表现(显示)    

  • 计算(求交)    

  • 构造(造型)    

等展开的,用算法,交互方式和交互技术。  

回顾我国CAD系统的研发历史及我国学者取得的成果与基础。面向新时期,需要明晰当今工业软件的新需求、新瓶颈、新技术,去提炼共性问题、解决关键问题、探索基础理论、构建开发工具、提供软件服务,寻求从根源上解决工业软件几何引擎等核心算法的理论、方法和技术问题,突破工业软件的根技术。

针对图形图像已经成为新的计算源、计算对象和计算结果的新环境,需要研究“几何计算”问题。“形计算”【4-7就是基于“几何问题几何化”的思想提出来的一种几何计算理论和计算机制,它将向量几何、画法几何、高等代数、算法理论等融合起来,在几何定义、几何表示、几何相交、几何重构以及几何变换等方面,充分发挥人的空间思维特长,将繁复的代数运算尽可能地分离出来,让计算机去做,寻求一种解的表述与传递的新方法。从理论上提出了一种解决重点、重线和重面等几何奇异问题的完整方案。

因此,如果基于形计算更新工业软件的计算基础,将为使工业软件的核心技术,以及几何内核的关键算法在稳定性、简单化和计算效率上有大提升。  

基于以上对CAD本质的认知,正视现有CAD系统亟待解决的关键问题和发展瓶颈,面向CAD系统的发展趋势,本文提炼出CAD的十大基础问题。阐述CAD的十大挑战,也适当给出一些解决问题的思路和方案。

挑战一、几何定义      

挑战六、工程应用      

挑战二、几何表示      

挑战七、基础理论      

挑战三、几何表现        

挑战八、几何内核        

挑战四几何计算        

挑战九、数据交换        

挑战五、人机交互        

挑战十软件生态        

挑战一、几何定义  

1.1 CAD是基于几何的  

CAD基于数字化模型,模型是图形之本。  

模型由几何描述,由点/线//面等构成基本几何,由曲线曲面建立高级几何。  

模型的本质是几何,关键是几何关系。

CAD表示、输入和输出的是形体、形状、图形和图像等几种形式,他们的背后都是几何!


1.2 许多数学研究成果促进了CAD的发展  

应用数学的许多关于几何定义的研究成果促进了CAD的发展。例如

  • BezirSpline BsplineNURBSTsplineS-Spline等多是用于CAD的。
  • 上世纪60年代始六机部和三机部分别对船舶“型线”和飞机“模线”开始研究,都有数学工作者的参与。
  • 1971年夏,上海市组建了“数学放样会战组”。
  • 19729月起,数学家苏步青学部委员直接指导了江南造船厂的船体数学放样研究。
  • 力学家钱令希学部委员创新性的提出了“松驰法”曲线光顺方法在大连造船厂。
  • 浙江大学董光昌教授的“回弹法”在求新造船厂。
  • 浙江大学梁友栋教授的“曲线拟会与双圆孤逼近”在上海船舶工艺研究所。
  • 19811月苏步青先生出版著名的《计算几何》专著,开启了一个新的计算几何学科。    
  • 19816月,唐荣锡教授的博士生开始研究“实体造型”,19877月,完成实体造型系统PANDA    
  • 19821月,苏先生成立了全国高校“计算几何协作组”。
关于几何定义的挑战有:  

基本几何。一是直线、圆和弧,是形的描述基础,需要简单、严密、通用、……。二是虽然基本几何是简单的,但他们组合起来(关系)却十分复杂。

曲线曲面。在工程上的定义与应用,曲线曲面的求交、拼接等,这要求比较高的数学基础。

几何关系。几何约束、几何重构(造型)等是CAD的核心算法,“核心”在几何关系处理。

1.3 曲线曲面

模拟客观世界、构造虚拟世界需要曲线与曲面的支持,简单地说“曲线”“曲面”并不准确。工程上,曲线曲面分为两大类,设计型和拟合型。

设计型,设计人员对其所设计的曲线/曲面并无定量的概念,而是在设计过程中即兴发挥。Bezir曲线是典型的设计型曲线它的性质是“表示”性的,典型应用是外形设计,例如设计汽车外形。特点是曲线不通过控制点。  

拟合型:对已经存在的离散点列、点云构造出尽可能光滑的曲线或曲面,用以直观地反映出物体的实验特性、变化规律和趋势等。拟合曲线、拟合曲面的主要工作是如何“忠实地”反映事物的本来面目、变化规律和趋势,偏重于对已有几何的表现,属于“输出”性质。

     

设计型曲线,曲线不通过控制点      

     

拟合型曲线,曲线通过控制点      

     

设计型曲线在汽车外形设计中的应用      

www.nipic.com      

   
         
拟合型曲线在船舶中的应用    

拟合型曲线是一种试图对已有曲线的客观“表述”问题,这个问题可以这样来叙述:  

1)给定平面上一组有序离散点列要求连出适当的曲线通过这些点并使曲线尽量保持光顺,这是曲线拟合问题。  

2)用一些简单的图元(如直线、圆弧等)去逼近已经建立的光顺曲线,这是逼近问题。  

之所以提出第二个问题,是因为一般的图形显示、数控绘图机、数控切割机等通常只具有直线、圆弧插补器。直线、圆弧发生器具有运算简单、精度高、速度快、成本低等一系列优点。  
  • 它们是坐标不变的。因此,在进行平移和旋转变换时,对直线段只是作端点的平移和旋转;对圆弧只是作圆弧段首末点和圆心的相应变换。    

  • 曲线求交问题可转化为直线与直线、直线与圆弧、圆弧与圆弧的求交,不需要反复迭代的过程,使求交算法规范化。    

  • 在计算曲线长度、图形面积和重心等时可化为非常简单的运算。

  • 便于图形处理的标准化、系统化。

  • 适宜于数控绘图机、切割机和显示系统等硬件制造。

1.4 数学上的求交方法有时并不一定适合与CAD

隔行如隔山。数学家们对两曲线/面的相交研究并不都是在CAD中是合适的。数学上的求交目标很单一:求出两曲线/面的交点/线即可,求解方程、近似逼近、插值求交各种方法都行。CAD的求交不单纯是“求交”,它更对“交点/线”的“性质”感兴趣,因为在此处,将影响几何模型的重构。因此,化成基本几何间的求交往往是有效的。

1.5 一些数学问题仍在困扰CAD

CAD的一些数学问题一直是数学界研究的课题。

  • 解决曲面求交的水密性问题

  • 传统NUBSS曲面的“脏几何”问题。

  • 代数几何理论证明了NURBS裁剪导致的缝隙无法避免。

挑战二、几何表示  

要解决一个问题,先要表述它!  

计算的本质是将一种数据结构转换成另一种数据结构。  

2.1 CAD数据模型标准最重要的是解决“表示”问题  

编制所谓“CAD数据模型和格式标准”,先解决“表示”问题:基本几何、曲线曲面、几何模型、工程模型、应用模型、变换模型、显示模型和零域模型等。宏观上,是几何模型、工程模型、应用模型三大类,其中,几何模型是基础。表述这些模型的需要从数学(几何)层面,从较高的抽象角度,唯一的、决定性的去表述几何元素、几何形体。

2.2 强调几何方向在模型表示中的作用  

  • 几何的方向(左/右、正向/逆向、前向/后向)    
  • 属性的正负(长度、面积、体积等正/负)    
  • 外边界与内边界(左/右)    
  • 交点有“入点”与“出点(正)”    
  • 几何的连接的“皮带轮法则”    
  • ………    

     

通过几何方向表示外边界和内孔      

     

点在边界内外的局部判别      

   

     

交点实际上有“两个”      

   
         
负交点到正交点部分在图形内部          

     

如何去指定8个解中哪个为所要的解?          

         
对圆定义方向,公切圆的求解与结果的选择变得很简单          

2.3 复杂平面形体与曲面形体的统一表述问题并未解决  

表达统一:如何用统一的数据结构,表达0维(点云)、1维(线框)、2维(图形)、3维(实体)模型,以及离散模型(Mesh)。  

处理统一:不同维度及类型的模型,能否在统一的框架下处理?  

     

     

Breps 模型的若干表述      

挑战三、几何表现  

CAD操作过程依赖于几何(模型)在屏幕上的显示。  

1)兼具2D3D的图形显示功能  
2)具备大规模三维CAD模型的实时真实感渲染能力  
3)具备3D模型动画渲染的能力
4)具备 3D沉浸式图形渲染的能力
5)支持云端协同渲染,充分利用网络算力实现实时渲染及协同设计

挑战四、几何计算  

CAD由计算支撑!  

4.1 计算的挑战来自多方原因

1)维度问题
现在的计算都是一维数计算(代数)在处理二维图形和三维形体(几何)。这就存在多种不同维度的矛盾:
  • 实体空间(3D)与表示空间(2D)的不一致,
  • 几何空间(3D)与计算空间(Linear)的不一致,

  • 思维空间(3D)与实施空间(2DLinear)的不一致。

数计算机制对几何进行计算的过程是:

【形数】【数计算】【数形】

这不符合人的思维习惯!从三维形到一维的数计算,空间的形被直接跨越到一维的数计算,形的关系和变化难以完备地获得、理解和表达。人的思维被强制地用于去适应这种转换上,空间思维优势就难以发挥。数学应发生于幕后,起关键作用的是人,人的思维、人的逻辑。

2)计算工具

二进制的数近似表示机制下,却要求精确计算。

用于计算的计算工具并不理想。计算机的计算依赖于Johnvon Neumann建立的二进制数制,这是一种有误差的表示与计算。计算机表述的几何与数学上的几何是不一致的。代数为主的计算是一个线性处理过程,是一种不可直观理解的计算。特别是在碰到几何奇异的情况时,算法的大量代码被扩展到去处理那些退化的情况了,甚至于使得算法的性质也被改变了。

3)关系计算

重构几何关系重于(难于)几何求交得到几何参数

平面上5个点,可以形成一个五边形,也可以组成一个五角星,变成两个完全不同的图形,关键在于5个点之间的连接关系不同。而一个几何点位置的(非极限)改变,通常不影响图形的实质性,看上去还是五角形和五边星。  

构建一个模型或图形的难点在于如何根据参与运算的那些源去重构一个几何关系。几何引擎、几何约束求解器等CAD的核心算法的难度就在于几何关系的重构。  

两个图形,同样两个交点,因几何关系的不同组合得到布尔运算的不同结果

4)稳定性

算法的主要考量是计算稳定性而不是计算速度。

算法的主要考量是计算的稳定性而不是计算速度。现在的算法研究常出现两个偏向,    一是只偏重速度而忽视稳定性(robustness),偏重速度的研究方法只是去减少浮点运算的次数,这是令人担心的。    二是采用一些大规模的、没有理论分析的随机测试去验证算法的稳定性。这很难检测到影响算法的特殊状况。一个不稳定的算法,速度最快也只能是南辕北辙。  

5)计算对象
图形图像已成为新的计算源、计算对象与计算目标。

代数计算的对象是“数”,现在,计算的对象有所改变,需要引入新的计算方法和计算机制。  

6)几何奇异
解决几何奇异问题是计算的一个重大难题。  

模型是有界的,不是直线而是线段、不是(无限)平面而是(有界)多边形。  

模型的有界造成几何间的几何奇异(共点、共线、共面)。  

几何奇异是几何计算不稳定性的关键原因。  

解决几何奇异问题是几何计算的一个重大难题。

  • 一是在形的表述和几何关系中出现几何奇异,是正常现象;

  • 二是几何奇异对几何计算稳定性的冲击是根本性的。

4.2 对付计算挑战的原则和策略  

从类型和层次上解决几何计算稳定性,可以分为科学问题和工程问题两个方面,制定相应的对策。

      

      

科学问题

几何表示          

怎样表示一个几何?      

什么是在几何的“共、上、内、外”?      

怎样定义及选择一个解?      

几何奇异          

如何判断这是一个奇异?      

如何处理一个已知奇异?      

      

工程问题

几何表示          

怎样叫在几何的“共、上、内、外”?      

怎样群举几何奇异?      

表示误差          
计算误差          

如何设定满足工程应用的零域?      

如何解决连续实数与计算机中离散浮点数近似表示?      

数学主要发生于幕后,关键是人:人的思维、人的逻辑。  

  • 几何问题几何化,在几何计算中应更充分发挥几何的特性;    
  • 要充分利用几何的不变性,去研究几何与几何计算;    
  • 借助图形的直观性,用几何的思路寻求新的理论、新的方法、新的解决方案;    
  • 将枯燥的数字与反复的代数计算都分离出来,让计算机去做,发挥人的直觉优势,在更高的层次上去考虑算法框架。    

挑战五、人机交互  

CAD对外有三大部分:

  • 输入;
  • 输出(做得较好的部分);
  • 交换。

交互是输入的重要手段,交互也是系统应用好坏的关键。  

软件设计从认识交互开始,从构造菜单树启动。交互操作包括直接对屏幕上的图元进行定义、修改、删除、移动、复 制、陈列、旋转和比例等各种操作。交互系统设计的先期工作就是构造一颗菜单树,它体现了软件的总体结构和功能框架。交互界面设计的好坏影响系统使用的方便性和应用的广泛性。  

人机交互技术通常是以WIMP为特征的图形用户界面:  

WWindow)、IIcon)、MMenu)、PPointingDevices)。  

人机交互需要考虑功能性、易用性、可靠性、一致性、简单性和开放性  

挑战六、工程应用  

工业软件的属性是“工业”,包含工业知识、工业技术,工程理论、以及工程特征、工程性质等等。早期的设计是基于工程制图的,画法几何是它的理论基础。  

CAD的功能依赖于工程需求,源于工程,用于工程。支持工程设计意图、思想与方案的快速准确表达。CAD基于工程应用而开发,也是在强大的工程应用中发展的。如果没有强大的应用功能,或者工程应用达不到某一个高度,软件不可能推广和应用。  

理论化——计算基础涉及数学、计算机、物理等多学科。  

工程化——应用基础涉及工程、设计、制造等众多学科。  

CAD有复杂的架构、浩瀚的内容,需要坚实的理论支持,涉及数学、计算机、物理等多学科,尤其数学工作者的参与。  

理论与工程,各司其责。针对理论和知识的多学科交叉及算法源的多样性,要处理好多学科交叉,尽可能分离理论部分和工程化部分,使理论、方法、技术等多学科的知识都能相对“独立”地运用,淋漓极致的发挥各类参与人员特长。  

统一规划,分步实施。搞好总体层次设计,精细规划接口,坚实基础、攻克核心、构建系统、服务应用等各层次能够有相对独立的分工。  

基础研究足够基础,应用研究足够应用,工业软件的大厦才稳固。  

挑战七、基础理论  

一图胜千言,社会已经进入数字化时代,这个时代的特征是世界图形/图像时代。它的主要认知方式是视觉形象方式,这是一种全球化的联络模式,语言的阻隔被打破,文字的垄断被消解。传统文学借助文本对人世的间接性和想象性的体会、感悟转变为借助图形/图像对现实的记录、展示和消费。  

理论是基础。这里不讲设计本身的理论,而从几何、表示、计算与几何核心算法的角度讨论CAD理论:满足图形图像已成为新的计算对象与计算目标的新需求;满足几何计算的特殊性、精确性、鲁棒性和可扩展性的需要。  

因此,需要探索一种新机制,从几何与计算两个基本要素,揭示形、图、几何与几何计算之本质。  

基于“几何问题几何化”的思想,通过引入新的计算单元和计算策略,定义几何元素、描述几何关系、简化求交计算,特别是在几何层面上考虑几何奇异问题,构建了一套解决几何奇异问题的完整理论和方法,支持几何核心问题的解决,建立统一、稳定的几何化求解机制。  

从处理对象、几何、计算与几何核心算法的角度讨论几何计算理论,

  • 满足图形图像已成为新的计算对象与计算目标的新需求。

  • 满足几何计算的特殊性、精确性、鲁棒性和可扩展性的需要。

形计算(Shape computing
  • 一种新的基于几何的计算理论和计算机制。

  • 基于“几何问题几何化”的思想,从几何与计算两个基本要素,揭示图与形,几何与几何计算的本质与关系。

  • 在几何层面上考虑几何奇异问题,支持几何核心问题的解决。

     

形计算架构      

1)引入几何数,表征几何及几何关系  
2)引入几何基(几何算子)作为一种新的计算单元  
3)引入计算坐标系,规范化计算  
4)变换几何化,统一变换表述,简化降维计算  
5)降维计算,通过投影降维,降低几何的复杂度  
6)引入零域,适合工程应用  

提高几何计算的稳定性是几何内核的关键问题。  

造成计算不稳定的缘由分为源于数字误差(代数角度的计算误差)的不稳定和源于几何关系(几何角度的几何奇异)的不稳定两个方面。

数字误差又可分为原始输入数据误差和计算机的表示误差与计算误差两方面。

几何奇异又分为判定是否几何奇异(未知问题变成已知问题)与处理几何奇异问题(解决一个已知问题)两个方面。

形计算理论支持下的,一个简洁、统一的处理因计算机数字计算误差及几何位置的奇异两者引起的几何计算的不稳定性问题全面解决方案

保证几何的精准计算与稳定计算。  

     

几何奇异处理框架      

以几何学家的思路去考虑问题——宏观而慎密;

以代数学家的方式去解决问题——严格而有序。  

1计算架构更合理。实现 “三维思维,二维图解,一维计算”

2算法设计更宏观。“从定性、直观的角度去思考,以定量、有序的方式去求解”的过程,达到“形思考、数计算”的境界。

3几何关系更清晰。主要不是研究数字关系,而是更清晰的几何关系。  

4设计方式更简单。几何基构建了几何解的基础  

5算法运行更稳定。几何基的高度稳定性也使几何计算整体的稳定性上升。  

挑战八、几何内核  

基于几何与计算两个要素,攻克以几何内核为代表的几何根技术。包括:  

  • 几何引擎(造型与布尔运算)    
  • 几何约束求解    
  • 渲染引擎    
8.1 几何引擎

1)图形布尔运算

算法本质:对两个运算对象进行拓扑关系的重组。  

关键认知:拓扑关系的改变在两个实体的交界处!  

基于交点几何数的布尔运算算法:从某一个交点出发搜索,对并(交、差)运算,若交点几何数为负(正),则转向另一环,直至回到该搜索出发时的首交点,就得到一个新边界(环)。一旦所有交点均被遍历,算法结束。

2)三维布尔运算

利用形计算的降维计算方法,充分利用二维布尔运算的策略与结果。逻辑变得简洁,几何求交与拓扑关系重构是同时进行的。

3)三维几何引擎

1)形体表述及几何模型构建

2)曲线曲面建立与相交计算  
3)计算坐标系与降维计算  
4)空间几何的相交计算  
5)复杂形体造型与三维布尔运算  
6)交点几何数与几何奇异处理  
7)API  

8.2 几何约束求解器

1)问题表述

问题性质:几何约束满足问题(Geometric Constraint Satisfaction Problem——GCSP)。  

给定一组几何元素和一组描述几何元素间关系的约束条件,求解这组几何元素满足这组约束。  

工作本质:在某些几何参数改变时,进行约束下形体的整体重构。  

算法输出:把未知元素转化成已知元素。

认识几何约束实际上包含了“几何约束”和“工程约束”两者:  

 

约束      

几何约束          
尺寸约束          
点点距离、点线距离、线线夹角、圆弧半径等          
结构约束          

直线水平、直线铅垂、两线平行、线圆相切、各种对称关系等      

工程约束      


设计变量间的约束关系、几何间的连接关系等      

几何约束:几何元素之间固有的约束关系,它直接反映了几何体的形状和位置关系。  

工程约束:外部施加的设计变量之间的约束关系,它反映了产品在工程语义上的设计要求。

2)总体策略

所谓几何约束求解就是几何的改变要满足“几何间的约束”条件。实际上所谓“几何约束”包括几何关系的约束及几何尺寸的约束,不管几何如何改变,都能保持原给出的这些约束。

用代数方程表示这些约束,就是现在常用的求解线性方程组的方法。

从几何相切、相交的角度看,采用基于几何的约束表示、识别与求解策略。

解决策略:分而治之——将几何约束求解分成:完全约束、欠约束和过约束等3类。先解决完全约束下的几何约束的正确求解是基础。

3)欠约束与过约束

先看两个例子。  

例1 几何方向引起的问题

几何约束求解器DCM中出现的错误现象,这显然是不想得到的求解结果。

从圆与两直线相切的几何约束角度看,似乎没有错!  
可是,相切、相接时的几何方向被改变了。  
所以在形计算中 特别强调“几何方向”。
例2 几何尺寸引起的问题

一个简单的三角形欠约束例子。

三角形的每条边各自与3个圆相切,相邻的圆间也相切(绿色三角形与5个圆)。
固定三角形的一个顶点(对应于顶角),拖动其对边,保持上述相切约束。此时,圆的圆心可以自由移动,半径可以任意改变。因为是一个且约束问题。
左图(红色三角形与圆),是增加了顶角不变约束得到的结果
右图(蓝色三角形与圆),增加了底边尺寸不变约束的结果  

4)非完全约束下的求解问题  

欠约束求解时的约束补充(判定,执行规则)
过约束求解时的约束剔除(判定,执行规则)
有些几何约束求解器追求欠约束与过约束都试图实现自动求解,有时并不能满足用户的设计意图。
  • 更明晰欠约束与过约束时,补充约束和剔除约束的规则。

  • 给出相应的欠约束或过约束提示;

  • 给出建议的处理策略;

  • 接受用户的加或减约束的指令;

  • 如果用户有指令,按用户给出的加或减约束求解,否则按系统的处理规则求解。

5)几何约束求解器总体工作

1)草图校正;

2)构造分析;  
3)约束自动识别   
4)约束模型与模型自动构造器;  
5)几何推理与几何推理器   
6)全约束之快速稳定;  

7)过约束之解决冲突;  

8)欠约束之多解取舍;  
9)表达式编译器/参数化建库工具;
10)API

8.3 渲染引擎

1)充分关注客户体验,通过沉浸式渲染,提供丰富的客户体验;

2)解决几何到图形,几何到图像的显示问题;  

3)兼具2D图形渲染和3D图形渲染的功能;  

4)具备大规模三维CAD模型的实时真实感渲染能力;  
5)具备3D模型动画渲染的能力;  
6)具备3D沉浸式图形显示的渲染能力;  
7)支持云端协同渲染,充分利用网络算力实现实时渲染及协同设计。  

挑战九、数据交换  

计算的本质是将一种数据结构转换成另一种数据结构。  

9.1 CAD内部  

要有一个好的模型,保证运行高速、有效稳定。  

每个CAD系统有它自己表达几何形体的模型,这样的模型可能不止一个。  

     

1)构造表示Constructive Solid GeometryCSG

     

2)边界表示   Boundary RepresentationBreps

     

3)分解表示      

     

4)三角化表示      

9.2 在不同CAD系统的数据之间  

要解决异构几何信息与非几何信息间的有效转换,达到信息共享。  

两个系统的模型会有不同的数学表达式(如曲面)由不同的逼近表示(如三角面片)。  

几何关系表示的差别,更会造成同一模型在两个系统间转换以后出现不可避免的误差,例如在A系统下两个圆柱面是相切的,转换以后,变成干涉了。  

像几何间出现“几何奇异”是正常现状一样,难度在于如何去认定这些“合理”的差异又是“正常”的?  

挑战十、软件生态  

新时期、新需求、新技术,集中力量大力发展我国工业软件的基础建设,需要突破现有的计算瓶颈,构建支撑我国制造强国战略下的新一代工业软件系统的计算基础,建立共研、共用、共推广的持续发展的工业软件发展生态系统。  

工业软件处理的对象是“几何”,理论是“几何学”;方法是“几何问题几何化”;计算机制是“形计算” 。  

软件生态是从软件系统整体和软件的发展的角度考虑的问题。一般需要下列条件与环境:  

  • 一个好的、完整而系统的理论    
  • 一个稳定的核心算法基座
  • 一个良好的运行和服务机制    
  • 一个完整的教育平台

1)一个好的理论——形计算

“形计算”是一个几何问题几何化中的几何计算理论与计算机制,辅助现在广泛使用的“数计算”机制。特别在几何表示、几何关系重构、几何奇异处理,以及几何变换、降维计算等方面,在几何计算、几何引擎以及几何约束求解等方面有独特的优势。为工业软件提供了简洁、稳定和高效的几何计算理论,使几何计算简洁、稳定和高效。

需要将形计算行之有效的方法和技术在工业软件中发扬光大,突破计算基础瓶颈,建立我国特色的工业软件基础计算平台,协助我国工业软件的自立自强、高速稳定的发展。

2)一个稳定的核心算法基座  

要坚持两条腿走路,加强基础、优化架构、扩展功能、提升性能、增加算力;要基于形计算理论,建设具有我国特色的工业软件计算基础平台,保证几何计算以及CAD核心算法能够简洁、稳定、高效的运行。

建立强有力的几何内核:

降低它的使用门槛,不只是算法的组织和调用;

编写使用说明书、开发指导书等应用说明;

编写功能说明书、数据结构设计书等设计说明等;

开展使用的教学和培训;

3)一个权威的核心团队

有一个相对权威的、对CAD有全局认知的核心骨干;

有一个规划良好的、高素质开发队伍和测试团队;

有一批相对稳定的应用队伍。

4)一个良好的开发和应用服务体系

建立一个良好的开发和应用服务机制,认识用户是工业软件发展中的一支重要力量。将基于形计算开发的数百个基础算法作适应性的修改,构建基于形计算的计算工具箱,作为工业软件的基础计算平台。  

开展以咨询服务、计算服务、开发服务、数据服务等方面的服务工作,吸收各相关领域专家,跨领域人才,充分研讨,构建广泛的用户群,支持用户开发不同的应用软件;  

构建共研、共用、共推广的持续发展的工业软件发展生态系统。  

5)教育平台  
要建立一个完整的教育平台,大力组织和撰写以形计算理论、思维、方法为中心的CAD基础理论、软件开发和应用系列教材。开展以普及性为主的工业软件理论和开发之培训。定制人才培养计划,建立人才培养体系。克服软件编制者不懂工程,工程技术人员不知软件原理和方法的现象。  
科学是基础,技术是手段。  
没有科学的源头,技术就是无源之水无本之木。
当然,没有技术的变现,就难以保障科学研究的物质基础。  
科学要回答『是什么』和『为什么』的问题;  
技术则回答『做什么』和『怎么做』的问题。  
从“源”出发,探索科学,研究技术!  

结语  

几何CAD对象是形和图,图源于形而展现形,基础是几何。  

表示:单个几何的表示,以及多个几何元之间的关系。  

表现:几何(模型)在屏幕上的显示(表现)。  

计算:几何关系的重构,几何奇异的认定与处理,计算稳定性。  

交互:让人做人擅长做的事,让计算机做计算机擅长的事。  

工程CAD来自工程,服务工程。  

理论:基于几何问题几何化的形计算理论  

内核:打磨一把几何之剑,攻克CAD内核,构筑牢固的CAD基石  

交换:与大部分流行软件系统数据的精准交换  

生态:一批志士、一批团队、一批基地;一个理论、一个平台、一批教材。

2024年6月25日

参考文献

【1】Les A. Piegl. Tenchallenges in computer-aided design. Computer-Aided Design 37 (2005) 461–470

【2】David J. Kasik ,William Buxton,DavidR. Ferguson. Ten cad challenges. IEEE Computer Graphics & Applications(2005). 25(2), 81-92.

3何援军,国产CAD软件重启之路[J],CIMS封面文章,计算机集成制造系统第27卷第11期2021年11月

【4】何援军,几何计算及其理论研究[J],上海交通大学学报,20103月,第44卷第3期,PP407-412

【5】何援军,对几何计算的一些思考[J],上海交通大学学报,20122月,第46卷第2期,PP0167-0171.

6】何援军,几何计算[M],北京:高等教育出版社,20133

【7】何援军,一种基于几何的形计算机制[J],图学学报,2015年第3期,20155月,PP1-10




来源:山涧果子
ACTSystem通用航空船舶汽车AutoCADUM理论控制渲染数控曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-11
最近编辑:4小时前
山涧果子
大专 签名征集中
获赞 206粉丝 53文章 1350课程 0
点赞
收藏
作者推荐

国产自主车铣复合CAM软件:千机智能QJCAM

千机智能核心产品QJCAM新一代智能化数控编程平台,可广泛应用于航空、航天、船舶、能源、装备制造、特种加工、汽车等领域,为行业提供智能化数控加工软件产品以及高精、高效、低成本的制造工艺解决方案,促进制造业数字化与智能化转型升级。千机智能以高精高效工艺与CAM软件等智能制造技术为特色,以制造强国、科技报国为己任,以合作共赢,协同发展为原则,助力制造业的高质量发展。千机CAM软件开发先专用后通用。。。千机智能开发了通用数控编程QJCAM.Expert和自适应加工QJCAM.Fit两款CAM软件。。千机智能基于工艺融合、深度服务、自主研发、开放包容的理念,推出了QJCAM统一平台,由数控编程、在机测量、自适应加工、专用CAM、产线自动机等模块组成,集专业高效、智能编程、技术领先、自主可控、开放平台、国产适配的优势于一体。未来,QJCAM将进一步夯实基础技术的开发,沿着通用、SaaS、专机的方向,不断扩大产品生态价值。千机智能在复杂曲面类数字化制造技术的研究基础上,发展智能制造工艺技术,打造出UltraCAM新一代智能化数控编程平台,可广泛应用于各类整体叶盘、叶轮、叶片等复杂曲面类零件的加工工艺开发,为航空航天及其制造企业提供高效、高精、低成本工艺解决方案。软件具有特征识别、数控加工编程、刀路仿真、后处理及在线测量等功能,支持包括机匣、叶盘、叶环、叶轮、传动件在内的各类航空航天发动机核心关键零件的五轴数控加工编程,提供覆盖粗加工、半精加工、精加工全工艺流程的加工策略,包括摆线铣、插铣、粗精组合铣等高效的加工策略,具有模型预处理、策略计算、加工仿真、后处理等功能。说句实话,千机可能才是这些CAM软件企业里,最正常的。 国内太多软件研发,不接地气。我只想知道,那些专家看过多少零件类型,知道那些机床G代码。千里之行始于足下。最起码的一条,国内软件企业有几个,把全国的机床企业走一遍的?有多少人,下过基层与那些基层工程师沟通交流过的?这么简单的方法,没人用!为嘛没人践行!再回过头看看,有谁把UG或者imspost软件,机床模块反复研究十几遍的?知道solidcam为什么车铣复合模块只卖5.5万吗?那是简化版本,所以5.5万就能买单。复杂的车铣模块,恐怕几百万都打不住。行业历史不了解,基本的战术路线和战略决策出现扭曲,很难做到强力发展。办法不是没有,做通用的,自己的专长模块也强化起来,这样就形成一个需求链条拉动。至今,国内还没有真正意义上的一款机床实体模拟软件。 国内千机智能CAM:UltraCAM,目前主要面向叶轮加工,不需要考虑其他方面。有人说国内重视硬件轻视软件,实际什么都不中,软件硬件互相扯皮罢了!千机CAM如果没有车铣复合模块,这个软件就会有很大问题,十年内没有什么多大的潜力。因为很多车加工算法才是铣加工的雏形和框架,这算是最好的原石,只有把车加工搞好,铣加工才能高效稳定先进。这句话可以适用20年,20年后,这句话可以改变一下。车加工是铣加工的基础,车加工,到最后就是万象车加工,这是多轴定位加工的基础算法。凡是工艺熟练的加工模块才是真正的好软件,这是20年后的定论。如果车加工模块不行,那么后处理模块也有缺陷,工艺布局就不成体系。还有一个,线切割模块也是基础算法之一,这些算法可以与那些硬件系统厂家合作。通用CAM软件,必须对标头部CAM软件(edgecam在车铣复合这块,是当之无愧的王者。)。车加工国际第一,铣加工国际一流,多轴国际第三。模块化,工艺链条国际第一,参考edgecam ,mastercam。可以不蒸馒头,解决这个问题,才能解决叶轮等曲面高速切削问题。机械这一块,就像打靶,需要量的积累。神枪 手都是靠子弹喂出来的,当然,千机能把苏锡常这边的机床企业配套搞好,也是一种成就。目前国际市场上,能把车加工模块搞好的软件并不多。多参考欧洲软件,少对标美国软件,框架很重要,要是对标日本,纯粹找屎。就像CAXA二维车模块,不但没有进步,反而倒退了十年。就那个大方数控车。把所有的车刀图形形成刀具库,才需要多少体积?几十兆而已。二维的更小。五分钟的操作,硬生生搞成半小时。caxa数控车不出来还好,出来了,原来的观望者也直接放弃了。 千机CAM要想做好车铣复合,必须做好三点,车床模块,刀具模块和自定义刀具,这是必须。否则中后期必然受制于人。其余的,还有什么机床模块,后处理模块,仿真模块。刀路编辑模块,刀路实体化功能等。车铣复合模块没有回头路,好就是好不好就是不好。 千机CAM必须通过华中数控,大连科德等国产五轴机床实战,修正深化算法。数控系统并不是什么过于高大上的事情。只要坚持软件硬件结合,重复迭代,稳步发展,积极投入,市场检验,都会从很小的几百万的小企业,渐渐成长起来。问题是,你现在能看到几个这样一步步发展起来的软件企业?就说一个简单的圆弧插补加工,曲线拟合算法。早在中国上世纪线切割火控系统研发之初,就已经开发出算法雏形。现在反而成为很多系统公司的不传之秘。 早在上世纪90年代,圆弧曲线插补算法,就已经很成熟了。但是由于某种历史原因,这个算法并没有应用起来,并广泛应用。曲面插补算法加高速优化算法,中国有这个基础。不知道当初那些打压国产工控系统的老家伙们还在不在!2002年是中国数控系统最关键的一年。这一年决定了很多国内数控系统人的命运和中国国产系统的命运。导致现在就北京精雕,大连科德,华中数控。。。国产cam不进步,国产机床潜力有限。CAM软件,还受后处理限制。不能被用户修改过的后处理,基本上也没人用。CAD软件可以忍受很多问题,哪怕软件奔溃,大家还能接受。cam软件只要没人用,就是没人用。因为没法接受。哪怕你很强!看看topsolid,国际第一强的软件。因为计算机配置太高,必须顶配。所以没人用。从此,没人用。哪怕mastercam老总说topsolid比他的软件强,也于事无补。中望的二维加工也不错,就是因为后处理导出设置问题,所以没人用。还有一个问题,就是后处理模块,大家不放心,也没人用。mastercam因为车加工后处理不适合国内普通数控车,也没人用。不为什么!因为没人用过,所以没人用。只要一款CAM软件,有十个人没用过,基本上,大概率没人用。哪怕曾经普及率很好,Cimatron就是,数控铣半壁江山,因为电脑系统原因,还有破解没跟上,就三年。从此没人用了。而且因为软件用户群太小,后处理的普及跟不上,也没人用。因为没有后处理的软件,还不如玩具。ESPRIT是很多软件的老大哥。因为ESPRIT中国区采取后处理隔离政策。即使ESPRIT功能强悍,一样被排斥。因为,大家不放心你。有前科!即使ESPRIT放弃后处理隔离政策,也没人相信。因为信任已经没了。哪怕大家都知道ESPRIT的技术给了很多cam软件企业。不行就是不行。worknc 因为后处理原因,还有一个刀具半径模式,所以没人放心。powermill因为后处理历史上的不检点,也算一种前科。所以也没人在乎。所以powermill市场普及率也很低。mastercam因为后处理非常安全。经过几十年大面积庞大用户群的检验,所以即使ug用户再怎么贬低mastercam,一些企业也贬低mastercam,但是mastercam仍然保有世界上最大的客户群。哪怕solidcam降价销售,开放官方教程,依然无法撼动mastercam的用户信誉。mastercam从x版到2017版,几乎没人用。但是mastercam9.1的优秀声誉,维持mastercam整体形象18年。也就是说,mastercam被人偷家18年,都没有被打败。依然王者归来。那个宝座没人敢坐上去。Cimatron自己把自己的原创团队解散了。从此以后,Cimatron从模具加工的宝座一路下滑。我记得,我的师兄对我说过,Cimatron从团队解散人才外流开始,Cimatron再也不是思美创!从此,没人在相信Cimatron。傻 逼的思美创总裁。他可能永远没想到,大家放弃Cimatron的原因,是因为他不尊重技术!思美创原创团队与他们公司上层斗争了6年最终以原创团队解散为代价,思美创e版根本算不上保持原有地位。思美创本来有冲击ug,保持模具软件第一的位置。可惜不尊重技术,不尊重人才,不尊重行业基本准则。所以用户放弃Cimatron,天经地义。可以这么理解,Cimatron的落败,是模具行业最大的笑话。永远钉在历史的耻辱柱上!ug那时候,还是备选方案。顶多跟大方比较好一点。因为ug的破面真的很多。多到令人奔溃。破面加特征加工,这是一个死循环。特征加工最怕破面。破面一多,就代表特征是错误的。pm因为开粗高效,计算速度快,所以成为作坊和小企业的首选软件。因为被欧克特收购,变得体积庞大,速度降低,操作繁琐就成了减分项,所以pm一直不瘟不火。千机智能,一个cam软件领域的新生力量,如果不能有效避免这些问题。恐怕大方的历史地位,也是高不企及。大方早期的加工模块有自己的特色。简单高效后处理直观。是大方原有加工模块的特色。因为采用parasolid内核,破面比ug还多。所以大方早期的版本一直被国内业界视作零件加工的后起之秀。现在大方把类似ug的模块拿过来,给用户一个模糊的印象。大方的cam团队是不是和思美创团队一样,已经外流!所以在cam领域摸爬滚打的人们来说,说明大方也开始走Cimatron老路。那么大家对大方cam持保留态度,也合情合理。永远记住了!给我记好了!cam软件领域,谁不尊重技术,谁不尊重人才,就得不到别人的信任。技术不能得到积累和传播,技术就不能成为技术,那叫秘术!来源:山涧果子

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈