简琤峰 孙 畅
浙江工业大学计算机学院,杭州,310023
基于模型定义的产品信息移动Web轻量化实现
简琤峰 孙 畅
浙江工业大学计算机学院,杭州,310023
针对STEP AP242提出了多视图语义模型,在此基础上进行语义本体化实现对产品几何与非几何语义信息的统一;然后提出了一种基于边界特征的轻量化算法,该算法在保留产品非几何信息的前提下,裁剪产品模型,简化三角面片,降低数据复杂度;最后给出了实验数据分析以证明该算法的可行性。
移动Web;STEP;语义模型;轻量化
STEP产品数据用中性描述语言精确描述了零件三维几何和拓扑关系信息。传统的CAD平台通过解析该中性描述语言,调用CAD平台的图形引擎绘制渲染,来实现产品模型共享,例如STEP的NURBS绘制[1]。这种技术对平台性能有很高的要求,移动终端无法满足要求。此外,移动网络环境下,浏览器难以理解EXPRESS 语言描述的产品数据,缺乏对STEP中性文件的支持。常用的方法是将产品数据的三角面片网格化,这种绘制方法简单但是数据量极大,数据的传递和绘制过程也很耗时,因此也难以适应移动终端需求。传统的STEP产品数据三维展示技术均难以适应,必须在不影响产品数据完整性的前提下对STEP产品数据模型进行相应的裁剪简化才能适应移动终端的性能。
目前,通过采用三角化网格模型表达可实现大型复杂模型的快速加载与显示,TAUBIN等[2]、TOUMA等[3]提出的基于网格几何无损压缩的高效编码算法可以很好地表述三角化网格模型。网格模型简化算法是在保证一定的精度情况下尽可能减少三角网格数目,比较典型的算法包括基于面合并的算法、顶点删除算法等[4]。SEO等[5]设计了Wrap-around操作算法以及基于特征简化的多细节层次实体模型对实体模型进行简化。LEE[6]根据识别得到的影响模型外观的特征,例如模型的孔、槽等细节特征,依据模型所需的细节标准删除某些细节特征,生成简化模型。张霞等[7-8]根据各三角形折叠时产生的误差大小对模型进行三角形折叠简化,并通过二阶加权伞算子对简化模型中局部存在的狭长三角形进行优化处理,以改善三角网格模型的质量。另外,迭代边缘收缩[9]、 XVL压缩转换[10]、基于语义的轻量级数据集成方法[11]、文件格式转换为适合网络流式的输出[12]以及协同环境下的轻量化的3D异构CAD模型干涉检查[13]在产品数据轻量化领域的应用都具有一定的借鉴意义。
可见轻量化技术在产品实体模型剪裁和绘制方面应用广泛。一般轻量化过程中都着重关注几何信息,容易忽略语义信息部分的保留和表达。传统的产品数据三角面片网格化数据量大无法适应移动终端的性能,而一般的三角网格简化方法会丢失大量的产品语义信息,无法满足STEP产品信息在移动终端上的语义交换和展示需求。本文借助STEP AP242[14]标准富于语义信息的特点,通过 OWL2/SWRL本体描述的方式建立了多视图语义模型(multi-view semantic model,MVSM),将产品信息中的几何信息与非几何语义信息结合起来统一表达。针对几何信息提出了一种基于边界特征的轻量化算法,在保留产品非几何语义信息的前提下,裁剪STEP AP242产品信息模型,以适应移动终端需求。
STEP AP242在拥有大量的几何信息的基础上包含有特征信息、PMI制造信息、功能信息以及设计意图信息等丰富的语义信息。本文提出的多视图语义模型MVSM由设计意图视图、产品制造信息视图以及功能信息视图等组成,其结构如图 1 所示。MVSM可以在STEP AP242文件的基础上描述更多的语义表达信息,实现产品几何信息和非几何信息的综合表述,因此更有利于产品信息的语义分类表达。通过结合OWL2/SWRL可以赋予模型本体描述能力[15-18],同时也能够建立语义元之间的语义关联关系。对于其中的几何信息,将通过轻量化算法进行简化来适应移动端的设备。
图1 MVSM模型结构Fig.1 The model structure of MVSM
传统上STEP交换的信息主要是产品数据的几何信息,对于非几何信息尤其是设计意图信息很少会在系统之间进行交换。设计意图可以实现产品生命周期中各部门之间协同设计,体会设计者的设计思想。一部分设计意图体现在产品数据的特征信息中,通过对特征信息进行分析和推理,可以很好地反映设计者的设计意图。
产品和制造信息(product and manufacturing information,PMI)包含了几何尺寸和公差、3D注解、表面纹理规格、光洁度要求、工艺记录、材料规格等其他相关信息。功能信息主要描述对应零件模型的使用功能。语义化描述可以使用户对产品用途有更加直观的理解。
MVSM模型中存在的层次关系如图2所示。
图2 MVSM模型中的层次关系Fig.2 Hierarchical relationships in MVSM
MVSM模型通过建立产品信息语义元实现对几何信息与非几何语义信息的综合表述,产品信息语义元是MVSM模型的基本组成单元,是产品信息交换和语义交互操作的基础[19]。
通过定义MVSM模型,保持了STEP产品数据的几何完整性和语义特性,通过结合OWL2/SWRL规则约束增强其语义表达能力,从而获取推理隐含语义信息的功能[20]。此外,该模型实现了对语义元的层次分类,将多层次语义引入到模型结构中,构建面向层次的产品信息表达,结合OWL2/SWRL规则,赋予产品数据模型转化为本体表达的能力,并可以通过规则实现语义关联和推理,有助于构建移动平台上的产品数据语义网络。
STEP产品数据轻量化是在不影响产品数据完整性的前提下对STEP产品数据模型进行相应的裁剪简化以满足移动终端需求。根据MVSM模型将STEP物理文件转换成以MVSM模型语义元为基础单元的本体文件。针对产品几何三维展示需求,将通过STEP本体文件中处于shape的shell语义元单独提取,针对shell语义元层的表达直接转换成三角网格面片的形式储存。因此在满足产品语义信息的前提下如何对该部分信息进行简化以适应移动端交换展示需求是需重点解决的问题。
问题可以视作如何简化拥有大量三角网格的细节表现程度高的产品模型从而得到一个多边形数量较少、但是外观却与原模型相似的低面模型。较好的策略有:通过重复使用一个简单的边坍塌操作来降低模型的复杂度,实现步骤如下。
(a)坍塌前 (b)坍塌后图3 边坍塌Fig.3 Edge collapse
在图3中,u和v两个顶点(边uv)被选中并且其中一个顶点(这里是u)“移动”(即“坍塌”)到另一个顶点(点v)。以下是实现这一操作的步骤:①去除所有包含边uv的三角形;②更新剩下的三角形,用顶点v代替所有用到顶点u的地方;③移除顶点u。重复上述步骤,直到多边形的数量减少到预期数量。每次重复一般都会移除一个顶点、两个面、三条边。图4展示了一个多边形经过边坍塌之后减少面数的例子。
图4 多边形边坍塌过程Fig.4 Edge collapse process of polygons
本文在边坍塌方法基础上针对产品模型提出了基于边界特征的轻量化算法。轻量化算法的效果取决于怎样选取坍塌的边。在坍塌的时候,产品模型的视觉变化受到的影响程度越小,算法的效果越好。理论上,算法的目标是每一次坍塌的时候能够选择出最小影响的边。然而实际上,最好的方法计算非常复杂,很难实现,并且需要大量时间进行运算。因此需要一种算法,能尽可能保留模型视觉特征,同时计算比较高效。
结合STEP产品数据的实体特征,考虑首先去除小细节。一般情况下同一平面上的面片只需要很少的多边形就可以很好地表示,而高度弯曲复杂的曲面则需要更多的多边形来表示,这一点可应用于边界特征的保留。我们知道两个面相交得到一条边界,两个面越接近于同平面,则模型表面越平坦,边界特征也就不越明显,反之,模型表面越起伏,边界特征也就明显。另外,边长较大的边界更大程度上影响模型的外观,即边长是边界特征保留的影响因子之一。由此可定义:是否选择一条边坍塌,取决于它的边长与曲率值的乘积。这里通过比较两个面的法线的点积来衡量它们公共边的曲率值。求边坍塌值的公式为
cost(u,v)=‖u-v‖·
(1)
其中,u和v代表一条边的两个顶点,Tu是包含顶点u的三角形的集合,Tuv是同时包含顶点u、v的三角形的集合,normal代表一个面的法向量。式(1)在决定哪一条边坍塌的同时对面的曲率和大小做了平衡。顶点u到v的坍塌值和顶点u到v的坍塌值不一定相同。此外,该公式对脊状的边的坍塌也是有效的,无论这条脊是锐角还是直角。
边坍塌过程实质是将一条边收缩为一个点,本算法选定两顶点的中点为收缩的目标点。假设一条边的顶点分别为u、v,这条边记作uv,坍塌边uv到目标点p,p点的计算公式为
(2)
坍塌边uv意味着删除所有包含该边的三角形,更新剩下的三角形,所有用到的顶点u、v均用新的点p代替。
基于边界特征的轻量化算法的具体实现过程如下:
(1)构造顶点和三角面片的数据结构,存储产品模型数据。顶点结构包括位置信息,它所在的三角面片信息以及邻接顶点信息(可以看作边信息)。三角面片结构包括一组顶点信息和法向量信息。
(2)计算坍塌值。根据式(1)计算每个顶点的坍塌值,并保存坍塌值对应的邻接点(即坍塌边),写入顶点信息。
(3)选取折叠边。比较所有有效顶点的坍塌值,通过迭代选择值最小的顶点,选定顶点的坍塌边。
(4)边坍塌。收缩选定的坍塌边,删除相关的面,并根据式(2)计算新顶点并插入,更新相关的顶点和三角面片信息。
(5)如果已达到简化目标,则停止。若未达到则跳至步骤(2)。
在产品模型轻量化过程中,设置不同的简化率,相应即可得到不同层次的简化产品模型。算法的效果如表1所示,表中列出了不同量级的零件模型Bolt、Wheel和Assembly,分别拥有238个顶点、3515个顶点和17 094个顶点。表1列出了顶点数量100%、75%、50%和25%时的模型显示效果,展示了基于边界特征的轻量化算法对不同产品模型的简化效果。
由表1分析可得,基于边界特征的轻量化算法在显示产品外观方面表现不错,尤其体现在边界特征的保留方面。但随着顶点数量的减少,产品模型不可避免地丢失越来越多的细节,外观逐渐失真。保留75%顶点数量时,Bolt、Wheel和Assembly模型都很好地保持了造型。保留25%顶点数量时候,只有Wheel模型最接近原始状态。比较相同简化率下三个模型显示效果,Wheel模型的外观保留均为最优,分析原因是Wheel模型包含大量的平面,边界特征比较少,可以由较少顶点表达。可见,拥有较少起伏边界,相对平坦的产品模型能得到更好的简化效果。
表1 基于边界特征的轻量化算法效果Tab.1 The effect of lightweight algorithm based on boundary characteristics
Bolt、Wheel和Assembly模型分别包含102、103、104量级的数据量,Bolt模型原始数据量很小,导致保留的25%数据顶点不足以表达所有主特征,模型效果粗糙。上文分析了Wheel模型的特征,对比Wheel模型,Assembly模型的数据量庞大,但同时包含大量的细节特征,保留25%数据量的简化效果优于Bolt模型,劣于Wheel模型。因此,不能简单地通过模型的数据量来衡量轻量化算法效果,要结合模型所含的特征量来考虑。
主要从模型简化速度和移动端的模型载入速度两个方面分别对Bolt、Wheel和Assembly模型进行实验数据测定评估。模型简化速度用于分析算法的性能,移动端的模型载入速度用于分析算法在移动端的模型载入的表现,因此,测定模型简化速度的实验环境选择在PC端,测定移动端的模型载入速度的实验环境选择在移动端,具体实验环境如下所示。
PC端:ThinkPad T450s,64位操作系统Windows 7,CPU Intel Core i5-5200U,4G内存。
移动端:魅蓝m1,操作系统Flyme OS 4.2.1.1C,CPU联发科MT6732,GPU Mali-T760,1G内存。
4.1 模型简化速度
移动端的产品信息可视化对网络带宽依赖性很强。在保证数据完整的前提下,数据文件越小所依赖的网络带宽越小,通过基于边界特征的轻量化算法对STEP数据简化,降低文件对网络带宽的要求。在产品模型轻量化过程中,设置不同的简化率,相应即可得到不同层次的简化产品模型。表2列出了Bolt、Wheel、Assembly 3个模型应用本文轻量化算法在不同简化率下的耗时。
表2 Bolt、Wheel、Assembly模型简化时间Tab.2 Bolt, Wheel, Assembly model simplification time ms
图5 算法的简化率和模型轻量化消耗时间关系图Fig. 5 The simplification rate of the algorithm and the model lightening consumption time diagram
观察表2的数据可以发现,模型简化的耗时和模型数据量成正比,这是轻量化算法速度和模型数据量的直观关系。继续挖掘隐含的算法影响因子,根据表2数据得到图5,展现了Bolt、Wheel和 Assembly模型的简化率和本文轻量化算法耗时之间的关系。删减的顶点数量等于简化率和原始顶点的乘积,删减的顶点数量除以算法耗时即为不同简化率下的平均简化速度,一个模型的原始顶点数固定,因此,简化率和简化耗时的比值和某一简化率的平均简化速度正相关,与图5的曲线斜率成负相关。在基于边界特征的轻量化算法的作用下,Bolt、Wheel、Assembly模型对应的曲线越来越平缓,意味着,随着简化率变大,简化速度变快,算法的效率变高。但考虑实际情况,产品模型需要根据需求选取简化程度。
4.2 移动端的模型载入速度
为了提高产品数据的显示性能,产品模型考虑显示多层次细节,方便网络环境中数据的快速显示,减少等待时间,也便于用户在大规模模型中快速地旋转、查看图形。因此,每个产品模型生成了一系列不同层次的简化模型。表3、表4、表5展示了Bolt、Wheel、Assembly各自层次模型的载入时间和显示速度,用于分析多层次模型和响应速度、操作流畅度的关系,从而调整多层次细节显示方法,改善用户体验。Bolt原网格的顶点数为238, 面片数为472,所占空间为132 kB。Wheel原网格的顶点数为3515,面片数为7030, 所占空间1682 kB。Assembly原网格的顶点数为17 094,面片数为34 316,所占空间为10 793 kB。
表3 Bolt模型载入时间和显示速度Tab.3 Bolt model loading time and display speed
表4 Wheel模型载入时间和显示速度Tab.4 Wheel model load time and display speed
表5 Assembly模型载入时间和显示速度Tab.5 Assembly model load time and display speed
本算法试验于多种网格模型,有着较好的视觉效果和较快的速度,通过将Bolt、Wheel、Assembly各自的层次模型载入时间转化为图6的曲线图,可以直观看出随着模型数据量的减少,模型加载时间随之减少,无限逼近于0。Bolt、Wheel、Assembly模型分别为102、103、104量级的产品模型,从图6中可以看到这三条曲线的斜率趋势,Bolt曲线走势最缓、Wheel曲线次之、Assembly曲线走势最急,这意味着相同的简化率下,产品模型的原始数据量越大,简化后的加载时间缩短效果越明显。
图6 模型的简化率和模型的载入时间关系图Fig.6 Model simplification rate and model load time diagram
显示速度用帧每秒(FPS)来表示,每秒帧数愈多,所显示的动作就会愈流畅。通常,避免动作不流畅的最低限制是30FPS。通过表3~表5可以计算每个模型的渲染数量,渲染数量等于原始数据量减去删减的数据量,以计算所得的数据量为横坐标,FPS为纵坐标,绘制它们的关系,如图7所示。FPS是衡量移动端的模型操作流畅与否的重要指标,本节结合图7分析模型顶点数据量与FPS的关系。
图7 模型顶点数据量与FPS的关系图Fig.7 Model vertex data volume with FPS diagram
如图7所示,曲线展现了移动端的模型实验数据,这里WebGL限制渲染的FPS上限为60。由图7可知,模型顶点数据量和渲染的性能成负相关。随着模型数据量的增加,FPS数逐渐减小。在1000个数据顶点之前,实际渲染模型速度达到54~60FPS,在1000~4500个数据之间FPS减小较快,4500之后FPS数减小速度变缓。60FPS渲染速度能流畅地对模型进行平移、旋转、缩放操作。8000个顶点数据时,FPS约为30,此刻是能否流畅渲染和操作产品模型的分界线。当产品模型的数据量再增大时,移动端的模型操作开始出现卡顿和跳帧现象,当FPS减小到16时,操作明显卡顿,GPU性能不足。这一结果表明,移动端受硬件配置的制约,渲染和操作产品模型被数据量影响,设计和实现多细节层次显示需要考虑此因素,合理安排模型数据的表达,以避免因为数据量过大而导致系统无法进行渲染。
本文以STEP AP242协议为基础,研究了基于移动终端的产品信息轻量化方法。考虑移动终端的性能限制,提出了一种基于边界特征的轻量化算法,在MVSM模型基础上裁剪产品模型。使用本文提出的轻量化算法,在保留产品语义信息前提下实现了面向移动web的产品信息轻量化。
[1] 王英, 陈建能, 赵雄, 等. 基于NURBS曲线的凸轮廓线表达方法的研究及应用[J]. 中国机械工程, 2013,24(10):1375-1380. WANG Ying, CHEN Jianneng, ZHAO Xiong, et al.Study and Application of Cam Profile Representation Method Based on NURBS Curve [J]. China Mechanical Engineering, 2013,24(10): 1375-1380.
[2] TAUBIN G, ROSSIGNAC J. Geometric Compression through Topological Surgery [J]. ACM Transactions on Graphics, 1997, 17(2): 84-115.
[3] TOUMA C, GOTSMAN C. Triangle Mesh Compression [C]//Eeding of Graphics Interface. Berlin, 1998:26-34.
[4] KALVINA D, TAYLOR R H. Superfaces: Polygonal Mesh Simplification with Bounded Error [J]. Computer Graphics & Applications IEEE, 1996, 16(3): 64-77.
[5] SEO J, SONG Y, KIM S, et al. Wrap-around Operation for Multi-resolution CAD Model [J]. Computer-Aided Design and Applications, 2005, 2(1): 67-76.
[6] LEE S H. Feature-based Multi Resolution Modeling of Solids [J]. ACM Transactions on Graphics, 2005, 24(4): 1417-1441.
[7] 张霞, 段黎明, 刘璐. 保持特征的高质量三角网格简化方法[J]. 计算机集成制造系统, 2014, 20(3):486-493. ZHANG Xia, DUAN Liming, LIU Lu. High Quality Triangular Mesh Simplification Method for Retaining Feature[J] .Computer Integrated Manufacturing System, 2014, 20 (3): 486-493.
[8] 张霞,段黎明,薛涛, 基于数据重建的三角网格模型简化优化方法[J]. 强激光与粒子束, 2014, 26(5):308-312. ZHANG Xia, DUAN Liming, XUE Tao, Simplified Optimization Method for Triangular Mesh Model Based on Data Reconstruction[J]. High Power Laser and Particle Beams, 2014, 26 (5): 308-312.
[9] OVREIU E, SULTANA A, RIVEROS J G, et al. Triangular Mesh Simplification Using an Adaptive Subdivision[C]// IEEE Signals, Circuits and Systems International Symposium. Beijing, 2013: 1-4.
[10] 郭雅丽. 超轻量化3D数据应用——解读XVL技术[J]. CAD/CAM与制造业信息化, 2008(8): 50-51. GUO Yali. Ultra Lightweight 3D Data Application—Interpreting XVL Technology [J]. Digital Manufacturing Industry, 2008 (8): 50-51.
[11] 冯勇, 王明玉. 基于语义的轻量级数据集成方法[J]. 计算机工程与设计, 2012, 33(1): 402-406. FENG Yong, WANG Mingyu.Technology of Lightweight Data Integration Based on Semantics[J]. Computer Engineering and Design, 2012, 33 (1): 402-406.
[12] 闻晓, 谷青范. 产品数据轻量化访问技术研究与实现[J]. 电子科技, 2013, 26(2): 159-161. WEN Xiao,GU Qingfan.Study and Implementation of Lightweight Access Technology for Product Data [J]. Electronic Science and Technology, 2013, 26 (2): 159-161.
[13] 刘清华,李帅,刘云华,万立. 协同环境中基于轻量化的3D异构CAD模型干涉检查[J]. 中国机械工程,2013,24(1):56-60. LIU Qinghua, LI Shuai, LIU Yunhua, et al. Interference Checking of 3D Heterogeneous CAD Model Based on Lightweight in Collaborative Environment [J]. China Mechanical Engineering, 2013,24(1): 56-60.
[14] International Organization for Standardization. ISO 10303-242:2014 Industrial Automation Systems and Integration, Product Data Representation and Exchange, AP 242: Managed Model Based 3D Engineering [S]. Switzerland: ISO Copyright Office, 2014.
[15] 陈思, 阎艳, 王钊, 等. 产品设计知识服务中本体推理技术应用[J]. 中国机械工程, 2014, 25(19): 2620-2627. CHEN Si, YAN Yan, WANG Zhao, et al. Application of Ontology Reasoning Technology in Product Design Knowledge Service[J]. China Mechanical Engineering, 2014, 25 (19): 2620-2627.
[16] 朱海华, 朱柏青, 李东波. 基于本体的产品服务知识表示方法研究[J]. 中国机械工程, 2013, 24(18): 2484-2489. ZHU Haihua, ZHU Baiqing, LI Dongbo. Study on Knowledge Representation of Product Service Based on Ontology[J]. China Mechanical Engineering, 2013, 24 (18): 2484-2489.
[17] 胡建,廖文和,徐勇,等.基于本体的概念设计知识管理系统框架研究[J]. 中国机械工程,2006,17(2):172-176. HU Jian, LIAO Wenhe, XU Yong, et al. Study on Framework of Conceptual Design Knowledge Management System Based on Ontology[J].China Mechanical Engineering, 2006,17 (2): 172-176.
[18] ABDUL-GHAFOUR S, GHODOUS P, SHARIAT B, et al. Semantic Interoperability of Knowledge in Feature-based CAD Models[J]. Computer-Aided Design, 2014, 56: 45-57.
[19] 简琤峰.语义网格环境下虚拟组织异构产品信息的语义在线重组技术[J].中国机械工程,2011,22(1):54-59. JIAN Chengfeng. Heterogeneous Product Information Semantic Online Reconstruction under the Virtual Organization Semantic Grid Environment[J]. China Mechanical Engineering, 2011,22(1):54-59.
[20] LIPMANR, LUBELL J. Conformance Checking of PMI Representation in CAD Model STEP Data Exchange Files[J]. Computer-Aided Design, 2015, 66: 14-23.
(编辑 王旻玥)
Lightening Technological Implementation of Model-based Definition Product Informationon Mobile Web
JIAN Chengfeng SUN Chang
Computer Science and Technology College,Zhejiang University of Technology,Hangzhou,310023
Based on the STEP AP242 protocol, which supported product model definition exchanges, a multi-view semantic model was proposed to classify and keep the non-geometric informations. With the model, semantic ontology was implemented to unify the product geometry and non-geometric semantic informations. Then a boundary-based lightening algorithm was proposed to match the performance of mobile terminals, which might cut product model with the product non-geometric information kept. Finally the experimental data was given to prove the feasibility.
mobile Web; STEP; semantic model; lightening
2016-09-22
国家自然科学基金资助项目(61672461,61672463)
TP393
10.3969/j.issn.1004-132X.2017.16.014
简琤峰,男,1973年生。浙江工业大学计算机学院副教授、博士。主要研究方向为CAD、云计算、图像识别。E-mail:jiancf@zjut.edu.cn。孙 畅,男,1996年生。浙江工业大学计算机学院硕士研究生。