羅年猛, 董天林, 鄧小杰
(華中科技大學機械科學與工程學院,湖北 武漢 430074)
一種改進的PowerPoint工程圖動畫制作方法研究
羅年猛, 董天林, 鄧小杰
(華中科技大學機械科學與工程學院,湖北 武漢 430074)
PowerPoint制作的動畫在目前工程制圖教學中占據(jù)主要地位,但是PPT中圖形的繪制和動畫的制作以及修改都很困難,提出一種結(jié)合 AutoCAD矢量圖形制作動畫方法,很好地解決了圖形繪制以及動畫定義后的再修改問題。
工程制圖;動畫制作;PowerPoint;矢量圖形
課件在現(xiàn)有工程制圖的教學工作中已普遍使用,而使用最多的課件仍是微軟出品的軟件PowerPoint制作的PPT幻燈片,其能夠很好地將文字、圖形、圖像展示出來,并提供豐富的動畫效果,教師在教學過程中能夠十分方便控制幻燈片以及動畫的播放時間。眾所周知,工程制圖的教學特點是以圖形為主,講解各種圖形的繪制方法和過程,其中動畫是一個重要的環(huán)節(jié),但是在PowerPoint中針對工程圖形的動畫制作存在如下幾個難以解決的問題:
(1) PPT中圖形繪制困難。工程圖在繪制中存在許多的幾何約束需要保證,如圖形元素在繪制的過程中需要捕捉中點、垂直、相切等、還需進行圓周分布、均勻分布等,這些要求在PPT中繪制圖形元素時幾乎難以完成,導致其在直接繪制工程圖形中工作量極大,且還難以滿足圖形的拓撲結(jié)構(gòu)和精度要求。
(2) PPT中現(xiàn)有的線型不符合工程制圖的國家標準。國家標準對不同的線型都有相關(guān)的推薦定義[1],但是 PPT中線條的線型為了美觀并未滿足相關(guān)規(guī)范,作為講授工程制圖課程的課件,如不能滿足相關(guān)標準就難以約束學生。
(3) 已經(jīng)定義好動畫的圖形修改困難。對已經(jīng)定義好的動畫,PPT雖然提供了簡單的局部單圖形元素的修改功能,但是,如果需要將整幅圖形動畫縮放以滿足排版的要求,或者修改中保證圖形中的相切、過中點等拓撲關(guān)系,存在較大的困難,一般上課時使用的完整的三視圖動畫完成后幾乎難以修改。若將圖形包裝為塊后進行縮放雖然能夠保證拓撲關(guān)系,但是經(jīng)其操作后,以前定義的動畫關(guān)系會全部丟失,也就是說,教師耗費大量的時間制造的一幅動畫圖形難以重復利用。
鑒于上述問題,國內(nèi)的呂梅等[2-4]展開了相關(guān)的研究,并通過將AutoCAD的圖形復制到PPT中較好地解決了上述的第一個問題,即PPT圖形繪制困難的問題。本文為此提出了以AutoCAD為主,以PowerPoint的直接編輯為輔的工程圖動畫制作方法并實現(xiàn)了相關(guān)系統(tǒng)的開發(fā)。該方法利用 AutoCAD 和PowerPoint的二次開發(fā)能力,直接在AutoCAD中開發(fā)一個輔助動畫定義系統(tǒng),完成圖形繪制和動畫定義,最后根據(jù)需要選擇適當?shù)谋壤?,自動轉(zhuǎn)換為PPT中具備動畫效果的幻燈片。由于本文方法都直接在AutoCAD中完成,因此需要對動畫進行修改時只需要修改原始的AutoCAD圖形,從而保證了相關(guān)的拓撲關(guān)系和原有動畫效果,輸出到PPT時也能夠方便指定輸出的大小,并在輸出時根據(jù)定義的線型進行處理,獲得滿足國標要求的線型表達,從而很好地解決了上述的3個問題。
基于上述思路,系統(tǒng)設(shè)計如下技術(shù)框架流程,如圖1所示。
圖1 動畫制作模型框架
在圖1中,圖形的來源可以是已經(jīng)存在的CAD模型(DWG文檔),其可以包含原來定義的動畫信息,或者直接建立新的文檔,在此基礎(chǔ)上可以對圖元進行添加、修改、移動、復制等各種操作。
圖形動畫的定義、圖元的繪制、圖元的編輯相互之間是即聯(lián)系又獨立,沒有必然的順序關(guān)系,教師可以根據(jù)需求隨時進行相關(guān)地操作。當定義動畫時所定義的動畫將自動和相應的圖形元素建立關(guān)聯(lián)關(guān)系。
將已經(jīng)定義好的動畫的文檔通過二次開發(fā)的輸出功能,設(shè)定輸出的幅面大小,可自動轉(zhuǎn)換為含有動畫效果的PPT文檔,其可方便插入已有的PPT文檔中,形成滿足要求的工程圖形動畫教學演示文稿。
從系統(tǒng)流程來看,還需要解決如下問題:①如何將PPT中已有的動畫效果在CAD中進行描述;②如何建立動畫與圖元的關(guān)系;③PPT繪制圖形時如何將CAD中的特殊對象(樣條曲線)在PPT中繪制出來;④如何將CAD中的國標線型在PPT中表示。只有解決了以上幾個問題才能成功解決前面提出的3個問題。
基于AutoCAD以及PowerPoint的二次開發(fā)能力[5-7],本文對上述關(guān)鍵技術(shù)展開研究,并很好解決了相關(guān)問題。
2.1動畫的描述及動畫與圖元的關(guān)聯(lián)
(1) 動畫數(shù)據(jù)描述。為了實現(xiàn)在AutoCAD中定義的動畫能夠完整、自動轉(zhuǎn)換為PowerPoint中的動畫效果,系統(tǒng)首先對 PPT中的動畫進行分析。在PowerPoint中一條完整的動畫,可以表達為如下的組合形式。
其中每一個組員的含義如表1所示。
表1 組員的描述
由于動畫是和每一個或一組圖形元素相關(guān),因此動畫的定義數(shù)據(jù)必須和相應的圖形元素進行關(guān)聯(lián),定義的動畫和圖形需要能夠保存,以便下次使用?;贏utoCAD的二次開發(fā)功能,在AutoCAD系統(tǒng)中的每一個圖形元素均可以定義擴展屬性,基于該擴展屬性,通過二次開發(fā),可以將文本、數(shù)值、甚至二進制數(shù)據(jù)放置其擴展信息中。當利用AutoCAD的保存功能保存圖形和讀取圖形時,這些擴展屬性信息會跟隨圖元保存到磁盤文件或者加載到AutoCAD系統(tǒng)中,從而解決了定義的動畫保存問題。
(2) 動畫數(shù)據(jù)的動態(tài)管理。在CAD系統(tǒng)中,由于圖元的添加、修改、刪除和動畫的定義是一個沒有前后順序關(guān)系的操作過程。因此,系統(tǒng)不能根據(jù)圖形元素在系統(tǒng)中繪制的順序來確定動畫的定義順序,根據(jù)前面動畫記錄的表達形式,由于在數(shù)據(jù)中記錄了動畫的順序,因此圖形在從數(shù)據(jù)庫中加載或者進行圖元的編輯、動畫的修改時在CAD系統(tǒng)內(nèi)部維持一個內(nèi)部動畫管理表。該表中每一項為一條單獨的動畫記錄,并基于順序號Index為關(guān)鍵字進行從小到大排序,該表不需要保存到圖形文檔中,如圖1所示。系統(tǒng)在進行動畫編輯或者輸出PPT文檔時如果不存在動畫管理表則自動根據(jù)現(xiàn)有的數(shù)據(jù)創(chuàng)建,在動畫編輯的過程中以及圖元修改中進行維護。
在圖元進行編輯時,例如復制中,圖元如果已經(jīng)定義了動畫信息,則定義的動畫將會自動被復制到新的圖元中,如果移動圖元,該圖元定義的動畫效果將不會丟失,從而最大限度保證了前期的動畫定義成果。
2.2樣條曲線的繪制
CAD中的樣條曲線一般是B樣條,PPT中雖然有曲線,但并不是樣條曲線。將B樣條的擬合點轉(zhuǎn)換到PPT中作為曲線的輸入點,畫出來的曲線明顯與PPT中的曲線不一樣,所以不能滿足機械制圖的要求,如圖2、3所示。圖2為CAD中繪制的圖形,中間的曲線為B樣條曲線;圖3是將CAD中B樣條的擬合點作為PPT中曲線的輸入點產(chǎn)生的曲線,其結(jié)果與原始對象差別較大,不能滿足教學演示之用。
為了解決上述問題,系統(tǒng)采用了直線逼近的方法來近似表達曲線,直線的段數(shù)越多則逼近的效果越好,在曲率越大的地方,其線段長度越小則效果越好?;贐樣條的表達,系統(tǒng)首先獲取一定數(shù)量的型值點,可以根據(jù)近似長度進行分割,然后計算型值點處的近似曲率,對于曲率相對比較大的地方進行適當型值點加密操作,最后對所有的型值點按照曲線長度方向依次用曲線擬合,得到近似表達,通過此方法繪制的直線可以滿足機械制圖教學的要求,如圖4、5所示。圖4是采用逼近方法將圖2轉(zhuǎn)到PPT中的效果,兩幅圖的相似度非常高,可滿足機械制圖演示的要求。而圖5是將圖4中的曲線打散后的效果,從結(jié)果看該曲線確實是由多段短直線組合而成,在曲率比較小的地方,其逼近線段長;而在曲率大的地方,其逼近線段短。
圖2 CAD中的圖形
圖3 直接利用PPT中的曲線
圖4 利用直線逼近的曲線
圖5 打散圖
2.3線型匹配
比較圖6和圖7可以發(fā)現(xiàn)PPT中現(xiàn)有的線型和機械制圖中國標的線型并不一致,圖6是PPT中的線型,圖7為機械制圖的國標線型。圖6中線型的表達明顯不能滿足國標的需求,因此不能直接進行設(shè)置。為此,系統(tǒng)采用文獻[8]中所表述的算法,對圖形元素進行線型處理,將原始帶有線型的圖元轉(zhuǎn)換為由許多實線描述的多條子圖元組合的表達模式,在輸出為PPT時,組合為一個整體,并統(tǒng)一應用定義的動畫。針對不同的圖元類型,可按圖8所示進行處理。
圖6 PPT線型
以實例展示該系統(tǒng)的轉(zhuǎn)換效果,圖9為CAD系統(tǒng)中繪制的已標注好的機械圖,且線型、線寬、顏色等信息已設(shè)置好,同時根據(jù)演示的實際需求也設(shè)置好了每一圖元的動畫效果。圖 10為轉(zhuǎn)換到 PPT中的對應結(jié)果,從結(jié)果看,圖形的轉(zhuǎn)換準確性較高,從右邊欄可知動畫效果已被設(shè)置好。
圖7 國標線型
圖8 圖元輸出線型處理流程
圖10 PPT轉(zhuǎn)換結(jié)果
從實驗結(jié)果可知,通過CAD繪圖并且設(shè)置動畫,然后直接轉(zhuǎn)換成一張完整的PPT是可行的。應用本文的方法解決了前面提到的3個問題,方便了機械制圖PPT演示文稿的制作。
本文方法較好地解決了利用 PPT制作機械制圖演示動畫存在的3個問題。從實驗結(jié)果看,本文的轉(zhuǎn)換效果比較理想,其方法是完全可行的。系統(tǒng)還存在不完善的部分,例如在AutoCAD中未能實現(xiàn)所見即所得的動畫效果,最后的動畫效果需要轉(zhuǎn)換到PPT中才能夠進行觀察。
[1] 中華人民共和國國家標準. 技術(shù)制圖圖線(GB/T17450-1998)[S]. 北京: 中國標準出版社, 1999.
[2] 呂梅, 楊莉, 郝育新. 一種基于AutoCAD和PowerPoint的制圖課件的制作方法研究[J]. 圖學學報, 2014, 35(4): 633-636.
[3] 張淑娟. 工程制圖的多媒體計算機輔助教學[J]. 山西農(nóng)業(yè)大學學報: 社會科學版, 2004, 3(4): 368-369, 375.
[4] 丁臨菊, 王君杰, 馮山山, 等. 基于AutoCAD和PowerPoint軟件制作《機械制圖》課件圖形動畫的研究[J]. 山西農(nóng)業(yè)大學學報: 自然科學版, 2008, 28(3): 366-368.
[5] Microsoft. PowerPoint 2010 Developer Reference [EB/OL]. [2015-04-02]. https://msdn.microsoft.com/ en-us/library/office/ff746846(v=office.14).aspx.
[6] 劉巍, 褚鵬. 用VBA對PowerPoint進行二次開發(fā)[J]. 電腦學習, 2003, (2): 28-29.
[7] 李冠億. 深入淺出AutoCAD.NET二次開發(fā)[M]. 北京:中國建筑工業(yè)出版社, 2012: 5.
[8] 羅年猛, 朱林, 黃正東. CAD 中圖元線型分割算法的研究和實現(xiàn)[J]. 工程圖學學報, 2009, 30(2): 9-14.
An Improved Method for Engineering Drawing Animation of PowerPoint
Luo Nianmeng,Dong Tianlin,Deng Xiaojie
(School of Mechanical Science & Engineering, Huazhong University of Science and Technology, Wuhan Hubei 430074, China)
Animation in PowerPoint has a major position in the current teaching of engineering drawing, but making and modifying animation are difficult in the PowerPoint. A method of combining AutoCAD vector graphic to make animation is put forward, and the problem of graphic drawing and animation remodification is solved well.
engineering drawing; animation; PowerPoint; vector graphics
TB 23
10.11996/JG.j.2095-302X.2016010120
A
2095-302X(2016)01-0120-05
2015-04-08;定稿日期:2015-07-07
羅年猛(1972–),男,湖北松滋人,副教授,博士。主要研究方向為CAD。E-mail:luonm@mail.hust.edu.cn