近日有幾位網友請求我幫他們炸開無法正常炸開的AutoCAD圖紙,這些圖紙整個是一個“塊”,只要點擊圖形的任何地方,整個圖紙都被選中,用explode命令進行分解時,AutoCAD就提示“一個多重插入引用”,無法炸開。實際上這些圖紙采用了多重插入匿名塊的手段將圖形鎖定,起到防止他人篡改的作用。
將下面這段代碼復制到一個空的文本文件里,保存后將文本文件名改成unlk.lsp。
(defun c:unlk (/ en ent)
(setq en (entsel "n請選擇被加密的圖形:"))
(if en
(if (= (cdr (assoc 0 (setq ent (cdr (entget (setq en (car en)))))))
"INSERT"
)
(progn
(setq ent (entmakex
(list '(0 . "INSERT")
(assoc 2 ent)
(assoc 10 ent)
)
)
)
(command "_.explode" (entlast))
(entdel en)
)
)
)
(princ "nOK,解密成功。")
(princ)
)
用AutoCAD打開無法炸開的圖紙,操作菜單“工具”——“加載應用程序”,打開“加載、卸載應用程序”對話框,在對話框里找到并點選那個名為“unlk.lsp”的文件,依次點擊“加載”、“關閉”按鈕,關閉對話框。在AutoCAD的命令行里輸入“unlk”并回車,當提示“請選擇被加密的圖形”的時候,點擊一下圖形,OK,圖紙被炸開了。
有的圖紙重復使用了數次多重插入匿名塊的方法,這樣的圖紙需要重復使用上述方法才能最終炸開,我曾經遇到一張圖紙,是在重復運行了10次“unlk”命令以后才炸開的。
其實,這一招我也是從網上學習來的。