TA的每日心情 | 开心 2014-1-11 00:20 |
---|
签到天数: 38 天 [LV.5]常住居民I
|
楼主 |
发表于 2019-4-18 08:44:20
|
显示全部楼层
Petrel的workflow中循环类型并不多。
现在用的这种是最为常用的,叫做for all icons in folder。两个必选参数,一个可选参数。
本例中,我们对于Survey 1(地震加载后的一个类似文件夹的东西,暂时在workflow中按文件夹看待即可)中的所有东西做一个“遍历”,遍历的方式就是设定Child reference的Variable。这个Variable的用处就是不具体指定某一个东西,而是可以根据workflow的运行条件来做赋值。类似编程中我们写:
for i in range(Survey 1)
然后这个i就可以在循环中获取每一个object。
类似的例子,我们也可以做一个文件夹放好我们所有完成的surface,然后做for all icons in folder的循环来实现批量成图。
总之,循环帮助我们可以不具体分配就能访问到文件夹中的每一个object。这句话最后一个参数“of type”是用来过滤数据类型的,本例中留空就意味着没有做任何过滤。比如我们希望做一个folder中全部厚度图的显示和输出,而其中还保存着多边形等等中间过程的内容,那么在of type中选择一个thickness depth surface就可以避免循环中variable指向到其它类型的数据了。
除了这种循环,Petrel中还给你一种更为自主定义的循环:for all icons in list。
这类似于
for i in range([1,3,7])
当然其过程会更加复杂,我们先不在这里讨论,感兴趣的可以尝试做一个简单的list试试。
更为直接的循环是类似
for i in range(10)
这种,在Petrel中叫做for loop,打开以后就是Variable $i from 1 to 5。注意:Petrel里这种循环的步进缺省就是1,如果需要增加变化,需要在循环内追加一个
Number expression: $i = $i +1
另外还有一个while loop的条件循环,这里也先不讲了。 |
|