AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[分享]利用WMFOUT,WMFIN炸開圖檔 Io15011 [分享]利用WMFOUT,WMFIN炸開圖檔 2020-310 [分享]利用WMFOUT,WMFIN炸開圖檔 Oiu15010 [分享]利用WMFOUT,WMFIN炸開圖檔 2020-211 [分享]利用WMFOUT,WMFIN炸開圖檔 Oo-2-110 [分享]利用WMFOUT,WMFIN炸開圖檔 BPl3tjj

[分享]利用WMFOUT,WMFIN炸開圖檔

向下

[分享]利用WMFOUT,WMFIN炸開圖檔 Empty [分享]利用WMFOUT,WMFIN炸開圖檔

發表 由 LUCAS_LAI 2021-07-09, 16:41

代碼:

;;保護圖檔先炸開??
;;低版本利用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


LUCAS_LAI 在 2021-07-22, 11:38 作了第 3 次修改 (原因 : 增加說明)
LUCAS_LAI
LUCAS_LAI
一般會員
一般會員

文章總數 : 31
年齡 : 56
來自 : 桃園市
職業 : 工程師
愛好 : 看動漫
個性 : 內向
使用年資 : 25年以上,但最近10年少用
使用版本 : 2011
經驗值 : 313
威望值 : 79
注冊日期 : 2021-05-27
男 摩羯座 龍

http://lucas-lai.ys168.com/

Tiger&蘋果爸 likes this post

回頂端 向下

[分享]利用WMFOUT,WMFIN炸開圖檔 Empty 回復: [分享]利用WMFOUT,WMFIN炸開圖檔

發表 由 ianlcc 2021-07-20, 17:15

執行WMFOUT_LAI會把所有的圖炸開
連文字也炸開…
ianlcc
ianlcc
一般會員
一般會員

文章總數 : 89
年齡 : 46
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 3781
威望值 : 39
注冊日期 : 2012-06-24
顧問外掛程式 藍鵲486號
男 雙魚座 兔

回頂端 向下

[分享]利用WMFOUT,WMFIN炸開圖檔 Empty 回復: [分享]利用WMFOUT,WMFIN炸開圖檔

發表 由 LUCAS_LAI 2021-07-20, 17:53

主要就是要把所有圖元炸開,但大圖會不清楚,但分網格炸開即可,當然程式要重寫,對多配置會更難.
LUCAS_LAI
LUCAS_LAI
一般會員
一般會員

文章總數 : 31
年齡 : 56
來自 : 桃園市
職業 : 工程師
愛好 : 看動漫
個性 : 內向
使用年資 : 25年以上,但最近10年少用
使用版本 : 2011
經驗值 : 313
威望值 : 79
注冊日期 : 2021-05-27
男 摩羯座 龍

http://lucas-lai.ys168.com/

回頂端 向下

[分享]利用WMFOUT,WMFIN炸開圖檔 Empty 回復: [分享]利用WMFOUT,WMFIN炸開圖檔

發表 由 ianlcc 2021-07-21, 00:33

您所謂的大圖是指…type 指令後所轉存的wim檔嗎?
不太懂得為什麼要有轉存到wim檔的用意。
另外,全部炸開的話,就如我所說的連字體也會被炸開。
ianlcc
ianlcc
一般會員
一般會員

文章總數 : 89
年齡 : 46
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 3781
威望值 : 39
注冊日期 : 2012-06-24
顧問外掛程式 藍鵲486號
男 雙魚座 兔

回頂端 向下

[分享]利用WMFOUT,WMFIN炸開圖檔 Empty 回復: [分享]利用WMFOUT,WMFIN炸開圖檔

發表 由 LUCAS_LAI 2021-07-21, 08:06

主要是看了這,保護智慧財產

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>")
     )

LUCAS_LAI
LUCAS_LAI
一般會員
一般會員

文章總數 : 31
年齡 : 56
來自 : 桃園市
職業 : 工程師
愛好 : 看動漫
個性 : 內向
使用年資 : 25年以上,但最近10年少用
使用版本 : 2011
經驗值 : 313
威望值 : 79
注冊日期 : 2021-05-27
男 摩羯座 龍

http://lucas-lai.ys168.com/

回頂端 向下

[分享]利用WMFOUT,WMFIN炸開圖檔 Empty 回復: [分享]利用WMFOUT,WMFIN炸開圖檔

發表 由 ianlcc 2021-07-22, 15:27

改完後,字還是一樣炸開…
其實我反而也是希望找到一種方法可以保護智慧財產權
讓對方可以開啟dwg檔、但無法copy、炸開
甚至可以設定浮水印更好!
ianlcc
ianlcc
一般會員
一般會員

文章總數 : 89
年齡 : 46
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 3781
威望值 : 39
注冊日期 : 2012-06-24
顧問外掛程式 藍鵲486號
男 雙魚座 兔

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[分享]利用WMFOUT,WMFIN炸開圖檔 Uos15010 [分享]利用WMFOUT,WMFIN炸開圖檔 BPl3tjj [分享]利用WMFOUT,WMFIN炸開圖檔 Ziao1510 [分享]利用WMFOUT,WMFIN炸開圖檔 Oo-2-110 [分享]利用WMFOUT,WMFIN炸開圖檔 Oooo-110 [分享]利用WMFOUT,WMFIN炸開圖檔 2020-211