選択頂点の位置を取得
オブジェクトの頂点にボックスを配置したい!!
どうしたら出来るんだろう?
1)頂点を選択
2)頂点の位置情報取得
3)ボックスを頂点数分作成
4)それぞれのボックスを配置
頂点を選択
選択頂点の位置を取得
xfotm
# WorldSpace
WSvtxPos = cmds.xform(q=True , ws=True , t=True);
print WSvtxPos;
#ObjectSpace
OSvtxPos = cmds.xform(q=True , os=True , t=True);
print OSvtxPos;
このままだと頂点を複数選択していた場合、一つのリストとして取り扱われてしまうので、(x,y,z)に分けていく必要がある
zip(*[iter(S)]*n)
S・・・分割したいリスト
n・・・n個ずつ分割
# WorldSpace
WSvtxPos = cmds.xform(q=True , ws=True , t=True);
list = zip(*[iter(WSvtxPos)]*3);
print list;
リスト内の要素数を調べる
len
# WorldSpace
WSvtxPos = cmds.xform(q=True , ws=True , t=True);
list = zip(*[iter(WSvtxPos)]*3);
print list;
print len(list);
melで境界線をマージをする
Pythonを基礎から勉強してみる!!_008
リストにオブジェクトを追加する
append
入力
x = ["a" , "b" , "c" , "d"]
x.append("e")
print x
出力
['a', 'b', 'c', 'd', 'e']
リストにリストを追加する
extend
入力
x = ["a" , "b" , "c" , "d" , "e"]
x.extend([1 , 2 , 3])
print x
出力
['a', 'b', 'c', 'd', 'e', 1, 2, 3]
リスト内のオブジェクトを値指定して削除する
remove
入力
x = ["a" , "b" , "c" , "d"]
x.remove("c")
print x
出力
['a', 'b', 'd']
リスト内のオブジェクトをインデックス指定して削除する
del
入力
x = ["a" , "b" , "c" , "d"]
del x [2]
print x
出力
['a', 'b', 'd']
入力
x = ["a" , "b" , "c" , "d" , 1 , 2 , 3 , 4 , 5]
del x [3:6]
print x
出力
['a', 'b', 'c', 3, 4, 5]
リスト内のオブジェクトを分ける
pop
( )内を半角スペースにすると最後のオブジェクトが分けられる
入力
x = ["a" , "b" , "c" , "d" , "e"]
y = x.pop( )
print x
print y
出力
['a', 'b', 'c', 'd']
e
( )内にインデックスを入れることで任意のオブジェクトを分けられる
入力
x = ["a" , "b" , "c" , "d" , "e"]
y = x.pop(2)
print x
print y
出力
['a', 'b', 'd', 'e']
c
文字列とリストでのメソッドの違い
文字列の場合
入力
x = "abcde"
x.upper()
print x
出力
abcde
となり"upperメソッド"を使用しても"x"自体は変化しない
それに対してリストでは
入力
x = ["a" , "b" , "c" , "d"]
x.append("e")
print x
出力
['a', 'b', 'c', 'd', 'e']
となり"x"自体が変化している