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文件批量修改相关推荐
- Allegro-PCB导出DXF文件
Allegro-PCB导出DXF文件 一.导出2D dxf文件 1.选择需要导出的层 2.选择File-Export-DXF 3.选择输出文件位置-输出单位-layer conversion,点击li ...
- Allegro导出DXF文件
问题提出: 要将Allegro中的外形尺寸和定位孔尺寸交给机械工程师,以便于安装和固定. 解决办法: 1.在Allegro中打开brd文件,设置好要导出的layer,选择File->Export ...
- Allegro 导出 DXF文件
导出 DXF文件: 选择路径时,两个路径一样. 出现问题:ERROR: Invalid program arguments. Terminating program. 原因:DXF输出文档路径放在了中 ...
- Revit二次开发之批量修改族名称及族类型名称
昨天是参加工作整一年的好日子,在这一年中逐步开始接触C#和Revit二次开发,困扰和BUG伴随着整个学习过程.由于Revit二次开发的资料和课程不多,很多情况下都是依靠博客.技术贴和QQ群里的大神等方 ...
- PADS Layout VX.2.2 - 导出 DXF 文件
文章目录 操作步骤 PADS Layout 版本信息: 操作步骤 打开 PCB 文件,然后选择菜单:文件 > 导出- 指定文件导出的位置.文件名,以及保存类型,然后点击保存按钮: 在 DXF 导 ...
- cadence导入dxf文件_Allegro中导入导出DXF文件
从事Layout工作已有两年,前一年半学习和使用的是PADS,最近在学习使用Allegro进行Layout设计,把初学的一些东西和大家分享,共同学习,共同进步,刚开始学习使用Allegro,仍是菜鸟一 ...
- python脚本分享:xml文件批量修改
今天分享一个我自己写的实用脚本,主要是将.xml文件进行批量的修改 首先,声明我并不是很了解.xml的相关知识,所以今天主要是以我遇到的问题来做个记录. 想要更多的了解xml,请看最后的资料分享. 效 ...
- iShare·AD小技巧--如何导出dxf文件
在文件 然后导出 选择 DXF 就可以导出 选择相应的格式
- AD16导出dxf文件给结构工程师
1.选择使用的层打开 2.file–export–dxf/dwg,设置好参数后点击确定就可以了.文件会在你设定的目录下
最新文章
- python 多环境安装
- 书摘 - 吴军.浪潮之巅
- Effective Modern C++ 第四章,C++智能指针
- 在提交消息中链接到GitHub上的问题编号
- 编程语言对高手没有差别,对低手差别太明显
- json格式化工具有哪些?在项目中使用什么工具来格式化JSON数据?
- 2021-02-16
- 干了4年程序员年薪20万,高中同学当牙医,对比收入后懵了
- modbus tcp主站和从站_实例分享!西门子PLC通过MODBUS控制变频器
- win10 红警启动必要文件
- “胡焕庸”线 - 中国人口分布地理界线
- 数学与计算机学院女生节标语,女生节标语理学院
- SD卡提示函数不正确怎样办
- 知情人士称百事与广药集团谈判 密购王老吉
- DIY一个智能开关 用以替换普通的86开关(主控模块用ESP12S)blinker 版本
- python 从大到小循环_python-小进阶之循环语句
- 智控网络——智谋云价签,与智慧门店同飞跃、共变革
- creator 数字翻页效果_用好这款Fliqlo翻页时钟屏保让你电脑瞬间提升逼格和幸福感!...
- 跟Xilinx SAE 学HLS系列视频讲座笔记(1)
- 如何挑选最佳编解码器
热门文章
- ORACLE使用dbv工具检验数据文件是否有坏块
- Ruby读excel写入mysql
- oracle 无法归档日志,报all online log need archiving
- 三菱fx5u modbus tcp fb块用法_FX5U强势来袭
- 记事狗微博php,记事狗微博系统_366rtc 源码采用php实现 - 下载 - 搜珍网
- SUST_2018 焦作站亚洲区域赛校内选拔赛题解
- R语言绘图、数据处理学习记录持续更新
- java linux 字体设置_linux下面java字体的设置
- Spectral–spatial hyperspectral image classification
- 金九银十进大厂必刷的105道Java面试题(不得不说的秘密)