圖形消失不可見怎麼辦?
前幾天有網友說他的圖紙中圖層既沒有關閉,也沒有凍結,但布局中的圖框和視口都看不到了,圖紙發過來後我找到了原因,就是圖紙空間中的圖框和視口都被設置成不可見了。但CAD並沒有提供這樣的命令,顯然是什麼專業軟體或插件做了這方面的設置。視口和圖紙空間的圖形用全選或快速選擇都可以選中,但就是看不到,如下圖所示。
視口也能進去,但由於看不到視口邊界,無法選擇某個視口進行編輯,如下圖所示。
當時我也沒有找到解決辦法,只能建議他看看他使用的專業軟體,如天正里是否有設置圖形可見的功能,也不知道他找到沒有。
沒想到過了兩天又有網友遇到類似的問題,這次更奇特了,說是打了一個電話回來圖紙就只能看到一條直線了,其他圖形都不見了。圖紙發過來看了一下,除了一條直線外5萬多個圖形也都被設置成不可見了。
幾個月前就遇到過一個類似的問題,只是一直沒有弄清楚這個問題怎麼產生的,我也有裝天正,不知道天正里有類似隱藏或顯示圖形的功能。
雖然知道原因,但由於自己不會編程,當時也沒有幫到它們,前兩天找會LISP編程的朋友寫了個小程序,可以將被設置成不可見的圖形變成可見,雖然這個插件還不是特別完善,但可以解決大部分類似的問題,再次分享給大家。
將下面代碼複製到一個記事本後保存為*.lsp。
(defun c:showall()
(defun codedxf(dxfnum dxflst)(cdr(assoc dxfnum dxflst)))
(defun dxfupd (updent updnum updval)
(if(assoc updnum updent)
(setq updent(subst(cons updnum updval)(assoc updnum updent)updent))
(setq updent(append updent(list(cons updnum updval))))
)
(entmod updent)
)
(setq ss (ssget "X"))
(if ss
(progn
(setq nLen (sslength ss) i 0)
(while (
(setq en (ssname ss i))
(setq entdxf (entget en))
(if (= (codedxf 310 entdxf) nil) (dxfupd entdxf 60 0))
(setq i (1+ i))
)
)
)
)
打開有問題的圖紙,執行AP命令,載入保存的LSP程序,載入成功後輸入SHOWALL命令,就可以讓被設置為不可見的圖形顯示出來,如下圖所示。
其實CAD里有設置圖形不顯示的功能:隱藏和隔離,但可以隨時恢復。但CAD並沒有提供將設置成不可見圖形變成可見的功能。
如果哪位知道導致出現圖形不可見的原因,或者知道某個專業軟體中有設置圖形不可見和可見的功能的話,請告訴我,這樣下次我遇到這類問題的時候就可以直接建議他使用專業軟體里的功能了。
通過菜單可查找之前發布的文章,較完整文章目錄請訪問:資料分享>文章目錄。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:CAD小苗 |