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

        ?

        面向3D打印機的彩色三維模型成型技術

        2017-08-08 10:52:31黃國勝江先志田芬芳
        關鍵詞:模型

        黃國勝,徐 欣,江先志,滕 軍,田芬芳

        (1.浙江理工大學 機械與自動控制學院,浙江 杭州 310018;2.浙江騰騰電氣有限公司,浙江 溫州 325000)

        面向3D打印機的彩色三維模型成型技術

        黃國勝1,徐 欣1,江先志1,滕 軍2,田芬芳2

        (1.浙江理工大學 機械與自動控制學院,浙江 杭州 310018;2.浙江騰騰電氣有限公司,浙江 溫州 325000)

        針對3D打印技術打印速度慢、打印精度低、不能多色打印等缺陷,研究3D打印機的STL文件載入和讀取、基于OpenGL的模型顯示、彩色圖片像素采集以及基于RGB顏色空間的數(shù)據(jù)處理算法等技術,以便將數(shù)據(jù)轉化成相應的G代碼發(fā)送給下位機.

        圖像;三維模型;像素;RGB;STL;G代碼

        3D 打印,又稱三維打印,是一種快速成型技術,為用戶提供了新的設計、創(chuàng)作和制作方法.它是通過逐層打印的方式來成型的,形象地說,3D 打印就是 2D 打印沿著高度方向逐層疊加,創(chuàng)造一個立體的幾何圖形.在計算機中輸入數(shù)據(jù),設計3D 模型后,計算機自動將 3D 模型的數(shù)據(jù)進行分層,像人們檢查身體時做 CT 掃描一樣,形成多個單層圖像.3D 打印機根據(jù)這些分層圖像數(shù)據(jù),一層一層地將材料疊加上去,形成一個立體實物[1].

        3D打印技術從狹義上來說屬于增材成型技術.從成型工藝上看,3D打印機無論使用何種方法,其打印過程都基本相同.首先,通過計算機輔助設計軟件創(chuàng)建三維虛擬模型,并將模型的格式轉換成STL文件格式,然后通過上位機對STL文件進行后期處理,再連接3D打印機進行打印.

        2010 年以后,3D 打印技術已經(jīng)被應用于各個工業(yè)領域,如航空航天、生物醫(yī)療、個性化消費、注塑模具等[2].新興增材制造技術也已經(jīng)發(fā)展為更精確的技術領域,如金屬零件增材制造、微光固化成型、高精密數(shù)字化成型、數(shù)字化材料 3D 打印等[3].

        本研究的重點在于STL文件的后期處理,包括文件數(shù)據(jù)采集方法、基于圖像映射的彩色三維模型成型、切片分層和多頭G代碼的生成.

        1 三維模型格式文件載入

        STL文件格式是一種用三角面片表達實體表面數(shù)據(jù)的文件格式.它是若干空間小三角面片的集合,每個三角面片用三角形的3個頂點和指向模型外部的法向量表示[4].根據(jù)數(shù)據(jù)存儲方式的不同,STL 文件可分為ASCII碼和二進制碼兩種存儲方式[5].ASCII格式文件可以讀取,便于測試,故選用其作為可視化的研究對象.其格式如下:

        facet

        normalxyz(三角面片法向量的3個分量值)

        vertexxyz(三角面片第一個頂點坐標)

        vertexxyz(三角面片第二個頂點坐標)

        vertexxyz(三角面片第三個頂點坐標)

        endloop

        endfacet(完成一個三角面片定義)

        一個facet和下一個endfacet之間的數(shù)據(jù)塊為一個三角面片的幾何信息,normal后面的3個值表示當前三角面片的法向量,接下來的3行為三角面片的3個頂點坐標,都以vertex開頭[6].

        本研究以STL格式文件為數(shù)據(jù)源,利用Visual Studio 2013開發(fā)環(huán)境(圖1),基于C#系統(tǒng)庫函數(shù)的ReadLine()方法逐行讀取STL文件,通過字符串處理函數(shù)對3個法向量數(shù)據(jù)和3個頂點數(shù)據(jù)進行判斷和分析,并將結果儲存于數(shù)組中,同時以OpenGL(Open Graphics Library)作為三維圖形接口,利用其強大的圖形處理能力對三角面片進行逐個繪制,最后合并,形成完整的三維模型.

        圖1 開發(fā)環(huán)境截圖

        軟件讀取STL文件的步驟如下:①定義一個三角形T;②讀取上述數(shù)據(jù)結構中的normal段法向量數(shù)據(jù),存儲到glNormals[]數(shù)組中,讀取vertex段頂點數(shù)據(jù),存儲到glVertexs[]數(shù)組中;③循環(huán)判斷文件是否讀取完成;④讀取結束.

        STL文件格式簡單,只能存儲三維物體的幾何信息,并不支持顏色信息.因此,下一步要做的是采集圖片的顏色信息,將圖片信息映射到三維模型上,然后生成相應的G代碼,發(fā)送給下位機.

        2 圖像映射與彩色三維模型成型

        STL文件并不存儲顏色數(shù)據(jù),為了將顏色信息映射到模型上,解決模型彩色顯示的問題,需要采集圖片的RGB顏色信息.RGB被稱為三原色或顯示屏模式,它屬于發(fā)光配色,是根據(jù)顏色發(fā)光的原理來設計的[7].在 RGB 模式中,R 代表紅光(Red),G 代表綠光(Green),B 代表藍光(Blue),每種光的亮度取值為0~255.對這3種色彩的亮度值進行調(diào)配組合,可產(chǎn)生新的像素顏色,從而形成更多的色彩[8].

        首先,使用Bitmap類方法綁定需要載入的圖像格式文件bmp(圖2).其關鍵代碼為:

        Bitmap bmp = new Bitmap(pictureFilePath);//綁定圖像格式文件

        定義Bitmap后,使用bmp.Width和bmp.Height分別獲取圖像的像素寬和像素高,使用bmp.GetPixel(x,y)獲取像素點位置為(x,y)的顏色信息.

        圖2 載入的圖像

        然后,分析綁定載入的STL文件的頂點數(shù)據(jù)(即glVertexs[]數(shù)組數(shù)據(jù)),對x坐標和z坐標數(shù)據(jù)進行比較,獲得模型中x坐標值和z坐標值的最大值和最小值,從最大值和最小值的絕對差得到模型寬ModelWidth和模型高ModelHeight.其關鍵代碼為:

        ModelWidth = Math.Abs(ModelxMax - ModelxMin);//計算STL模型寬

        ModelHeight = Math.Abs(ModelzMax - ModelzMin);//計算STL模型高

        求得模型寬和模型高后,對比圖像像素寬bmp.Width和像素高bmp.Height,獲取比例值,進而求得glVertexs[]數(shù)組數(shù)據(jù)在圖像中相應的像素點位置(Position_Width,Position_Height),通過GetPixel函數(shù)獲取該點的像素顏色信息.其關鍵代碼為:

        Position_Width=(Position_x-ModelxMin) *WidthMax/ModelWidth+xmin;

        Position_Height=(zmax-(Position_z-ModelzMin)*HeightMax/ModelHeight;

        returnColorToRgba32(bmp.GetPixel(Position_Width,Position_Height));

        將計算出的對應像素點顏色數(shù)據(jù)存儲到glColors[]數(shù)組中,再用OpenGL庫繪制三角面片,同時加入對應的顏色數(shù)據(jù).

        圖3所示為使用載入圖像映射后三維模型成型的效果.

        圖3 三維模型成型的效果

        3 切片分層與G代碼生成

        在彩色三維模型成型后,調(diào)用Slic3r軟件(一款用于將STL文件轉化成G代碼的開源軟件),將模型分層切片.切片時發(fā)現(xiàn),在RGB模式下,三原色光每種均有256個亮度值,總共有256×256×256個,即16 777 216 個亮度值.然而,下位機中擠出頭數(shù)只有8個,只有8種顏色可選擇,限制了所用的顏色種類.本研究使用RGB顏色空間模型來處理顏色數(shù)據(jù)(圖4)[9].

        圖4 RGB顏色空間模型

        這里,使用的8個擠出頭分別對應藍、黑、綠、青、紅、洋紅、黃和白8種顏色.將模型的顏色與擠出頭的顏色進行對比,選擇顏色最接近的擠出頭.其關鍵代碼如下:

        sumRGB[0] = Math.Pow(RGB.R-0,2)+〗Math.Pow(RGB.G-0,2)

        + Math.Pow(RGB.B-255,2);

        for (inti= 0;i< 8;i++){

        if (sumRGB[i] <= temp){

        temp = sumRGB[i];

        num =i;

        }

        }

        在生成G代碼時,根據(jù)所選的sumRGB[i]數(shù)組的i的大小,用T0~T7表示擠出頭的選擇,來控制下位機的運動.

        圖5和圖6分別為切片分層及加入顏色后的顯示效果.圖7所示為軟件生成的G代碼.

        圖5 切片分層后的效果

        圖6 加入顏色后的分層效果

        4 結束語

        本研究分析并實現(xiàn)了3D模型的彩色化,將模型數(shù)據(jù)轉化為3D打印機可讀取的G代碼,并且實現(xiàn)了整個過程的可視化操作.但目前其功能還稍有局限,比如顏色只能通過圖片讀取,而不能直接在表面編輯,著色實現(xiàn)的過程仍待改進.

        [1] 王廣春,趙國群.快速成型與快速模具制造技術及其應用[M].北京:機械工業(yè)出版社,2013.

        [2] 王雪瑩.3D打印技術與產(chǎn)業(yè)的發(fā)展及前景分析[J].中國高新技術企業(yè),2012(26):3-5.

        [3] 張建梅,趙 立,黨驚知,等.快速成型技術的應用及發(fā)展方向[J].中北工學院學報,2002,23(4):301-305.

        [4] 楊 光,劉偉軍,王維田,等.STL格式文件拓撲重建及快速切片算法研究[J].現(xiàn)代制造工程,2009(10):32-35.

        [5] 張貞貞,陳定方.基于VC的STL文件讀取[J].湖北工業(yè)大學學報,2008,23(2):44-46,73.

        [6] 耿 鐵,任清海.基于OpenGL 的 STL 文件三維模型真實感圖形可視化研究[J].制造業(yè)自動化,2011,33(16):121-124.

        [7] 許寶卉.彩色CRT色彩特性及色彩空間轉換方法的研究[D].西安:西安理工大學,2005.

        [8] 鞏亞萍,高 軍.印刷品檢測過程中的色彩空間轉換研究[J].山東理工大學學報(自然科學版),2009,23(4):53-57.

        [9] 楊振亞,王 勇,楊振東,等.RGB顏色空間的矢量—角度距離色差公式[J].計算機工程與應用,2010,46(6):154-156.

        Colorful 3D Model Molding Technology for 3D Printer

        HUANG Guo-sheng1,XU Xin1, JIANG Xian-zhi1,TENG Jun2, TIAN Fen-fang2

        (1.School of Mechanical Engineering and Automation, Zhejiang Sci-Tech University,Hangzhou 310018, China; 2.Zhejiang Tengteng Electric Co.,Ltd, Wenzhou 325000,China)

        3D printing technology which makes objects by layer-by-layer printing based on a digital model file. There are also many weaknesses and limitations, such as slow print speed, low print accuracy and lack of multi-color printing. Therefore, this paper focuses on solving the problem of the host computer of the color 3D printer, including the loading and reading of the STL file, the OpenGL-based model display, the color picture pixel acquisition, the RGB color space data processing algorithm and so on. And finally send to the data into the corresponding G code the next crew.

        image; 3D model; pixel; RGB; STL; G code

        2016-12-20

        浙江省重大科技專項計劃資助項目(2014C11SA310003);浙江理工大學校企合作資助項目(14020089-J)

        黃國勝(1993-),男,浙江蒼南人,碩士研究生,研究方向為機器視覺.

        1006-3269(2017)02-0030-04

        TP391

        A

        10.3969/j.issn.1006-3269.2017.02.007

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應用
        p150Glued在帕金森病模型中的表達及分布
        函數(shù)模型及應用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        3D打印中的模型分割與打包
        久久天堂综合亚洲伊人hd妓女 | 日本一区二区免费在线看| 国产精品人人做人人爽人人添| 中国农村熟妇性视频| 狠狠躁夜夜躁人人爽天天 | 国内精品久久久久伊人av| 免费人成无码大片在线观看| 精品国产性色av网站| 少妇人妻一区二区三飞| 成熟人妻换xxxx| 亚洲一本到无码av中文字幕| 国产成人午夜福利在线小电影| 人妻av中文字幕精品久久| 久久国产精品一区二区三区| 夜先锋av资源网站| 欧美日韩国产亚洲一区二区三区| 一区二区三区观看在线视频| 午夜影视免费| 午夜精品久久久久久久久久久久| 亚洲精品国产品国语在线app | 挺进朋友人妻雪白的身体韩国电影 | 男女男精品视频网站免费看| 蜜桃无码一区二区三区| 国产91吞精一区二区三区| 久久精品亚洲熟女九色| 日本少妇高潮喷水视频| 精品国产av最大网站| 国产精品98视频全部国产| 日产国产亚洲精品系列| 国产又色又爽无遮挡免费软件| 丁香五月缴情综合网| 亚洲国产一区二区三区,| 久久精品不卡一区二区三区| 国产真实乱对白精彩久久老熟妇女| 四虎永久在线精品免费观看地址| 国产噜噜亚洲av一二三区| 久久午夜av一区二区三区| 国产在线精品欧美日韩电影| 国内精品91久久久久| 不卡一区二区三区国产| 亚洲日韩一区二区一无码|