本人最近在使用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文件批量修改相关推荐

  1. Allegro-PCB导出DXF文件

    Allegro-PCB导出DXF文件 一.导出2D dxf文件 1.选择需要导出的层 2.选择File-Export-DXF 3.选择输出文件位置-输出单位-layer conversion,点击li ...

  2. Allegro导出DXF文件

    问题提出: 要将Allegro中的外形尺寸和定位孔尺寸交给机械工程师,以便于安装和固定. 解决办法: 1.在Allegro中打开brd文件,设置好要导出的layer,选择File->Export ...

  3. Allegro 导出 DXF文件

    导出 DXF文件: 选择路径时,两个路径一样. 出现问题:ERROR: Invalid program arguments. Terminating program. 原因:DXF输出文档路径放在了中 ...

  4. Revit二次开发之批量修改族名称及族类型名称

    昨天是参加工作整一年的好日子,在这一年中逐步开始接触C#和Revit二次开发,困扰和BUG伴随着整个学习过程.由于Revit二次开发的资料和课程不多,很多情况下都是依靠博客.技术贴和QQ群里的大神等方 ...

  5. PADS Layout VX.2.2 - 导出 DXF 文件

    文章目录 操作步骤 PADS Layout 版本信息: 操作步骤 打开 PCB 文件,然后选择菜单:文件 > 导出- 指定文件导出的位置.文件名,以及保存类型,然后点击保存按钮: 在 DXF 导 ...

  6. cadence导入dxf文件_Allegro中导入导出DXF文件

    从事Layout工作已有两年,前一年半学习和使用的是PADS,最近在学习使用Allegro进行Layout设计,把初学的一些东西和大家分享,共同学习,共同进步,刚开始学习使用Allegro,仍是菜鸟一 ...

  7. python脚本分享:xml文件批量修改

    今天分享一个我自己写的实用脚本,主要是将.xml文件进行批量的修改 首先,声明我并不是很了解.xml的相关知识,所以今天主要是以我遇到的问题来做个记录. 想要更多的了解xml,请看最后的资料分享. 效 ...

  8. iShare·AD小技巧--如何导出dxf文件

    在文件  然后导出  选择  DXF  就可以导出 选择相应的格式

  9. AD16导出dxf文件给结构工程师

    1.选择使用的层打开 2.file–export–dxf/dwg,设置好参数后点击确定就可以了.文件会在你设定的目录下

最新文章

  1. python 多环境安装
  2. 书摘 - 吴军.浪潮之巅
  3. Effective Modern C++ 第四章,C++智能指针
  4. 在提交消息中链接到GitHub上的问题编号
  5. 编程语言对高手没有差别,对低手差别太明显
  6. json格式化工具有哪些?在项目中使用什么工具来格式化JSON数据?
  7. 2021-02-16
  8. 干了4年程序员年薪20万,高中同学当牙医,对比收入后懵了
  9. modbus tcp主站和从站_实例分享!西门子PLC通过MODBUS控制变频器
  10. win10 红警启动必要文件
  11. “胡焕庸”线 - 中国人口分布地理界线
  12. 数学与计算机学院女生节标语,女生节标语理学院
  13. SD卡提示函数不正确怎样办
  14. 知情人士称百事与广药集团谈判 密购王老吉
  15. DIY一个智能开关 用以替换普通的86开关(主控模块用ESP12S)blinker 版本
  16. python 从大到小循环_python-小进阶之循环语句
  17. 智控网络——智谋云价签,与智慧门店同飞跃、共变革
  18. creator 数字翻页效果_用好这款Fliqlo翻页时钟屏保让你电脑瞬间提升逼格和幸福感!...
  19. 跟Xilinx SAE 学HLS系列视频讲座笔记(1)
  20. 如何挑选最佳编解码器

热门文章

  1. ORACLE使用dbv工具检验数据文件是否有坏块
  2. Ruby读excel写入mysql
  3. oracle 无法归档日志,报all online log need archiving
  4. 三菱fx5u modbus tcp fb块用法_FX5U强势来袭
  5. 记事狗微博php,记事狗微博系统_366rtc 源码采用php实现 - 下载 - 搜珍网
  6. SUST_2018 焦作站亚洲区域赛校内选拔赛题解
  7. R语言绘图、数据处理学习记录持续更新
  8. java linux 字体设置_linux下面java字体的设置
  9. Spectral–spatial hyperspectral image classification
  10. 金九银十进大厂必刷的105道Java面试题(不得不说的秘密)