revit图纸导出dxf文件批量修改
生活随笔
收集整理的這篇文章主要介紹了
revit图纸导出dxf文件批量修改
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本人最近在使用revit出圖時遇到了導(dǎo)出為dxf文件的需求,
但revit圖紙導(dǎo)出為dxf文件后,
布局中的視口大小與revit中視口大小不一致,
導(dǎo)致在autocad中打印出現(xiàn)問題,
經(jīng)過與Autodesk的技術(shù)支持的請教,
得知revit現(xiàn)在沒有內(nèi)部功能實現(xiàn)導(dǎo)出dxf文件時能夠保持視口一致,
于是自己想辦法對導(dǎo)出的dxf文件進(jìn)行處理。
想著其他朋友可能也會有類似的需求,
于是將自己的代碼分享在此。
?
為了滿足不同版本autocad的使用,
專門使用lisp語言寫的程序,
復(fù)制代碼,
保存為lsp文件,
使用ap命令加載,
之后輸入命令myzwmv,
選擇導(dǎo)出dxf文件所在的文件夾位置,
即可將dxf文件另存為dwg文件,
并將其中的視口每邊擴(kuò)大2mm。
;;;將revit導(dǎo)出的dwg文件放置在一個文件夾內(nèi), ;;;程序運行時會提示用戶選擇路徑, ;;;之后依次打開文件,并修改視口大小 ;;;然后關(guān)閉文件。;;;2019年6月15日經(jīng)過進(jìn)一步修改,直接打開dxf文件后另存為dwg文件 ;;;同時擴(kuò)大視口的尺寸 ;;;文件保存在原有目錄下 ;;;(princ "\n輸入命令 myzwmv 來處理revit導(dǎo)出的dxf文件") (defun c:myzwmv ()(vl-load-com)(setq path (strcat (qf_getFolder "瀏覽文件夾") "\\"))(setq cadobj (vlax-get-acad-object))(if (/= nil path)(progn(setq files (vl-directory-files path "*.dxf" 1))(foreach file files(progn(setq docobj(vla-open (vla-get-documents cadobj)(strcat path file)))(setq paper (vla-get-paperspace docobj))(vlax-for obj paper(if (= "AcDbViewport" (vla-get-objectname obj))(progn(setq h (vla-get-height obj)w (vla-get-width obj)s (vla-get-customscale obj))(vla-put-height obj (+ 2 h))(vla-put-width obj (+ 2 w))(vla-put-customscale obj s))))(vla-saveasdocobj(strcat path (vl-filename-base file) ".dwg")ac2007_dwg)(vla-close docobj :vlax-false)))))(princ) );; 本代碼僅提供作為應(yīng)用上的參考, 而未聲明或隱含任何保證; 對于任何特殊 ;; 用途之適應(yīng)性, 以及商業(yè)銷售所隱含作出的保證, 在此一概予以否認(rèn). ;; ================================================================== ;; 作者:秋楓,參考了燈火的VBA程序 ;; 用法:(qf_getFolder msg) ;; 例子:(qf_getFolder "選擇文件夾:") ;; 返回值:字符串,文件夾路徑,如果點了cancel, 返回nil (defun qf_getFolder (msg / WinShell shFolder path catchit)(vl-load-com)(setq winshell (vlax-create-object "Shell.Application"))(setqshFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1) )(setqcatchit (vl-catch-all-apply'(lambda ()(setq shFolder (vlax-get-property shFolder 'self))(setq path (vlax-get-property shFolder 'path)) )))(if (vl-catch-all-error-p catchit)nilpath) )?
處理之前的情況,視口與圖例中的填充邊界重合,軸線圓圈與視口邊界相切。
?
??打印預(yù)覽的情況,填充邊界缺失,圓圈開口。。。。
?
?修改后的結(jié)果,能夠滿足我的需求了。
轉(zhuǎn)載于:https://www.cnblogs.com/myzw/p/11045978.html
總結(jié)
以上是生活随笔為你收集整理的revit图纸导出dxf文件批量修改的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锐龙R3 4300U怎么样 相当于什么水
- 下一篇: 用pcDuino来做电子相框