Basic_01に引き続き....
前記事はこちら RF Python Basic_01
http://qiita.com/ts_bros/items/17dd84e550897ed42343
LayoutData(.lay)について
:Viewを自分好みにカスタマイズしたい場合...
各viewに以下のselectがあります。
右がSplit_tool (Split Vertical:縦方向 Split Horizontal:横方向)
左がchooser
編集したlayoutDataを格納しているformatが....
.layになります。
load/Save layoutで保存したり、読み込んだりできます。
Custom LayoutをDefoult設定したい場合は...
File/Preference/Layoutで設定することができます。
本題に入ります
-Python Realflow Scripting-
:Beginner向けが本当にない.....
http://www.realflowforum.com/viewforum.php?f=39
てな訳で....
RF_Python lesson01
Null Geometryを作成する
[Python]
#Create Null
null = scene.addNull();
#SetName
null.setName("locator");
Hubを作成する
[Python]
#Create Null
hub = scene.addHub();
Hubを作成して名前を変更する
#Create Hub
hub = scene.addHub();
Hubname =scene.getDefaultHubName();
scene.message(Hubname);
#Return List HubName
geth = scene.getHubs();
listHub = geth[0];
scene.renameHub(listHub,"Target");
:setName()を使わず...
listでHubgeometryを取得し、renameHub()で変更するアプローチ
HubとNullを接続させる
[Python]
#Create Geometry
hub01 = scene.addHub();
null01 = scene.addNull();
hub02 = scene.addHub();
null02 = scene.addNull();
#setName
null01.setName("Null_A");
null02.setName("Null_B");
#Return List HubName
geth = scene.getHubs();
listHub1 = geth[0];
listHub2 = geth[1];
#RenameHub
hubname01=scene.renameHub(listHub1,"A");
hubname02=scene.renameHub(listHub2,"B");
#Create NodeConection
newhubs = scene.getHubs();
New_hub01 = newhubs[0];
New_hub02 = newhubs[1];
newnodes = scene.getNodes();
New_null01 = newnodes[0];
nullname01 = New_null01.getName();
New_null02 = newnodes[1];
nullname02 = New_null02.getName();
#print node&Hub Name
scene.message("hub=" +New_hub01+New_hub02+"Node=" +nullname01+nullname02);
#Change Conect
scene.addLink(nullname01,New_hub02);
scene.addLink(nullname02,New_hub02);
Nullを作成した後、Hubを削除する
[Python]
#Create Null
null01 = scene.addNull();
null02 = scene.addNull();
#get Hubname
Hubs = scene.getHubs();
Hubname = Hubs[0];
#remove Hub
delete = scene.removeHub(Hubname);
複数のNullを作成し、Node毎にNameを修正
[Python]
arrayで作成
array = ['1','2','3','4','5'];
for i in array:
Null = scene.addNull();
Null.setName("Blast"+i);
for rangeで作成
iterate =10;
for i in range(0,iterate):
null = scene.addNull();
null.setName("Blast"+i);
Whileで作成
iterate =0;
while iterate<30:
null = scene.addNull();
iterate = iterate+1;
RF_PythonのLoop処理は記述が少し違うようなので
注意すべき点であるでしょう
whileは取り扱い注意しましょう(永遠に処理しちゃうよぉ.....)