亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        三維引擎AnyCAD在坐標測量軟件開發(fā)中的應(yīng)用研究

        2021-07-30 09:13:10鮑晨興王鍇磊郭天茂
        測控技術(shù) 2021年7期
        關(guān)鍵詞:數(shù)據(jù)處理可視化解析

        鮑晨興, 王鍇磊, 郭天茂

        (北京航天計量測試技術(shù)研究所,北京 100076)

        三維坐標測量軟件是測量儀器與檢測人員之間的人機交互接口,軟件一般具有設(shè)備控制、模型導入、數(shù)據(jù)顯示、數(shù)據(jù)處理、逆向建模等功能[1-3],三維坐標測量軟件既是數(shù)據(jù)采集、處理應(yīng)用軟件,也是多元化檢測系統(tǒng)的集成平臺和信息展示的窗口。國內(nèi)軍工行業(yè)各大主機廠所使用的高端坐標檢測設(shè)備大多數(shù)仍然依靠國外進口,配套的坐標測量軟件也基本是國外的商業(yè)軟件,價格昂貴,存在信息安全隱患,無法定制開發(fā),不能滿足工業(yè)互聯(lián)網(wǎng)和車間數(shù)字化的發(fā)展需求,因此亟需開發(fā)具有國產(chǎn)自主知識產(chǎn)權(quán)的通用型坐標測量軟件。

        國外的商業(yè)化三維坐標測量軟件如NRK公司的Spatial Analyzer、InnoveMetric公司的PolyWorks、3D System公司的Geometric等在幾何檢測領(lǐng)域有廣泛的應(yīng)用[4],它們均是通用型的坐標測量軟件,檢測功能較完善,能夠兼容多種儀器設(shè)備,雖然提供二次開發(fā)接口,但二次開發(fā)接口的功能有限,對國產(chǎn)設(shè)備不能兼容。隨著中國制造業(yè)的快速發(fā)展,國內(nèi)高校、研究機構(gòu)也進行了三維坐標測量軟件的開發(fā)[5],常用于坐標測量軟件開發(fā)的三維引擎有ACIS、HOOP、OpenCASCADE、OpenSceneGraph等[6-8],ACIS和HOOPS屬于商業(yè)庫,價格昂貴,系統(tǒng)龐大,開發(fā)上手比較困難;OpenCASCADE屬于開源庫,雖然免費,但是相關(guān)資料較少,穩(wěn)定性較差,開發(fā)起來也很困難。目前國內(nèi)還沒有成熟穩(wěn)定的通用型坐標測量軟件,國內(nèi)現(xiàn)有的測量軟件一般由測量儀器設(shè)備廠家定制開發(fā),數(shù)據(jù)處理功能不夠完善,無法兼容多種儀器設(shè)備,不具備通用性。

        AnyCAD Rapid SDK(以下簡稱AnyCAD)是一個包含三維幾何造型、圖形顯示、數(shù)據(jù)管理等模塊的綜合三維圖形平臺,AnyCAD核心功能基于C++實現(xiàn),由幾何造型、顯示引擎、數(shù)據(jù)管理和交互框架組成,在開發(fā)接口上又分為AnyGeom幾何造型模塊和AnyViz三維顯示模塊[9]。本文采用AnyCAD搭建坐標測量軟件的基礎(chǔ)框架,實現(xiàn)三維模型導入和解析、三維顯示和人機交互等功能。檢測數(shù)據(jù)處理時借助AnyCAD良好的交互功能,實現(xiàn)形位公差的構(gòu)建和測量結(jié)果的顯示。

        本文旨在搭建一款通用型的坐標測量軟件平臺,能夠連接多種國產(chǎn)和進口的測量儀器和設(shè)備,具備良好的三維顯示交互和完善的數(shù)據(jù)處理功能。通過研究,驗證了基于AnyCAD引擎快速搭建三維坐標測量軟件的可行性,為通用型三維坐標測量軟件的國產(chǎn)自主化提供有力的支撐,為軍工行業(yè)測量數(shù)據(jù)信息安全提供有力的保障,為車間實現(xiàn)測量儀器的統(tǒng)一管理和多種設(shè)備互聯(lián)等目標做好準備。

        1 三維坐標測量軟件的系統(tǒng)設(shè)計

        三維坐標測量儀器種類繁多,常見的有三坐標測量機、激光跟蹤儀、經(jīng)緯儀、激光雷達等[10],每類測量儀器的測量原理不盡相同,但測量數(shù)據(jù)的類型基本一致,均為三維坐標點。三維坐標測量軟件的測量數(shù)據(jù)均源于此類測量儀器,坐標測量軟件一般具有三維可視化功能,可以實時顯示測量數(shù)據(jù)[11];具備多種格式的數(shù)據(jù)導入功能,可以實現(xiàn)CAD模型的導入和不同設(shè)備測量數(shù)據(jù)的導入;具有通用的程序接口,便于連接多種設(shè)備;具備完善的數(shù)據(jù)處理功能,可以進行三維幾何重建、尺寸測量、公差評價、模型匹配等。

        1.1 系統(tǒng)組成

        本文研究的三維坐標測量軟件的主要功能分為以下4部分:三維可視化及交互[12]、設(shè)備管理及數(shù)據(jù)采集、CAD模型導入及幾何解析、測量數(shù)據(jù)處理,具體如圖1所示。

        圖1 三維坐標測量軟件組成原理

        1.2 軟件架構(gòu)

        本文開發(fā)的三維坐標測量軟件是基于Windows操作系統(tǒng)開發(fā)的WinForm類型應(yīng)用程序,采用模塊化設(shè)計方便更新和維護,主要包括三維顯示交互模塊、三維幾何造型模塊、儀器接口模塊、數(shù)據(jù)處理算法模塊等,如圖2所示。

        圖2 三維坐標測量軟件架構(gòu)

        2 軟件功能模塊設(shè)計

        2.1 CAD模型導入及解析

        CAD模型是零件加工制造的基礎(chǔ),在三維坐標測量軟件中CAD模型主要有以下兩種作用:① 利用CAD模型進行測量路徑規(guī)劃;② 測量數(shù)據(jù)與CAD模型進行比對從而計算誤差。CAD模型數(shù)據(jù)中不僅包含結(jié)構(gòu)化的數(shù)據(jù)如三維點坐標,也包含幾何信息如直線的方向、平面的法向等信息,對CAD模型進行幾何解析就是獲取所有的數(shù)據(jù)信息,以便于后續(xù)的測量和計算。

        AnyGeom幾何造型引擎具備幾何造型和模型解析的功能,模型解析的原理如圖3所示,從CAD模型上可以獲取其包含的所有幾何形狀的解析表達。

        圖3 CAD模型解析原理

        2.2 三維可視化原理

        三維可視化顯示是采用AnyViz顯示引擎,其原理如圖4所示,待顯示的物體通過SceneNode類進行實例化,通過Geometry、Shape等相關(guān)類來描述形狀,通過Material類來描述外觀、材質(zhì),通過Matrix、Transform類來管理物體位置及觀察視角。

        圖4 三維可視化原理

        測量點數(shù)據(jù)三維可視化的代碼如下,其中mRenderView是AnyViz渲染器(以下簡稱渲染器)的實例對象。

        var material =PointsMaterial.Create("point-material");//創(chuàng)建顯示的外觀

        material.SetPointSize(2.0f);//設(shè)置顯示點的大小 material.GetTemplate().SetVertexColors(true);

        var geometry = GeometryBuilder.CreatePoints(new Float32Array(mPositions),new Float32Array(mColors));//通過點數(shù)據(jù)創(chuàng)建幾何對象

        var node = new PrimitiveSceneNode(geometry,material);//通過幾何對象創(chuàng)建顯示節(jié)點

        mRenderView.ShowSceneNode(node);//顯示節(jié)點

        2.3 測量數(shù)據(jù)處理

        測量數(shù)據(jù)為離散的三維坐標點,通過數(shù)據(jù)處理才能得到測量結(jié)果。數(shù)據(jù)處理功能是利用測量點數(shù)據(jù)進行幾何形狀重建、距離計算、角度計算、投影、相交等。

        2.4 測量設(shè)備管理

        三維坐標測量儀器采集的數(shù)據(jù)一般均為三維坐標點,因此可以通過設(shè)計統(tǒng)一的數(shù)據(jù)接口實現(xiàn)從不同的測量設(shè)備采集測量數(shù)據(jù)。測量設(shè)備生產(chǎn)商一般會向使用者提供用于二次開發(fā)的SDK。利用這些SDK可以通過軟件接口連接設(shè)備并獲取測量數(shù)據(jù),然后根據(jù)數(shù)據(jù)接口的格式進行轉(zhuǎn)換,就可以將數(shù)據(jù)導入到三維坐標測量軟件中。

        3 軟件的開發(fā)與實現(xiàn)

        本軟件基于Windows10 64-bit系統(tǒng),采用Visual Studio2017進行開發(fā),利用AnyCAD SDK實現(xiàn)三維顯示、交互操作及模型導入,圖5為三維坐標測量軟件主界面,主要包括軟件功能工具欄、設(shè)備與數(shù)據(jù)管理區(qū)、三維可視化顯示與交互區(qū)、儀器操作區(qū)等。

        圖5 三維坐標測量軟件操作界面及主要功能展示

        3.1 三維可視化數(shù)據(jù)管理及人機交互的實現(xiàn)

        三維可視化數(shù)據(jù)管理是指對創(chuàng)建的測量數(shù)據(jù)、導入的幾何模型等進行顯示、隱藏、刪除等操作。渲染器中的每個顯示節(jié)點可以設(shè)置唯一的id,可以通過id從渲染器中獲取某個顯示節(jié)點,從而進行管理操作。本文創(chuàng)建字典類型對象Dictionary m_displayNodes用于存儲已創(chuàng)建的數(shù)據(jù),其中string類型數(shù)據(jù)代表節(jié)點數(shù)據(jù)的名稱,uint代表節(jié)點數(shù)據(jù)在渲染器中的id。創(chuàng)建顯示數(shù)據(jù)的流程如圖6所示。隱藏、刪除操作是通過名稱獲取顯示節(jié)點的id,再通過id從渲染器中獲取節(jié)點對象,最后執(zhí)行隱藏、刪除操作。

        圖6 可視化數(shù)據(jù)管理流程圖

        人機交互是通過用戶輸入(鼠標、鍵盤等)實現(xiàn)對顯示數(shù)據(jù)的操作,如旋轉(zhuǎn)、平移、縮放、拾取等。其中拾取操作是測量數(shù)據(jù)處理時的必要功能,本文設(shè)計了pickDisplayInfo函數(shù)用于響應(yīng)渲染器的選擇事件。

        public void pickDisplayInfo(PickedItem item)

        { switch (item.GetShapeType())

        { case EnumShapeFilter.Vertex:

        //處理函數(shù);break;

        case EnumShapeFilter.Face:

        //處理函數(shù);break;..}}

        其中,PickedItem對象包含了被選中的節(jié)點信息,如節(jié)點的幾何類型、id等,然后通過id獲取數(shù)據(jù)并處理。

        3.2 CAD模型解析的實現(xiàn)

        導入CAD模型是為了獲取待測零件各種幾何參數(shù)的理論設(shè)計值,借助AnyGeom幾何造型引擎可以實現(xiàn)對STP和IGES格式的三維模型導入,導入后得到TopoShape類型的對象,通過GetTopoShape()方法可以得到所有幾何拓撲結(jié)構(gòu)和幾何參數(shù),GetChildren(EnumTopoShapeType)方法可以獲取指定類型的子拓撲結(jié)構(gòu)的對象列表,比如獲取一個體的所有邊,一個邊的所有點等。通過TopoShape:FindChild()方法可以獲取指定索引和類型的子拓撲對象。模型解析的代碼實現(xiàn)如下。

        var shape = StepIO.Open(file);

        TopoShape totalshape = shape.GetTopoShape();

        TopoShapeList edgeList = totalshape.GetChildren(EnumTopoShapeType.Topo_EDGE);

        foreach (TopoShape edge in edgeList)

        {TopoShapeList vertexList=edge.GetChildren(EnumTopoShapeType.Topo_Vertex);

        foreach (TopoShape vertex in vertexList)

        { … //處理數(shù)據(jù)} }

        通過以上方法可以從CAD模型中獲取測量目標的理論參數(shù)。圖7為CAD模型拾取某個面獲取其幾何解析參數(shù)的界面,信息包括原點坐標和法線方向。

        圖7 CAD模型獲取幾何解析參數(shù)

        3.3 多種設(shè)備兼容的實現(xiàn)

        分別選取Leica激光跟蹤儀AT960和北京航天計量測試技術(shù)研究所研制的調(diào)頻激光雷達掃描儀,作為國外測量設(shè)備和國產(chǎn)設(shè)備的代表,以此驗證多設(shè)備兼容的可行性,圖5中右測區(qū)域即為兩種儀器的操作界面。

        設(shè)計了測量數(shù)據(jù)接口函數(shù)addSinglePoint(string pointname,double x,double y,double z),其中包含測量點名稱和三維坐標值。設(shè)計了設(shè)備管理類Class_Device用于管理不同的測量儀器,該類包含設(shè)備的操作界面、設(shè)備實例對象和設(shè)備名稱等屬性。Leica激光跟蹤儀提供的SDK為LMF.Tracker.Connection,通過其MeasurementArrived事件響應(yīng)函數(shù)可以獲取測量點的三維坐標值;調(diào)頻激光雷達提供的SDK為LaserRanderDLL,通過其sendSingleMeas事件響應(yīng)函數(shù)可以獲取測量點的三維坐標值。將測量點的三維坐標值再添加自定義名稱,調(diào)用addSinglePoint函數(shù)即可將測量數(shù)據(jù)傳入測量軟件中。

        public class Class_Device

        { public Form_Device _formDevice;

        public Device _device;

        public string _name; }

        4 結(jié)束語

        本文將AnyCAD三維引擎應(yīng)用于三維坐標測量軟件的開發(fā),通過AnyGeom幾何造型引擎實現(xiàn)CAD模型的導入及解析,通過AnyViz顯示引擎實現(xiàn)測量數(shù)據(jù)和數(shù)據(jù)處理結(jié)果的顯示,開發(fā)了一款通用型三維坐標測量軟件,具備良好的三維可視化及人機交互、模型導入與解析等功能,同時能夠兼容多種測量儀器設(shè)備。通過研究,驗證了基于AnyCAD平臺快速搭建具有國產(chǎn)自主知識產(chǎn)權(quán)坐標測量軟件的可行性,并驗證了對國內(nèi)外坐標測量儀器同時兼容的可能性。

        猜你喜歡
        數(shù)據(jù)處理可視化解析
        基于CiteSpace的足三里穴研究可視化分析
        認知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補與極大似然估計法*
        心理學報(2022年4期)2022-04-12 07:38:02
        基于Power BI的油田注水運行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
        三角函數(shù)解析式中ω的幾種求法
        基于CGAL和OpenGL的海底地形三維可視化
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        睡夢解析儀
        電競初解析
        商周刊(2017年12期)2017-06-22 12:02:01
        相機解析
        亚洲av片在线观看| 少妇人妻精品一区二区三区视| 亚洲女同av在线观看| 天天躁日日躁狠狠躁欧美老妇小说| 一本色道久久99一综合| 99精品成人片免费毛片无码| 在线看片免费人成视久网不卡| 一区二区亚洲精品在线| 国产青榴视频在线观看| 亚洲人成无码网站久久99热国产| 欧美日韩国产在线人成dvd| 午夜理论片日本中文在线| 国产欧美va欧美va香蕉在| 人人妻人人爽人人做夜欢视频九色| 亚洲电影久久久久久久9999| 日本丶国产丶欧美色综合| 亚洲熟妇中文字幕日产无码| 亚洲最大av在线精品国产| √天堂中文官网在线| 免费夜色污私人影院在线观看 | 亚洲中文字幕乱码一二三| 国产色在线 | 日韩| 艳妇乳肉豪妇荡乳av无码福利| 久久婷婷国产综合精品| 麻豆久久91精品国产| 天天躁日日躁狠狠躁| 久久国产精品不只是精品 | 国产成人一区二区三中文| 国产成人久久综合第一区| 国产白浆一区二区三区性色| 色视频线观看在线网站| 最近中文av字幕在线中文| 中文字幕五月久久婷热| 国产精品亚洲三级一区二区三区| 亚洲日韩国产精品乱-久| 国产成人无码A区在线观| 91久久国产露脸国语对白| 国产日韩精品suv| 亚洲不卡中文字幕无码| 亚洲国产综合精品久久av| 日韩精品免费一区二区三区观看|