




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上:)制作·加密·解密cad文件·炸開多重插入塊:)所有人:劉世華怎么制作多重引用塊 AUTOCAD為了省內存,省空間,提高效率,引進了塊引用這一技術。你在當前圖紙空間插入一個塊,它并不是把這個塊復制一遍,而是把這個塊的一些屬性描述引過來,跟C+里面的引用極像。我現在討論的不是引用是怎么實現的,AUTOCAD最大的重頭就是塊,大家肯定是很了解的。 我想說的是今天我和老韓研究的一個東西,AcDbMInsertBlock -多重插入塊。它其實就是對塊引用派生過來的一個新的東西,比普通塊引
2、用多了幾個屬性。具體是多了列數,行數,列距,行距。它可以用在什么地方呢?比如你現在要插入四個一樣的塊,就是位置不一樣,用普通的塊引用的話,要引四次。這樣還是很占資源的,效率不高。而如果用AcDbMInsertBlock ,你可以定義一個2列2行,多個插入點的AcDbMInsertBlock 。AUTOCAD內部并沒有復制多份引用,我寫程序進去把AcDbMInsertBlock 里面的每一個實體拷貝出來了,發現只有一份。當然你不能炸開AcDbMInsertBlock ,如果可以炸開你就可以發現我說的肯定是對的。 多重插入塊還有一個很有趣的是,它可以用來做加密,
3、當然很容易破解掉的。大家都知道,無名塊是不能夠編輯的,所以可以用下面的步驟就可以生成一個只能看不能改的圖。 1)、把整個圖作成一個塊。 2)、把當前圖紙空間的實體刪除了,用Minsert把剛才那個塊插入。 3)、把剛才那個塊的塊名改成*U。 到現在,這個圖不能分解,也不能編輯了,呵呵。當然破解非常簡單的,一個最直接的是把這個多重插入塊轉成單插入塊,然后炸開。還有一個就是把塊表名字改了,這樣就可以編輯塊了。當然,你可以作得復雜一點,進入塊表記錄,把里面每個實體克隆一
4、遍。“多重插入引用”的制作:用minsert命令,提示塊名,在cad工作目錄下找一張圖,鍵入這個圖名,然后到提示行數或列數時,輸入2以上,但行距或列距輸入0。這樣一個多重插入引用制作完成,無法用explode炸開了。多重塊不是重復定義塊,而是在矩形陣列中插入一個塊的多重引用。多重塊是由命令minsert插入一個塊而形成,其在正常情況下不能被分解。但若是用普通的方法構建的多重塊,可以刪除掉,然后用insert再插入它原來引用的塊即可。不過,若它原來引用的塊是匿名塊(即名稱前帶*的塊,只能用程序構建),就不是那么簡單的了。這是,你就需要程序(或者說插件)來還原。vlx程序就是一個插件。也就是我上面
5、說的編程實現。若不會編程,也沒有插件,下面的方法可以實現。怎么加密為多重塊1、 多重塊不是重復定義塊,而是在矩形陣列中插入一個塊的多個引用,多重塊是由命令minsert插入一個塊而形成,MINSERT插入的圖塊叫“多重插入塊”,有點象陣列一樣,把圖形一成成疊加在一起,疊加的間距可用0或1的間距,用0的話就是以0的間距疊加在一起。這種“多種插入塊”其在正常情況下不能被分解。但若是用普通的方法構建的多重塊,你可以刪除掉,然后用insert再插入它原來引用的塊即可。不過,若它原來引用的塊是匿名塊(即名稱前帶*的塊,只能用程序構建),就不是那么簡單分解了(這是,你就需要程序(或者說插件)來還原。你的v
6、lx程序就是一個插件。也就是我上面說的編程實現。若不會編程,也沒有插件,就可以用我說的第一種辦法解決。至于為什么能這樣,你分別翻翻cad14和cad2002以上版本的幫助文件就知道了)。對稍有編程常識的用戶來說,ACAD命令不能解決,很自然就會去查這個對象的修改特性,可用命令MO或用ctrl+1打開修改特性,在修改特性窗口可以修改行列的疊加成數及行列間距等。也就是它的數據列表,原形畢露了尾巴露出來了,對付的辦法也就有了。編個小程序,對付它不費吹灰之力。查看對象的特性,普通圖塊與多重插入塊差別在哪不是一目了然了嗎(1)命令行: minsert 輸入塊名或 ?: 輸入名稱(輸入你要插入的多重塊名稱
7、,就是圖紙的名稱,輸完回車,系統會自動根據你輸入的圖紙名稱找到這張相同名稱的圖紙),(2)這時在桌面指定一個基點后。(3)命令行要求輸入XY軸的比例因子,在這直接以默認的比例因子回車。 (4)這時要求你輸入旋轉角度,在桌面用光標指定好后單擊鼠標,或者輸入角度。(5)回車后命令行要求輸入陣列疊加行數與列數,在這里輸入的疊加成數越多,以后分解的時候分解的次數就越多次。 (6)回車后命令行要求輸入行間距和列間距在這里輸入0數,行間距與列間距數字可以為0或1,如果輸入2的話就以間距2排列。(7)輸入 ? 表示列出圖形中當前定義的塊,或輸入 表示顯示“選擇圖形文件”對話框。注意 在插入過程中,不能象使用
8、 INSERT 命令那樣在塊名前面使用星號來分解塊對象。指定插入點或 比例(S)/X/Y/Z/旋轉(R)/預覽比例(PS)/PX/PY/PZ/預覽旋轉(PR): 指定點或輸入選項 ,在指定插入點位置之前,插入點處的選項將預置塊的比例和旋轉角。 當使用 1 和 0 之外的比例因子和旋轉角來拖動塊時,預置非常有用。 如果輸入下列選項之一,通過為比例選項指定距離或為旋轉角指定角度以響應提示。不能分解使用 MINSERT 命令插入的塊。多重塊的分解,多個方法方法一:點擊這個多重引用,看它的名字,然后再用minsert命令,插入這個名字,只不過都按默認的行數(1行)列數一直回車。這樣插入的這個塊就可以炸
9、開了。方法二:雙擊這個塊,出現參照編輯對話框,點確定,出現參照編輯工具條;用explode炸開;然后點擊參照編輯工具條從工作集刪除對象,選中所有圖形,回車;再點擊參照編輯工具條上的放棄對參照的修改。此時再用explode就可以炸開了。方法三:用天正軟件打開多重插入塊圖紙,用天正下的“圖紙保護”菜單,把多重塊再加密下(在加密中不要設密碼,直接回車確定),在使用天正圖紙保護命令功能,把不能編輯的多重插圖做一次保護,加密好后(不用加密碼) ,可以使用天正分解對象功能+cad分解功能一步步的對圖形進行了,直到把圖紙分解好后。具體介紹下步驟: (1)用天正打開加密的多重塊圖紙,選擇圖紙進行分解,顯示為一
10、個多重塊不能分解:(2)用天正只帶的功能“圖紙保護”命令,把多重塊圖紙加密下,(記住不要設密碼,直接確定就好)方法四:1、在任何版本中打開圖件(只要能打的開就行) 2、選中圖,打開屬性對話框,將行和列均改為1。 3、另存為R14以下(包括R14)版本格式。 4、打開R14,打開剛才另存的圖,保存。(記住,這步尤其重要,必須是R14不能是cad2002及以上版本)好了,你再用任何版本的cad打開看看。另外一種方法就是編程,直接炸開即可。方法五: 1、打開原文件后,輸出為*.wmf文件, 2、新建空*.DWG文件,插入*.wmf文件, 3、輸入另外一個炸開命令:xplode回車 4、選圖層(TA)
11、,大功告成。可惜的是文字都炸開了,填充也炸了,圖層只有一個,而且文件比較大。附件為wmf文件方法六:輸入“CYN-”,將多重插入塊轉換為普通快,然后可以一步一步的炸開編輯!方法七:把以下內容保存為lsp文件(如exm.lsp),加載后運行exm既可把“多重插入塊”轉換為“普通塊”,然后既可用“explode”分解。加載后運行lockb可把“普通塊”轉換為“多重插入塊”;-;轉換“多重插入塊”為“普通塊”。(DEFUN C:exm ()(setvar "cmdecho" 0)(SETQ STM (car (ENTSEL "n點取多重塊")(while st
12、m(setq e (entget stm)(setq stlx (cdr (assoc 0 e)(if (= stlx "INSERT")(PROGN(setq r_zm70 (assoc 70 e)(setq c_zm71 (assoc 71 e)(setq r_dist_zm44 (assoc 44 e)(setq c_dist_zm45 (assoc 45 e)(setq e (subst (cons 44 0) r_dist_zm44 e)(setq e (subst (cons 45 0) c_dist_zm45 e)(setq e (subst (cons 70
13、 0) r_zm70 e)(setq e (subst (cons 71 0) c_zm71 e)(setq e (subst (list 100"AcDbBlockReference") (list 100"AcDbMInsertBlock") e)(entmake e)(entdel stm)(SETQ STM (car (ENTSEL "n點取下一多重塊")(setvar "cmdecho" 1)方法八:有兩個好工具,可以輕松炸開。一個是AutoCAD 快速加載 AutoLISP 文件:wjjm;另一個cad
14、加密插件,請大家使用。 具體方法: AutoCAD 快速加載 AutoLISP 文件wjjm的使用:用cad打開需要炸開的文件,將wjjm直接拖入cad窗口,命令行輸入wjmm,回車后按提示操作即可。操作步驟: 于CAD中,選擇:“工具”菜單“加載應用程序”選項。 于對話框中選擇文件“wjjm”,進行應用程序加載。 于CAD命令行中,輸入“wjjm”命令,然后選擇需要保護的圖塊,隨便點擊即可取消保護。方法四:(1)、先在圖層管理器里將鎖定圖層打開;(2)、選中該“多重插入塊”,在其屬性里將行、列均改為“1"(3)、將下段保存為"exm.lsp"轉換“多重插入塊”為
15、“普通塊”。(DEFUN C:exm ()(setvar "cmdecho" 0)(SETQ STM (car (ENTSEL "n點取多重塊")(while stm(setq e (entget stm)(setq stlx (cdr (assoc 0 e)(if (= stlx "INSERT")(PROGN(setq r_zm70 (assoc 70 e)(setq c_zm71 (assoc 71 e)(setq r_dist_zm44 (assoc 44 e)(setq c_dist_zm45 (assoc 45 e)(se
16、tq e (subst (cons 44 0) r_dist_zm44 e)(setq e (subst (cons 45 0) c_dist_zm45 e)(setq e (subst (cons 70 0) r_zm70 e)(setq e (subst (cons 71 0) c_zm71 e)(setq e (subst (list 100 "AcDbBlockReference") (list 100 "AcDbMInsertBlock") e)(entmake e)(entdel stm)(SETQ STM (car (ENTSEL "n點取下一多重塊")(setvar "cmdecho" 1);-(4)、在打開了含有多重插入塊的圖形文件里加載“exm.lsp”,運行“exm”根據提示選中多重插入塊;(5)、運行“explode”就可以將 多重插入塊分解,修改了。(6)、你試試用 (audit) 這個指令先用 “audit” 回車Command: audit 之后 “Y”回車Fix any errors detected? Yes/No <N>: Y無名塊便會自動改名Invalid block n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年陽光校園發言稿(4篇)
- 個人教研工作總結(5篇)
- 2025家長會家長發言稿范文(17篇)
- 小學數學北京版六年級上冊1. 圓的認識獲獎教案
- 四年級信息技術下冊 制作學習摘錄卡教學設計 閩教版
- 班會心得體會(15篇)
- 感恩母親的演講稿(16篇)
- 小學第二單元 植物與環境7 水里的植物教案
- 2025年終總結怎么寫
- 小學美術人美版二年級上冊14.茂密的花教學設計
- 產品經理實習報告
- 2025贍養老人個稅扣除分攤協議書模板
- 《陸上風電場工程變形測量技術規程》
- 骨折病人的情志護理
- 【公開課】功率++課件+-2024-2025學年物理人教版八年級下冊
- 眼瞼外傷手術縫合技巧
- 被討厭的勇氣讀書閱讀分享會
- 療養院環境衛生管理制度
- 普通植物病理學試題+答案
- 國開電大《兒童心理學》形考任務+大作業
- 小學生勞動知識競賽題庫及答案
評論
0/150
提交評論