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

        ?

        AutoCAD文檔計(jì)算機(jī)自動(dòng)批閱系統(tǒng)的研究與實(shí)現(xiàn)

        2016-09-27 01:09:27
        關(guān)鍵詞:圖元共線圖層

        張 寧

        (蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院 江蘇蘇州 215000)

        ?

        AutoCAD文檔計(jì)算機(jī)自動(dòng)批閱系統(tǒng)的研究與實(shí)現(xiàn)

        張寧

        (蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院江蘇蘇州215000)

        AutoCAD因功能強(qiáng)大、適用廣泛成為當(dāng)今流行的工程圖紙繪制軟件。實(shí)踐證明用計(jì)算機(jī)自動(dòng)批閱學(xué)生上交的圖形文檔是快速準(zhǔn)確解決的途徑之一。對(duì)此進(jìn)行了深入的分析和探討,成功編制AutoCAD圖形文檔自動(dòng)批閱程序并成功投入教學(xué),獲得了良好的教學(xué)效果。

        AutoCAD; 圖形; 批閱; VB

        AutoCAD是當(dāng)今流行的工程圖紙繪制軟件,成為機(jī)械專業(yè)和其他相關(guān)專業(yè)學(xué)習(xí)培訓(xùn)的基本軟件。在該軟件的教學(xué)過程中,面臨如何批閱AutoCAD圖形文檔的難題,對(duì)此筆者進(jìn)行了一些研究,并成功開發(fā)了AutoCAD圖形文檔計(jì)算機(jī)自動(dòng)批閱系統(tǒng),方便迅速且準(zhǔn)確地解決了此難題。在教學(xué)實(shí)踐中使用效果良好。

        1 解決總體思路

        任何一個(gè)簡(jiǎn)單或復(fù)雜的CAD圖形都是由若干個(gè)圖元組成的。因而把對(duì)整個(gè)文檔的批閱細(xì)化為對(duì)每個(gè)圖元的批閱。根據(jù)此原則,本系統(tǒng)的批閱思路是:先做好一個(gè)標(biāo)準(zhǔn)文檔,針對(duì)標(biāo)準(zhǔn)文檔中的每個(gè)圖元在學(xué)生作業(yè)文檔中查找,若找到說明該圖元已畫出且正確,否則相應(yīng)圖元不存在。對(duì)于設(shè)置類的批閱,如圖層設(shè)置、標(biāo)注設(shè)置、樣式設(shè)置等,其解決方法是在數(shù)據(jù)庫(kù)中預(yù)先設(shè)置好該張?jiān)嚲硇枧喌脑O(shè)置項(xiàng)目及屬性,根據(jù)該設(shè)置將標(biāo)準(zhǔn)文檔與解答文檔對(duì)比批閱。

        2 開發(fā)環(huán)境與數(shù)據(jù)庫(kù)選擇

        本系統(tǒng)是利用VBA作為工具進(jìn)行開發(fā)的,因此選用了VBE作為開發(fā)環(huán)境。由于程序中所用數(shù)據(jù)量極小,且考慮到后期對(duì)批閱結(jié)果的分析及匯總的方便性,系統(tǒng)采用了Excel作為數(shù)據(jù)庫(kù)存放批閱項(xiàng)目及批閱結(jié)果。

        3 系統(tǒng)主界面、批閱主程序思路及代碼

        批閱前需做好標(biāo)準(zhǔn)文檔作為參考,再將學(xué)生的CAD圖形文件集中存放在一個(gè)文件夾中。運(yùn)行本程序,批閱窗口界面如圖1。操作時(shí)依次設(shè)置本次批閱的相關(guān)項(xiàng)目:需批閱的學(xué)生圖形文件所存放的文件夾,選擇標(biāo)準(zhǔn)文檔,選擇后系統(tǒng)會(huì)自動(dòng)統(tǒng)計(jì)該文檔中的圖元個(gè)數(shù),并顯示在右側(cè),同時(shí)將該圖形文件的所有圖層名送入“基準(zhǔn)圖層”下拉列表,再選擇基準(zhǔn)圖層,因?yàn)榛鶞?zhǔn)圖層中圖元的批閱與其他圖層不一樣,如果圖層暫不考慮可取消“批閱基準(zhǔn)圖層圖元”的選中狀態(tài),還可以設(shè)置尺寸標(biāo)注是否批注、是否補(bǔ)畫學(xué)生缺線以及補(bǔ)線的顏色,各圖元、屬性批閱時(shí)的分值等項(xiàng)目。

        圖1 批閱文檔對(duì)話框

        根據(jù)批閱總體思路,本系統(tǒng)在主程序中首先聲明一個(gè)可以表示各類圖元對(duì)象的實(shí)體類型變量en,再用for在標(biāo)準(zhǔn)文檔中對(duì)圖元遍歷,通過各對(duì)象的名稱ObjectName屬性值,得知該圖元的類型,并調(diào)用相應(yīng)的函數(shù)進(jìn)行批閱。不同的圖元使用不同的批閱過程,其參數(shù)均為bz和jdmo,分別表示標(biāo)準(zhǔn)文檔中要批閱的圖元和解答文檔的模型空間對(duì)象。在各類圖元的批閱函數(shù)中對(duì)解答文檔模型空間的圖元遍歷,查找相應(yīng)圖元是否存在,最后調(diào)用“輸出”函數(shù),將批閱結(jié)果以一行一個(gè)圖元要素寫入Excel工作表。

        4 典型圖元對(duì)象的批閱

        4.1直線的批閱

        直線的批閱主要由兩個(gè)函數(shù)完成。一是“批閱直線”,另一個(gè)是“批閱實(shí)體直線”,前者遍歷標(biāo)準(zhǔn)文檔中的所有直線,對(duì)每個(gè)找到的直線調(diào)用“批閱實(shí)體直線”函數(shù)。該函數(shù)的功能是遍歷解答文檔,尋找同要素直線。若找到則“批閱實(shí)體直線”函數(shù)返回真,否則返回假。代碼如下。

        Function 批閱實(shí)體直線(li1 As AcadLine, li2 As AcadLine) As Boolean

        Dim p11() As Double, p12() As Double, p21() As Double, p22() As Double

        p11 = li1.StartPoint

        p12 = li1.EndPoint

        p21 = li2.StartPoint

        p22 = li2.EndPoint

        If 判斷兩點(diǎn)(p11, p21) And 判斷兩點(diǎn)(p12, p22) Or 判斷兩點(diǎn)(p11, p22) And 判斷兩點(diǎn)(p12, p21) Then 批閱實(shí)體直線 = True

        End Function

        判斷兩直線是否相同,主要是判斷其兩個(gè)端點(diǎn)的坐標(biāo)是否一致,因此系統(tǒng)編制了一個(gè)判斷兩點(diǎn)坐標(biāo)是否相同的自定義函數(shù)“判斷兩點(diǎn)”,若相同返回真,否則返回假。此函數(shù)是系統(tǒng)的公共函數(shù),絕大部分圖元的批閱都用到這個(gè)函數(shù)。

        Function 判斷兩點(diǎn)(p1() As Double, p2() As Double) As Boolean

        If p1(0) = p2(0) And p1(1) = p2(1) And p1(2) = p2(2) Then 判斷兩點(diǎn) = True

        End Function

        4.2圓的批閱

        批閱兩圓是否一致,是通過“批閱兩圓”函數(shù)實(shí)現(xiàn)的。將需批閱的兩圓作為參數(shù)傳入該函數(shù)。如果圓心坐標(biāo)相同且半徑大小一致,則函數(shù)返回真,否則返回假。

        Function 批閱兩圓(cir1 As AcadCircle, cir2 As AcadCircle) As Boolean

        Dim p1() As Double, p2() As Double, r1 As Integer, r2 As Integer

        p1 = cir1.Center

        p2 = cir2.Center

        r1 = cir1.Radius

        r2 = cir2.Radius

        If 判斷兩點(diǎn)(p1, p2) And r1 = r2 Then 批閱兩圓 = True

        End Function

        4.3批閱圖案填充

        圖案填充的批閱要比直線圓復(fù)雜些。系統(tǒng)創(chuàng)建了一個(gè)“批閱兩填充”函數(shù),將來自于標(biāo)準(zhǔn)和解答兩個(gè)文檔中的填充圖元對(duì)象作為參數(shù)傳入。其批閱分為兩部分:一是填充設(shè)置的批閱。如:填充類型、圖案名稱、圖案類型、圖案角度、圖案比例等相關(guān)設(shè)置。所有這些設(shè)置均可從相應(yīng)屬性獲取對(duì)比即可,批閱相對(duì)簡(jiǎn)單。另一部分是兩個(gè)圖案填充邊界圖元的批閱。系統(tǒng)首先通過圖案填充AcadHatch對(duì)象的邊界環(huán)路數(shù)量Number of Loops屬性得到標(biāo)準(zhǔn)與解答兩填充邊界環(huán)路的數(shù)量,若兩者不同則錯(cuò)誤,若兩填充環(huán)路的數(shù)量相同,再通過bz.GetLoopAt i和bzlo和jd.GetLoopAt i, jdlo兩句分別獲取標(biāo)準(zhǔn)、解答各環(huán)路所含的圖元對(duì)象,并賦給bzlo和jdlo兩個(gè)圖元數(shù)組變量,該語(yǔ)句中:bz是圖案填充對(duì)象變量名,GetLoopAt是方法名,i是第幾個(gè)環(huán)路,bzlo是圖元對(duì)象數(shù)組,再通過二重循環(huán)判斷標(biāo)準(zhǔn)圖元數(shù)組中的所有圖元是否在解答圖元數(shù)組中均存在。系統(tǒng)中假設(shè)組成填充環(huán)路的圖元僅為直線和圓兩類。

        4.4其他常見圖元的批閱

        圓弧的批閱與圓相似,只是增加了圓弧起點(diǎn)角(屬性StartAngle)與終點(diǎn)角(屬性EndAngle)的判斷。單行文本的批閱與多行文本的批閱也基本相同。形位公差的標(biāo)注內(nèi)容均存放在該對(duì)象的TextString屬性中,所以對(duì)比該屬性的值即可判斷對(duì)錯(cuò)。

        5 文檔設(shè)置的批閱

        圖層是幾乎所有CAD文檔均要進(jìn)行的操作項(xiàng)目,是CAD操作的一項(xiàng)重要內(nèi)容,只要題目有圖層設(shè)置要求,就必須通過批閱了解學(xué)生對(duì)圖層設(shè)置的操作情況。在CAD中打開圖層設(shè)置對(duì)話框,會(huì)發(fā)現(xiàn)圖層有許多設(shè)置項(xiàng)目,如:開關(guān)、凍結(jié)、鎖定、顏色、線形、線寬等內(nèi)容,但不是每道題每個(gè)項(xiàng)目都需批閱。系統(tǒng)首先將需批閱的項(xiàng)目寫入Excel工作表中,批閱時(shí)根據(jù)表中的設(shè)置進(jìn)行批閱。圖層是文檔的下層對(duì)象,所以系統(tǒng)將標(biāo)準(zhǔn)與解答兩文檔對(duì)象變量作為參數(shù)傳入“批閱圖層”過程。過程中的r表示Excle行號(hào),c表示列號(hào)。過程首先在Excel中找到該試卷的“圖層”行,再使列號(hào)c從第4列遞增循環(huán),依次取出要批閱的圖層設(shè)置項(xiàng)目并進(jìn)行批閱。

        標(biāo)注樣式和字符樣式設(shè)置的批閱與圖層設(shè)置的批閱類似,因篇幅的緣故這里不再贅述。

        6 其他幾個(gè)與批閱相關(guān)的問題

        6.1圖形整體位置的問題

        從理論上講,圖形的整體位置對(duì)圖形本身是沒有影響的,只要所有圖元的相對(duì)位置關(guān)系正確就行了。但批閱時(shí)是以坐標(biāo)位置為依據(jù)進(jìn)行判斷的,當(dāng)然可以在批閱前將解答文檔中的所有圖元平移到指定位置,但由于精度問題會(huì)嚴(yán)重影響圖元的坐標(biāo)而產(chǎn)生錯(cuò)判。所以本系統(tǒng)在畫圖時(shí)通過題目規(guī)定了基礎(chǔ)圖元的位置,以保證所有解答文檔中圖元的坐標(biāo)與標(biāo)準(zhǔn)完全一致。

        6.2非唯一性圖元的批閱

        學(xué)生畫圖在沒有具體規(guī)定時(shí)常常會(huì)按自己的習(xí)慣進(jìn)行。如畫矩形邊框線時(shí),可畫矩形也可用四條直線圖元來實(shí)現(xiàn),多段線也是如此。由于鏡像、復(fù)制、移動(dòng)等畫圖手段的應(yīng)用會(huì)產(chǎn)生一條直線中間斷開的情況,應(yīng)該說這也是允許的。上述情況說明:CAD的畫圖方式不是唯一的。同一效果可有多種畫法,這給批閱帶來了不便??紤]到這些因素,系統(tǒng)在批閱前首先運(yùn)行“分解多段線”和“組合”兩個(gè)過程。

        分解多段線:該過程的目的是將多段線、矩形等圖形分解成最小的圖元。CAD-VBA中矩形與多段線的對(duì)象名均為:AcDbPolyline。Explode是多段線對(duì)象的分解方法。運(yùn)行該方法將使對(duì)象分解。

        組合:將頭尾相連且共線的兩條直線組合成一條直線。經(jīng)分析得知,可以組合的兩直線必須滿足三個(gè)條件:一是兩直線斜率相同;二是各有一個(gè)端點(diǎn)坐標(biāo)相同且另一個(gè)不同;三是在同一圖層。根據(jù)上述分析,組合分兩步:第一步找出可以組合的兩直線,第二步組合。尋找出可組合的兩直線系統(tǒng)采用了如下方法:首先將所有直線圖元送入直線對(duì)象a數(shù)組,再對(duì)a數(shù)組中的所有直線圖元用下列語(yǔ)句進(jìn)行二重循環(huán),實(shí)現(xiàn)二二判斷。組合兩線實(shí)際上就是用AddLine方法按兩點(diǎn)坐標(biāo)生成一條新的直線??紤]到組合的兩點(diǎn)在兩條直線中有四種可能,必須逐個(gè)判斷。對(duì)被割斷的圓或圓弧也同樣根據(jù)上述原理進(jìn)行組合。

        6.3非嚴(yán)格一致圖元的批閱

        在批閱CAD圖形時(shí),不是所有圖元都必須完全一致,譬如:對(duì)稱線、中心線等基準(zhǔn)圖層上的圖元,它們的位置是有要求的,但其長(zhǎng)度并不做要求。因此系統(tǒng)提供了“批閱基準(zhǔn)圖元”函數(shù),以區(qū)別非基準(zhǔn)圖層圖元的批閱。下面以“批閱基準(zhǔn)直線”函數(shù)為例作一說明。本函數(shù)以兩直線為參數(shù),判斷兩直線是否共線,不判斷其長(zhǎng)短。函數(shù)首先根據(jù)兩條直線

        四個(gè)端點(diǎn)的水平坐標(biāo)是否相同,若是則兩條直線為共線的垂直線,再判斷四個(gè)端點(diǎn)的垂直坐標(biāo)是否相同,若是則兩線為共線的水平線。再算出兩直線的斜率,若相同再算出兩直線各取出一端點(diǎn)組成直線的斜率,與原直線斜率是否一致,若是則兩直線共線返回真,否則兩直線不共線返回假。

        另外考慮“分解多段線”“組合共線”以及“添加缺線”的操作會(huì)對(duì)原學(xué)生文檔產(chǎn)生修改,因此在批閱前將每個(gè)學(xué)生文檔復(fù)制一份,并在原文件名后添加“批閱結(jié)果”字樣,批閱將針對(duì)此文件進(jìn)行。批閱結(jié)束后保存并關(guān)閉結(jié)果文檔,最后判斷批閱是否補(bǔ)線,若不補(bǔ)則刪除批閱文檔。

        7 結(jié)束語(yǔ)

        用計(jì)算機(jī)自動(dòng)批閱學(xué)生的CAD文檔,提高了批閱速度,減輕了教師的工作量,更重要的是對(duì)學(xué)生作業(yè)實(shí)現(xiàn)了準(zhǔn)確評(píng)判,有效地提高了教學(xué)質(zhì)量,取得了良好的教學(xué)效果。

        [1]張寧.ExcelVBA應(yīng)用實(shí)例——Office文檔自動(dòng)批閱系統(tǒng)詳解[M].上海:上海交通大學(xué)出版社,2014:138.

        [2]李長(zhǎng)勛.AutoCADVBA程序開發(fā)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2004:208.

        [3]曾洪飛,張凡,盧擇臨.AutoCAD VBA & VB.NET開發(fā)基礎(chǔ)與實(shí)例教程[M].北京:中國(guó)電力出版社,2008:94.

        Study and Implementation of Automatic Marking of AutoCAD Document in Computer

        ZHANG Ning

        (Suzhou Institue of Trade & Commerce, Suzhou 215000, China)

        AutoCAD is the most popular engineering drawing software because of its powerful function and wide application. On the question of how to read students' graphic documents, practice proves that computer automatic marking is the fast and accurate solution. This paper makes an in-depth analysis and discussion on this issue, and successfully develops AutoCAD document automatic marking procedure, and shows that this method can obtain the desired teaching effect.Key words:AutoCAD; graph; Marking; VB

        2016-04-28

        張寧(1957-),男,講師,主要研究方向:軟件開發(fā)

        TP 311.52

        B

        1672-2434(2016)04-0032-03

        猜你喜歡
        圖元共線圖層
        小議共線向量問題
        向量的共線
        一種組態(tài)控件技術(shù)在電力監(jiān)控系統(tǒng)中的運(yùn)用
        平面幾何中三點(diǎn)共線的常見解法
        學(xué)術(shù)出版物插圖的編排要求(一):圖注
        聯(lián)鎖表自動(dòng)生成軟件的設(shè)計(jì)與實(shí)現(xiàn)
        巧用混合圖層 制作抽象動(dòng)感森林
        三點(diǎn)共線向量式的巧妙應(yīng)用
        基于Qt繪圖系統(tǒng)的圖形應(yīng)用優(yōu)化研究與實(shí)現(xiàn)
        軟件(2016年12期)2016-02-13 05:58:14
        圖層法在地理區(qū)域圖讀圖中的應(yīng)用
        亚洲 无码 制服 丝袜 自拍 | 久久久久国产一级毛片高清版A | 亚洲蜜桃视频在线观看| 成人国产高清av一区二区三区| 亚洲成人中文字幕在线视频 | 亚洲国产精品毛片av不卡在线 | 国产精品自拍首页在线观看| 亚洲视频在线免费观看一区二区 | 91丝袜美腿亚洲一区二区| 国产精品美女久久久久av超清| 人妻少妇精品专区性色av| 国产资源在线视频| 亚洲一区二区不卡日韩| 中文字幕人妻久久久中出| 国产精品成熟老女人| 男女性高爱潮免费网站| 日韩成人无码v清免费| 日韩人妻av不卡一区二区三区| 国产一区二区精品人妖系列在线 | 亚洲男人在线无码视频| 日本午夜a级理论片在线播放| 日产一区二区三区免费看| 国产99久久久国产精品免费看 | 粉嫩av国产一区二区三区| 亚洲国产一区二区a毛片| 国产熟女精品一区二区三区| 亚洲第一女人天堂av| 91精品国产色综合久久| 亚洲国产精品无码久久98| 丰满人妻无奈张开双腿av | 少妇高清精品毛片在线视频| 最新国产成人在线网站| 少妇人妻一区二区三飞| 久久午夜av一区二区三区| 精品日产卡一卡二卡国色天香 | 韩国精品一区二区三区无码视频 | 按摩师玩弄少妇到高潮av| 久久精品人搡人妻人少妇| 夜夜揉揉日日人人青青| 成年在线观看免费视频| 国产麻豆剧传媒精品国产av蜜桃|