700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > revit图纸导出dxf文件批量修改

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

时间:2018-12-13 04:30:14

相关推荐

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

本人最近在使用revit出图时遇到了导出为dxf文件的需求,

但revit图纸导出为dxf文件后,

布局中的视口大小与revit中视口大小不一致,

导致在autocad中打印出现问题,

经过与Autodesk的技术支持的请教,

得知revit现在没有内部功能实现导出dxf文件时能够保持视口一致,

于是自己想办法对导出的dxf文件进行处理。

想着其他朋友可能也会有类似的需求,

于是将自己的代码分享在此。

为了满足不同版本autocad的使用,

专门使用lisp语言写的程序,

复制代码,

保存为lsp文件,

使用ap命令加载,

之后输入命令myzwmv,

选择导出dxf文件所在的文件夹位置,

即可将dxf文件另存为dwg文件,

并将其中的视口每边扩大2mm。

;;;将revit导出的dwg文件放置在一个文件夹内,;;;程序运行时会提示用户选择路径,;;;之后依次打开文件,并修改视口大小;;;然后关闭文件。;;;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")ac_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))

处理之前的情况,视口与图例中的填充边界重合,轴线圆圈与视口边界相切。

打印预览的情况,填充边界缺失,圆圈开口。。。。

修改后的结果,能够满足我的需求了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。