[分享]利用WMFOUT,WMFIN炸開圖檔
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[分享]利用WMFOUT,WMFIN炸開圖檔
- 代碼:
;;保護圖檔先炸開??
;;低版本利用WMFOUT,WMFIN炸開圖檔
;;未做太多測試,有問題再提出
;;Type WMFOUT_LAI炸開所有圖元,BY LUCAS_LAI(龍龍仔)
(defun C:WMFOUT_LAI (/ HOLDECHO HOLDMIRRTEXT HOLDOSMODE
LSS LUL LUU LVL LVP
LVS N SS HOLDQAFLAGS
)
(setq HOLDECHO (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "_.undo" "be")
(setq HOLDOSMODE (getvar "osmode"))
(setvar "osmode" 0)
(setq HOLDMIRRTEXT (getvar "mirrtext"))
(setvar "mirrtext" 1)
(setvar "FIELDDISPLAY" 0) ;FIELD背影
(command "_.-xref" "B" "*")
(command "_.-LAYER" "U" "*" "")
(command "_.zoom" "_e")
;;(command "wmfopts") ; ckeck for solid !!
;;====炸MTEXT及DIM中MTEXT ===========================================
(setq HOLDQAFLAGS (getvar 'QAFLAGS))
(setvar 'QAFLAGS 5)
(repeat 2
(if
(ssget "_X"
(list '(0 . "DIMENSION,MTEXT,ACAD_PROXY_ENTITY,LEADER")
(cons 410 (getvar "CTAB"))
)
)
(command "_.explode" "P" "")
)
)
(setvar 'QAFLAGS HOLDQAFLAGS)
;;=====================================================================
(if (setq SS (ssget "_X"
(list '(-4 . "<AND")
'(-4 . "<NOT")
'(0 . "VIEWPORT")
'(-4 . "NOT>")
(cons 410 (getvar "CTAB"))
'(-4 . "AND>")
)
)
)
(progn
(setq LVS (getvar "viewsize")
LSS (getvar "screensize")
LVP (getvar "viewctr")
LVL (list
(list
(- (car LVP) (* 0.5 (* LVS (/ (car LSS) (cadr LSS)))))
(- (cadr LVP) (* 0.5 LVS))
)
(list
(+ (car LVP) (* 0.5 (* LVS (/ (car LSS) (cadr LSS)))))
(+ (cadr LVP) (* 0.5 LVS))
)
)
LUL (list (caar LVL) (cadadr LVL))
N 0
)
(setq LUU (strcat (getenv "Temp") "\\textb.wmf"))
(if (= (getvar "MIRRTEXT") 1)
(command "_.mirror" SS "" LVP "@0,1" "y")
)
(command "_.wmfout" LUU SS "")
(command "_.erase" SS "")
(if (= (getvar "INSUNITS") 1)
(command "_.wmfin" LUU LUL "50.8" "" "")
(command "_.wmfin" LUU LUL "2" "" "")
)
(setvar 'QAFLAGS 0)
(vl-file-delete LUU)
(if (= (getvar "MIRRTEXT") 1)
(command "_.mirror" (entlast) "" LVP "@0,1" "y")
)
(command "_.explode" (entlast))
)
)
(command "_.zoom" "p")
(setvar "mirrtext" HOLDMIRRTEXT)
(setvar "osmode" HOLDOSMODE)
(command "_.purge" "A" "" "N")
(command "_.undo" "e")
(setvar "cmdecho" HOLDECHO)
(princ)
)
(princ
"\n Type WMFOUT_LAI炸開所有圖元,BY LUCAS_LAI(龍龍仔)\n"
)
(princ)
下載: https://drive.google.com/file/d/1t4NY4zNUniYf7IBtpdUc_SSebNMoIgx6/view?usp=sharing
備用: https://app.box.com/s/u5hjtux2lgafjlv09m7ksoa2usd8u37c
Tiger&蘋果爸 在 2022-01-17, 10:12 作了第 4 次修改 (原因 : 增加說明)
Tiger&蘋果爸 likes this post
回復: [分享]利用WMFOUT,WMFIN炸開圖檔
執行WMFOUT_LAI會把所有的圖炸開
連文字也炸開…
連文字也炸開…
ianlcc- 一般會員
- 文章總數 : 160
年齡 : 49
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 5386
威望值 : 69
注冊日期 : 2012-06-24
回復: [分享]利用WMFOUT,WMFIN炸開圖檔
您所謂的大圖是指…type 指令後所轉存的wim檔嗎?
不太懂得為什麼要有轉存到wim檔的用意。
另外,全部炸開的話,就如我所說的連字體也會被炸開。
不太懂得為什麼要有轉存到wim檔的用意。
另外,全部炸開的話,就如我所說的連字體也會被炸開。
ianlcc- 一般會員
- 文章總數 : 160
年齡 : 49
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 5386
威望值 : 69
注冊日期 : 2012-06-24
回復: [分享]利用WMFOUT,WMFIN炸開圖檔
主要是看了這,保護智慧財產
https://www.autocad-tw.com/t131-topic?highlight=%E4%BF%9D%E8%AD%B7
關於 圖面內容限制修改 的問題,如何 保護智慧財產,方法有很多種可分為 一般使用者方法、進階使用者方法及新版本的方法 三個部份來說明:
一、一般使用者方法:
A.將全部圖面使用 分解(EXPLODE)指令,所有圖塊、標註都分解,如有安裝 Express 還可使用 TXTEXP指令...將文字分解為2D聚合線,再將全部圖面使用 複製(COPY)指令,將圖面連續重疊在一起。
B.使用 圖塊(BLOCK) 指令後再使用 矩形陣列插入(MINSERT) 指令即可,因為使用 MINSERT 插入的圖塊無法分解。一旦圖塊無法分解也就無法針對圖面進行編輯,如果說業主只會開圖比較不懂CAD的原理,此方法可能奏效。
你希望字不要炸開,其他圖元炸開嗎?但字有很多種,尺寸中的字,屬性中的字,
leader中的字&帶圖塊中的字,mleader中的字&帶圖塊中的字,圖塊中的字,
圖塊中屬性,fields,table........等等,可說多如牛毛...,當然有的是方法
https://www.autocad-tw.com/t131-topic?highlight=%E4%BF%9D%E8%AD%B7
關於 圖面內容限制修改 的問題,如何 保護智慧財產,方法有很多種可分為 一般使用者方法、進階使用者方法及新版本的方法 三個部份來說明:
一、一般使用者方法:
A.將全部圖面使用 分解(EXPLODE)指令,所有圖塊、標註都分解,如有安裝 Express 還可使用 TXTEXP指令...將文字分解為2D聚合線,再將全部圖面使用 複製(COPY)指令,將圖面連續重疊在一起。
B.使用 圖塊(BLOCK) 指令後再使用 矩形陣列插入(MINSERT) 指令即可,因為使用 MINSERT 插入的圖塊無法分解。一旦圖塊無法分解也就無法針對圖面進行編輯,如果說業主只會開圖比較不懂CAD的原理,此方法可能奏效。
你希望字不要炸開,其他圖元炸開嗎?但字有很多種,尺寸中的字,屬性中的字,
leader中的字&帶圖塊中的字,mleader中的字&帶圖塊中的字,圖塊中的字,
圖塊中屬性,fields,table........等等,可說多如牛毛...,當然有的是方法
- 代碼:
;;把程式
(list '(-4 . "<AND")
'(-4 . "<NOT")
'(0 . "VIEWPORT")
'(-4 . "NOT>")
(cons 410 (getvar "CTAB"))
'(-4 . "AND>")
)
;;改一下,不炸字
(list '(-4 . "<AND")
'(0 . "~VIEWPORT")
'(0 . "~TEXT") ;不炸字
(cons 410 (getvar "CTAB"))
'(-4 . "AND>")
)
回復: [分享]利用WMFOUT,WMFIN炸開圖檔
改完後,字還是一樣炸開…
其實我反而也是希望找到一種方法可以保護智慧財產權
讓對方可以開啟dwg檔、但無法copy、炸開
甚至可以設定浮水印更好!
其實我反而也是希望找到一種方法可以保護智慧財產權
讓對方可以開啟dwg檔、但無法copy、炸開
甚至可以設定浮水印更好!
ianlcc- 一般會員
- 文章總數 : 160
年齡 : 49
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 5386
威望值 : 69
注冊日期 : 2012-06-24
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章