日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

revit图纸导出dxf文件批量修改

發布時間:2024/1/8 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 revit图纸导出dxf文件批量修改 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本人最近在使用revit出圖時遇到了導出為dxf文件的需求,

但revit圖紙導出為dxf文件后,

布局中的視口大小與revit中視口大小不一致,

導致在autocad中打印出現問題,

經過與Autodesk的技術支持的請教,

得知revit現在沒有內部功能實現導出dxf文件時能夠保持視口一致,

于是自己想辦法對導出的dxf文件進行處理。

想著其他朋友可能也會有類似的需求,

于是將自己的代碼分享在此。

?

為了滿足不同版本autocad的使用,

專門使用lisp語言寫的程序,

復制代碼,

保存為lsp文件,

使用ap命令加載,

之后輸入命令myzwmv,

選擇導出dxf文件所在的文件夾位置,

即可將dxf文件另存為dwg文件,

并將其中的視口每邊擴大2mm。

;;;將revit導出的dwg文件放置在一個文件夾內, ;;;程序運行時會提示用戶選擇路徑, ;;;之后依次打開文件,并修改視口大小 ;;;然后關閉文件。;;;2019年6月15日經過進一步修改,直接打開dxf文件后另存為dwg文件 ;;;同時擴大視口的尺寸 ;;;文件保存在原有目錄下 ;;;(princ "\n輸入命令 myzwmv 來處理revit導出的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) );; 本代碼僅提供作為應用上的參考, 而未聲明或隱含任何保證; 對于任何特殊 ;; 用途之適應性, 以及商業銷售所隱含作出的保證, 在此一概予以否認. ;; ================================================================== ;; 作者:秋楓,參考了燈火的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) )

?

處理之前的情況,視口與圖例中的填充邊界重合,軸線圓圈與視口邊界相切。

?

?

?打印預覽的情況,填充邊界缺失,圓圈開口。。。。

?

?修改后的結果,能夠滿足我的需求了。

轉載于:https://www.cnblogs.com/myzw/p/11045978.html

總結

以上是生活随笔為你收集整理的revit图纸导出dxf文件批量修改的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。