Dynamo批量分离中心文件并另存到指定目录
最近比较忙,又好久没更新了,之前准备写的东西遇到点瓶颈,暂时没解决,所以这次先随便写点啥。
我们在做项目的时候,为了方便协作,一般都会采用中心文件的方式,但是最终交付的时候,是需要把中心文件分离的,一个一个的分离,感觉还是他麻烦了,于是就想到用Dynamo来批量操作,简单测试了下,发现有现成的节点可以用,那就是手到擒来的事了。
这里用到最关键的一个节点是“Document.BackgroundOpen”,来自我之前分享的“Orchid”节点包,这个节点在后台打开项目的时候,是可以设置是否从中心文件分离,是否放弃工作集,一下就解决问题了。
image好了,到这里我们本期教程就结束了~
image开个玩笑,这个是关键节点,那么我们稍微把这程序完善一下,应该就能用了。
这里,我们给他输入一个路径,然后把分离中心文件和放弃工作集都设置为True。
image这样后台打开并分离的任务就完成了,之后再把模型存到指定路径就可以了,这里需要用到节点“Document.SaveAs”,同样是“Orchid”里的节点。
image这个节点的输入端,Document就是刚才后台打开的文档,文件名这里比较特殊,他要的是“路径+文件名+后缀名”这样的格式。然后是否覆盖写入可以空着,是否保存为中心文件设置为false就可以了。
image文件名这里,我就简单的处理了一下,以原“文件名+分离”的格式保存如下图:
image主要用到了获取原文件名,字符串的处理,这里放大一些
image image image以这样的方式,我将目录和文件名合并,输入给另存文件节点:<newfolder + "\" + name + ".rvt">
到这里,程序基本就完成了,为了让程序运行更完美,我在程序最后加了一步,将后台打开的文件全部关闭,如下图:
imageDataStream.Await节点的意思,就是在输入端运行完成以后,才会运行我最后的关闭节点。
最后我们看下完整的程序:
image好了,今天的分享就到这里了~