![f4d6529955abbaf830c23d8d597c983b.png](https://i-blog.csdnimg.cn/blog_migrate/f5c5f89278a536cba0e3bd87948484c4.jpeg)
最近比较忙,又好久没更新了,之前准备写的东西遇到点瓶颈,暂时没解决,所以这次先随便写点啥。
我们在做项目的时候,为了方便协作,一般都会采用中心文件的方式,但是最终交付的时候,是需要把中心文件分离的,一个一个的分离,感觉还是他麻烦了,于是就想到用Dynamo来批量操作,简单测试了下,发现有现成的节点可以用,那就是手到擒来的事了。
这里用到最关键的一个节点是“Document.BackgroundOpen”,来自我之前分享的“Orchid”节点包,这个节点在后台打开项目的时候,是可以设置是否从中心文件分离,是否放弃工作集,一下就解决问题了。
![3e3561041a3bc35903ab0d4400d39400.png](https://i-blog.csdnimg.cn/blog_migrate/08c372a9f43111f19dc0e21d50dd32fc.jpeg)
好了,到这里我们本期教程就结束了~
![2e60856dd77fe00b7fa00b94f5423c59.png](https://i-blog.csdnimg.cn/blog_migrate/bf9bbf37eae151773b2559a16056558b.png)
开个玩笑,这个是关键节点,那么我们稍微把这程序完善一下,应该就能用了。
这里,我们给他输入一个路径,然后把分离中心文件和放弃工作集都设置为True。
![5a4f8da7f04145e62791337bb56e783c.png](https://i-blog.csdnimg.cn/blog_migrate/e9cbde68c4f111ccc15279774941d983.jpeg)
这样后台打开并分离的任务就完成了,之后再把模型存到指定路径就可以了,这里需要用到节点“Document.SaveAs”,同样是“Orchid”里的节点。
![973e3fccae5f8faac5ccb03c74643659.png](https://i-blog.csdnimg.cn/blog_migrate/58fe4ce22b13c9302172a43c0ccccb9e.jpeg)
这个节点的输入端,Document就是刚才后台打开的文档,文件名这里比较特殊,他要的是“路径+文件名+后缀名”这样的格式。然后是否覆盖写入可以空着,是否保存为中心文件设置为false就可以了。
![24cb04a4788563bf00c9c2cd4a6899b1.png](https://i-blog.csdnimg.cn/blog_migrate/7c7b98eb4352b19400311ab86aa57550.jpeg)
文件名这里,我就简单的处理了一下,以原“文件名+分离”的格式保存如下图:
![f6acc478d66dabe70821d59d3950ff4f.png](https://i-blog.csdnimg.cn/blog_migrate/e69605dce8abc556c46fdb91490d189c.jpeg)
主要用到了获取原文件名,字符串的处理,这里放大一些
![a564a584f1c40b1f5bb285be25809609.png](https://i-blog.csdnimg.cn/blog_migrate/c72d2c353213be196a51f6f632a75f85.jpeg)
![d9435bae3445724019aebb4db76c2d36.png](https://i-blog.csdnimg.cn/blog_migrate/f50b1a7c474ebc0237fa96bfa2704fd4.jpeg)
![13fcf45bc2be853033e129924092e9b5.png](https://i-blog.csdnimg.cn/blog_migrate/635170226cb84d7e88ab6146cc9ddc8d.jpeg)
以这样的方式,我将目录和文件名合并,输入给另存文件节点:<newfolder + "" + name + ".rvt">
到这里,程序基本就完成了,为了让程序运行更完美,我在程序最后加了一步,将后台打开的文件全部关闭,如下图:
![a84e2f18f1b4b9c25d4e4ebfcbaecc0c.png](https://i-blog.csdnimg.cn/blog_migrate/754bb52b97050d3a6f39033c83c4a41e.jpeg)
DataStream.Await节点的意思,就是在输入端运行完成以后,才会运行我最后的关闭节点。
最后我们看下完整的程序:
![547cfcac4900cc1e146872e305a7161f.png](https://i-blog.csdnimg.cn/blog_migrate/d59e3105243cee0fdd230f8f7408c992.jpeg)
好了,今天的分享就到这里了,是不是超级简单,喜欢我记得关注“BIM的乐趣”哦~
应好多小伙伴的要求,“BIM的乐趣”微信群重新恢复运营,由于人数过百了,有兴趣的小伙伴可以添加我的微信(微信号:leaderspring)拉你入群,记得备注来源哦~~
本公众号关于DYNAMO文章还有:
一、学会这几个Dynamo数据处理技巧,效率翻倍提升
二、Dynamo也可以创建图形界面,使用起来超简单
三、在Visual Studio中搭建Dynamo Python开发环境,效率飞一般的增长
四、一键放置柱子护角,你get了吗?
五、Dynamo随机地形思路分享
六、Revit在弯曲面上的贴图调试
七、利用revit幕墙填充图案绘制钢架模型
八、通过Dynamo删除Revit中族参数探究
九、获取链接文件Document——Dynamo Python系列教程(一)
十、创建墙——Dynamo Python系列教程(二)
十一、图元的基本操作(隔离、移动、旋转、删除)——Dynamo Python系列教程(三)
十二、创建楼板——Dynamo Python系列教程(四)
十三、Dynamo读取cad图快坐标,匹配地形种树
十四、Dynamo与Revit API之间的转换——Dynamo Python系列教程(五)
十五、我最喜欢的Dynamo节点TOP 10
![fa0759fbb15a8397a794acf9c65e2190.png](https://i-blog.csdnimg.cn/blog_migrate/522a28e01c6741ffa34f516949a8c88b.jpeg)