freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dxf格式cad文檔保護(hù)系統(tǒng)置亂模塊的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(完整版)

2025-08-30 21:58上一頁面

下一頁面
  

【正文】 (3) 置亂算法的研究分析; (4) 程序與 AutoCAD 軟件的兼容。 本人所負(fù)責(zé)的模塊為文檔置亂模塊。本模塊主要在用戶關(guān)閉,打開文件的時(shí)候進(jìn)行工作。 實(shí)體置亂模塊功能需求 CAD 圖紙是由各種實(shí)體元素構(gòu)成的,例如點(diǎn)、線段、各種圖形、文字標(biāo)注等。因此,我們需要在用 戶打開文件的時(shí)候,對文檔進(jìn)行恢復(fù)工作。 本章小結(jié) 本章對 我們所開發(fā)的系統(tǒng),以及本人所負(fù)責(zé)模塊進(jìn)行了簡單的介紹。 Windows 鉤子函數(shù) Windows 的鉤 子函數(shù)可以認(rèn)為是 Windows 的主要特性之一。 系統(tǒng) 范圍的 —— 將捕捉系統(tǒng)中所有進(jìn)程將發(fā)生的事件消息。 (2) 鼠標(biāo)鉤子和低級(jí)鼠標(biāo)鉤子可以監(jiān)視各種鼠標(biāo)消 息。 技術(shù)問題 —— 由于之前沒有接觸過鉤子函數(shù),因此需要從頭開始學(xué)習(xí),需要多長時(shí)間才能掌握這項(xiàng)技術(shù),這是無法估計(jì)的。 (4)AutoCAD 文檔管理反應(yīng)器 AcApDocManagerReactor: 從 R20xx以來 ,哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 10 AutoCAD 是一個(gè)多文檔環(huán)境。 從編程的角度上講, ObjectARX 所提供的是類以及方法。當(dāng)用戶作出相關(guān)操作的時(shí)候,根據(jù)操作類型的不同,調(diào)用相關(guān)反應(yīng)器,通過反應(yīng)器,調(diào)用其它相關(guān)模塊的操作,具體流程如圖 31所示。當(dāng)AutoCAD刪 除我們的插件,使用 On_kUnloadAppMsg()方法,對反應(yīng)器進(jìn)行卸載,以釋放資源。 運(yùn)行結(jié)果 由于本模塊主要是后臺(tái)運(yùn)行,并沒有直觀的界面,因此我們在測試的 時(shí)候,加入了若干語句,在 AutoCAD 軟件運(yùn)行的命令行中顯示程序運(yùn)行的過程。運(yùn)行結(jié)果如圖 34 所示。最后 給出了整個(gè)程序的簡要流程圖,以及用于實(shí)現(xiàn)程序的類圖。 點(diǎn)的處理 我們采取了分組置亂的方式,將所有點(diǎn)的坐標(biāo)分成 16 個(gè)一組,先對這16 個(gè)坐標(biāo)進(jìn)行處理,打亂其順序,然后構(gòu)成一個(gè) 4*4 的矩陣。如果一條線段的 2 個(gè)頂點(diǎn)出現(xiàn)重合,在儲(chǔ)存文檔的時(shí)候,將會(huì)出 現(xiàn)嚴(yán)重的錯(cuò)誤。 我們首先對圖形的一個(gè)頂點(diǎn)進(jìn)行點(diǎn)處理置亂,然后獲取邊的角度長度,對角度和長度進(jìn)行變換,然后根據(jù)順時(shí)針方向,計(jì)算出其余各個(gè)點(diǎn)的坐標(biāo),然后保存這些坐標(biāo)。在 AutoCAD中所有的實(shí)體都保存在塊表記錄中,而塊表 記錄則存儲(chǔ)在塊表中 [9]。同時(shí)可以有多個(gè)塊參照指向一個(gè)塊定義,在圖紙上顯示為由多個(gè)塊的副本存在。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 21 圖紙邊界處理 作為每一張 CAD 圖紙,都有一個(gè)圖紙邊界,我們需要確保所有的坐標(biāo)都位于這個(gè)邊界之中。其類圖如圖 47 所示。其中 isKindOf()方法用于對獲得的實(shí)體進(jìn)行對比,以確定實(shí)體類型為一條直線。 setCenter()方法用于對弧線的圓心進(jìn)行處理, setStartAngle()方法用于對弧線的起始角度進(jìn)行處理, setEndAngle()方法用于對弧線的 結(jié)束角度進(jìn)行處理。 BlockDisorder 類用于對塊進(jìn)行置亂。當(dāng)需要使用到這個(gè)文檔的時(shí)候,我們就可以運(yùn)行文檔恢復(fù)模塊對其進(jìn)行恢復(fù)。在恢復(fù)的過程中,首先從已經(jīng)置亂的文檔中獲取到所有點(diǎn)的數(shù)據(jù),然后,進(jìn)行分組。恢復(fù)完成后進(jìn)行分組,以 4 條線段,也就是 8 個(gè)點(diǎn), 16 個(gè)坐標(biāo)為 1 組,然后進(jìn)行恢復(fù)。其類圖如圖 413 所示。我們在進(jìn)行置亂處理的時(shí)候,設(shè)立了一個(gè)標(biāo)志位,在進(jìn)行恢復(fù)的時(shí)候,就可以提取出哪個(gè) 點(diǎn)是基點(diǎn)。 提 取 點(diǎn) 坐 標(biāo)形 成 分 組形 成 矩 陣恢 復(fù) 矩 陣恢 復(fù) 順 序分 配 點(diǎn) 坐 標(biāo)開 始結(jié) 束 圖 411 點(diǎn)恢復(fù) 流程 通過這種二次置亂,恢復(fù),可以比較有效的保護(hù)文檔中的信息。具體流程如圖 410 所示。文檔置亂模塊在用戶對文檔進(jìn)行保存,關(guān)閉等操作時(shí)進(jìn)行工作,因此我們打開一個(gè)正常的 CAD 文檔,如圖 48 所示。通過 appendAcDbEntity()方法來對修改內(nèi)容進(jìn)行更新。置亂完畢后,我們需要調(diào)用 close()方法,將打開的實(shí)體進(jìn)行關(guān)閉,否則 AutoCAD軟件會(huì)因?yàn)橘Y源管理問題而出錯(cuò)。 OpenDB 類用于打開并建立一個(gè)實(shí)體數(shù)據(jù)庫。 其他相關(guān)屬性處理 在 CAD 圖紙中,每一個(gè)實(shí)體不僅僅只有長度,坐標(biāo)等屬性,還包括了線條的顏色,線條的粗細(xì)等屬性。 具體流程見圖 46。 在 ObjectARX 編程中,塊定義通過塊表記錄來保存,而塊參照由AcDbBlockReference類來表示。 結(jié) 束開 始提 取 頂 點(diǎn) 坐 標(biāo)調(diào) 用 點(diǎn) 處 理計(jì) 算 其 余點(diǎn) 的 坐 標(biāo)存 儲(chǔ) 坐 標(biāo)提 出 邊 長和 角 度 圖 44 多邊形處理 流程 在具體實(shí)現(xiàn)中,對于不同類型的圖形,需要調(diào)用不同的數(shù)學(xué)公式對坐標(biāo)進(jìn)行計(jì)算,這部分的工作量是比較大的。 例如畫一個(gè)最簡單的正方形,在 AutoCAD 中我們只需要拉出一條直線,哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 18 然后選擇一個(gè)方向,就可以畫出一個(gè)正方形。 提 取 點(diǎn) 坐 標(biāo)形 成 分 組打 亂 坐 標(biāo) 順 序形 成 矩 陣處 理 矩 陣分 配 點(diǎn) 坐 標(biāo)開 始結(jié) 束 圖 42 點(diǎn)處理 流程 線的處理 在 CAD 文檔中,線的存儲(chǔ)是由 2 個(gè)點(diǎn)構(gòu)成的,因此對線的處理與對點(diǎn)的處理很相似。具體流程見圖 41。置亂完成后,繼續(xù)執(zhí)行另存為命令,保存完畢后,顯示文檔保存完畢。當(dāng) 2 個(gè)反應(yīng)器創(chuàng)建成功后,分別顯示提示信息。 mandCancelled()用于用戶取消一條命令后回到上一條操作。 使用文檔管理反應(yīng)器的地方主要在用戶 打開一個(gè)新文檔,或者對一個(gè)文哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 12 檔 進(jìn)行關(guān)閉操作是對文檔進(jìn)行置亂操作。 設(shè)計(jì)與實(shí)現(xiàn) 本模塊主要要對 2 種類型 的操作進(jìn)行監(jiān)控。但是,正因?yàn)樗倪@種廣泛性,當(dāng)我們具體到某一個(gè)程序的時(shí)候,對于一些簡單事件的控制可能很簡單。 ObjectARX 反應(yīng)器其實(shí)也可以算是一種鉤子函數(shù) ,與 Windows 鉤子函數(shù)不同的是 ,他是以類似于插件的形式 ,嵌入到 AutoCAD 程序中 .其所監(jiān)視的事件 ,也是針對一些 AutoCAD 所特有的事件。 (5) 窗口過程鉤子監(jiān)視所有從系統(tǒng)消息隊(duì)列發(fā)往目 標(biāo)窗口的消息。所以應(yīng)謹(jǐn)慎使用,用完后立即卸載。 局部鉤子僅鉤掛 你 自己進(jìn)程的事件。這個(gè)問題如果無法解決,那么其他功能都無法有效地實(shí)現(xiàn)其作用。系統(tǒng)整體框架如圖 22 所示。通過這些信息,可以對文檔進(jìn)行恢復(fù)。 AutoCAD 文件是以DWG 格式進(jìn)行儲(chǔ)存,通過對 DWG 文件的研究,我們發(fā)現(xiàn) Autodesk 公司對DWG 文件進(jìn)行了很好的保護(hù)。 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 5 需求分析 由于項(xiàng)目的分工,我對其他模塊的了解并不是十分深入。 針對 CAD 文檔的保護(hù)方法,我們的系統(tǒng)主要可以分為下面幾個(gè)主 要模塊,見圖 21。 由于 CAD 圖是一種是矢量圖,同標(biāo)量 圖相比,要在矢量圖里嵌入信息具有比較大的難度 [5]。 AutoCAD 自帶安全功能分析 AutoCAD 自帶的安全功能主要包括以下幾種方式: (1) 自帶口令安全 —— AutoCAD 自帶的口令安全選項(xiàng)和 Word 口令安全選項(xiàng)大體相同,通過市面上存在的一些針對 Word 的破解軟件,我們不難發(fā)現(xiàn)想做出針對 AutoCAD 的破解軟件并不是十分困難。 國內(nèi)外相關(guān)領(lǐng)域開發(fā)及應(yīng)用現(xiàn)狀分析 主流文檔編輯軟件的保護(hù)措施 文檔編輯軟件基本上 都附加有訪問控制和數(shù)據(jù)保密功能,而且大多數(shù)的文檔信息安全方案實(shí)施都基于此 [2]。 AutoCAD 軟件也為中國的改革開放和社會(huì)主義現(xiàn)代化建設(shè)創(chuàng)造了豐功偉績。本人授權(quán) 大學(xué)可以將 本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。每個(gè)公司都把工程圖紙當(dāng)作最機(jī)密的文件,一旦泄露到競爭對手手中,將給公司帶來無法估計(jì)的損失。 AutoDesk 公司提供了一個(gè)優(yōu)秀的二次開發(fā)工具 ObjectARX,通過這個(gè)工具我們可以 極為方便地開發(fā)出 AutoCAD 軟件的插件。對本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。 涉密論文按學(xué)校規(guī)定處理。 AutoCAD 還為 Autodesk 公司的技術(shù)在建筑、基礎(chǔ)設(shè)施、制造、媒體和娛樂以及無線數(shù)據(jù)等各個(gè)行業(yè)中的領(lǐng)先鋪平了道路。在我們常用的各種文檔編輯軟件,比如哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 2 Microsoft 公司的 Office 系列文檔編輯工具、 Adobe 公司 Acrobat PDF 文檔編輯閱讀器,以及 zip或 RAR 壓縮格式文件夾等等都自帶了多種數(shù)據(jù)保護(hù)功能。 (2) 電子傳遞 —— 電子傳遞功能讓用戶可以把當(dāng)前的圖形和相關(guān)的文件打包到一個(gè)單獨(dú)的傳選集中,它可以幫助用戶將圖形文件打包,以 加密的形式在 互聯(lián)網(wǎng)上傳送。對于矢量圖形的一些加密處理技術(shù)還不夠成熟,因此直接對 CAD 文檔進(jìn)行數(shù)字加密技術(shù)應(yīng)用的比較少 [6]。 文 檔 保護(hù) 系 統(tǒng)權(quán) 限 控 制 信 息 隱 藏 篡 改 提 醒 文 檔 置 亂 安 全 日 志 圖 21 系統(tǒng)整體模塊 其中權(quán)限控制模塊就是通過控制用戶的權(quán)限來保護(hù)文檔。接下來,我就僅對我所負(fù)責(zé)的模塊進(jìn)行分析。我們從 DWG 文件中得到的僅僅是很緊湊的二進(jìn)制代碼,如果直接對這些二進(jìn)制代碼進(jìn)行加密的話,需要非常大工作量的計(jì)算,這是用戶所無法忍受的。因此需要在對文檔進(jìn)行處理后對這些信息進(jìn)行儲(chǔ)存。 用 戶 監(jiān) 控 模 塊用 戶 操 作 ( 保存 等 )文 檔 轉(zhuǎn) 換 模 塊 文 檔 處 理 模 塊 文 檔 轉(zhuǎn) 換 模 塊進(jìn) 行 保 存 等 操作 圖 22 系統(tǒng)整體框架 其中用戶監(jiān)控模塊用于對用戶行為進(jìn)行監(jiān)控,當(dāng)用戶作出類似于保存,打開,關(guān)閉等操作時(shí),該模塊截?cái)?AutoCAD 軟件的命令,然后調(diào)用我們的哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 7 系統(tǒng) 模塊對文檔進(jìn)行保護(hù)。因此本模塊是其它模塊正常運(yùn)行的一個(gè)前提,不僅我所負(fù)責(zé)的模塊需要使用到,其他模塊也將使用到這個(gè)模塊的功能。 遠(yuǎn)程的鉤子還可以將鉤掛其它進(jìn)程發(fā)生的事件。還有,由于您可以預(yù)先截獲其它進(jìn)程的消息,所以一旦您的鉤子函數(shù)出了問題的話必將影響其它的進(jìn)程。 這些鉤子,幾乎可以覆蓋了所有的 Windows 操作。 經(jīng)常使用到的 ObjectARX 反應(yīng)器主要有以下幾種類型: (1)數(shù)據(jù)庫反應(yīng)器 AcDbDatabaseReactor: 數(shù)據(jù)庫反應(yīng)器監(jiān)視在 AutoCAD數(shù)據(jù)庫范圍內(nèi)的事件,例如添加或去除實(shí)體。但是碰到一些比較復(fù)雜的事件,我們就需要去了解這個(gè)軟件本身的流程,因此我們可能需要進(jìn)行十分復(fù)雜的編程才能實(shí)現(xiàn)我們所需要的功能。一類是直接傳遞命令的操作,比如另存為,這種操作是直接在當(dāng)前窗口進(jìn)行操作。 類圖如圖 32所示 。 AcApDocManagerReactor類用于創(chuàng)建一個(gè)文檔管理反應(yīng)器。 加載完畢后,就可以監(jiān)控用戶所作出的動(dòng)作。 當(dāng)要關(guān)閉軟件時(shí),應(yīng)當(dāng)對反應(yīng)器進(jìn)行卸載,同樣通過 appload 命令來進(jìn)行,卸載結(jié)果如圖 35 所示。 圖 形 處 理點(diǎn) 處 理 長 度 處 理進(jìn) 行 實(shí) 體 分 組標(biāo) 注 處 理 文 字 處 理存 儲(chǔ) 信 息提 取 實(shí) 體 信 息開 始結(jié) 束 圖 41 實(shí)體置亂模塊流程 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 16 提取出實(shí)體并進(jìn)行分類后,對于不同類型的實(shí)體,處理方式以及處理難度都有所不同。只要對線的起始點(diǎn)和終止點(diǎn)的坐標(biāo)進(jìn)行變換,就可以實(shí)現(xiàn)線的變換。但是,在文件中,其存儲(chǔ)的并不是一條線和一個(gè)方向,而是存儲(chǔ)了 4 個(gè)點(diǎn)。 塊的處理 在 AutoCAD 中,存在一類特殊的元素 —— 塊,塊就是把幾個(gè)簡單實(shí)體集合到一起,形成一個(gè)新的實(shí)體。 通過圖 45,可以較直觀地理解塊參照和塊定義的關(guān)系。 線 圓 塊參照 線 塊參照 圓 圓 塊參照 塊參照 …… 塊定義 1 線 圓 弧線 …… 塊定義 2 圓 線 弧線 …… 哈爾濱工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 20 提 取 塊 信 息從 塊 中 提 取實(shí) 體 信 息點(diǎn) 處 理 線 處 理 圖 形 處 理 文 字 處 理將 各 個(gè) 實(shí) 體 重新 結(jié) 合 成 塊處 理 塊 整 體開 始結(jié) 束 圖 46 塊處理 流程 在實(shí)際開發(fā)過程中還存在一個(gè)問題,塊定義作為一個(gè)塊表記錄存在,里面可以包含許多實(shí)體,那么應(yīng)該也是可以包含塊參照,這樣就出現(xiàn)了塊中間還有一個(gè)塊。有些情況下,這些屬性也可能泄露出一些比較重要的信息,因此在這些情況下,應(yīng)該可以對這些屬性也進(jìn)行保護(hù)。其中 getBlockTable()方法用于獲得并創(chuàng)建一個(gè)實(shí)體列表,以供其它置亂類使用。 ArcDisorder 類用于對弧線進(jìn)行置亂操作。 PolyDisorder 類實(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1