> 私の場合、自分が作ったツールやスクリプト内で使用しているスクリプトコマンドやプロパティーは全部リストに登録してあり、メジャーバージョンアップの度に、最初に全リストの動作確認を行っています。
うわああああああ、耳が、耳が痛いぃいいい(pT▽T)p
うわああああああ、耳が、耳が痛いぃいいい(pT▽T)p
> >マスターサーフェス
> ずいぶん長いことバグっていたということになるんでしょうが、
> こういうのは、誰かがその機能を使ってみないと
> なかなか気づきにくいものなんでしょうね。
私の場合、自分が作ったツールやスクリプト内で使用しているスクリプトコマンドやプロパティーは全部リストに登録してあり、メジャーバージョンアップの度に、最初に全リストの動作確認を行っています。
これを自動で行うのは無理なので、その都度手で一つ一つ確認してますが、全部で4〜5時間はかかってしまいますね。
開発側に完全なものを出せなどといっても、事実上これは無理難題ですから、快適な使用環境を求めようと思えば、自分で手間暇かけてプロテクトしないといけませんです。
> ずいぶん長いことバグっていたということになるんでしょうが、
> こういうのは、誰かがその機能を使ってみないと
> なかなか気づきにくいものなんでしょうね。
私の場合、自分が作ったツールやスクリプト内で使用しているスクリプトコマンドやプロパティーは全部リストに登録してあり、メジャーバージョンアップの度に、最初に全リストの動作確認を行っています。
これを自動で行うのは無理なので、その都度手で一つ一つ確認してますが、全部で4〜5時間はかかってしまいますね。
開発側に完全なものを出せなどといっても、事実上これは無理難題ですから、快適な使用環境を求めようと思えば、自分で手間暇かけてプロテクトしないといけませんです。
> 配列の中に配列を入れ子にするには特に関数は必要なく、
> リストやタプルの指定と同じ方法でOKです。
> a = [1,2,3]
> b = [10,20,30]
> c = [100,200,300]
> d = [1000, 2000, 3000]
> print [a,b]
> print [a,[c,d],b]
簡単にできそうですね。なに勘違いしてたんだろう?
>マスターサーフェス
ずいぶん長いことバグっていたということになるんでしょうが、
こういうのは、誰かがその機能を使ってみないと
なかなか気づきにくいものなんでしょうね。
> リストやタプルの指定と同じ方法でOKです。
> a = [1,2,3]
> b = [10,20,30]
> c = [100,200,300]
> d = [1000, 2000, 3000]
> print [a,b]
> print [a,[c,d],b]
簡単にできそうですね。なに勘違いしてたんだろう?
>マスターサーフェス
ずいぶん長いことバグっていたということになるんでしょうが、
こういうのは、誰かがその機能を使ってみないと
なかなか気づきにくいものなんでしょうね。
現状(9.0.1)ではpythonで形状にマスターサーフェスを設定することは
不可能なことが判明しました。次のアップデートでどうにかなる予定では
あるそうです。
ということは、8.5ではVBScriptで行うしかないということになってしまいますね。
不可能なことが判明しました。次のアップデートでどうにかなる予定では
あるそうです。
ということは、8.5ではVBScriptで行うしかないということになってしまいますね。
お世話になります。
Pythonに挑戦中なのですが、ちょっと困ったことが出たので投稿させていただきました。
任意の形状・パートにマスターサーフェスを設定したいと考えているのですが、Pythonでは上手くできないのです。
VBScriptだと、
対象のパートを選択状態にしておいてから、
Xshade.MasterSurface = 'MasterSurfaceのHandle'
これで、設定が出来ます。
Pythonも同様に考えて、
xshade.master_surface = 'master_surfaceのShapeObject'
とすると、何も変化無し。(エラーも出ない)
また、shapeクラスのmaster_surfaceが、パートにマスターサーフェスの設定していないときに、Noneを返しているので、
xshade.scene().active_shape().masuter_surface = 'master_surfaceのShapeObject'
としてみると、エラーが出てきます。
'master_surfaceのShapeObject'には、create_master_surfaceで返るShapeObjectを当てています。
VBSで出来る事がPythonで出来ないとは考え難いので、私のやり方が悪いのだと思いますが、今はお手上げ状態です。
解決策がありましたら教えて頂けたら幸いです。
Shade 7.5 8.5
Pythonに挑戦中なのですが、ちょっと困ったことが出たので投稿させていただきました。
任意の形状・パートにマスターサーフェスを設定したいと考えているのですが、Pythonでは上手くできないのです。
VBScriptだと、
対象のパートを選択状態にしておいてから、
Xshade.MasterSurface = 'MasterSurfaceのHandle'
これで、設定が出来ます。
Pythonも同様に考えて、
xshade.master_surface = 'master_surfaceのShapeObject'
とすると、何も変化無し。(エラーも出ない)
また、shapeクラスのmaster_surfaceが、パートにマスターサーフェスの設定していないときに、Noneを返しているので、
xshade.scene().active_shape().masuter_surface = 'master_surfaceのShapeObject'
としてみると、エラーが出てきます。
'master_surfaceのShapeObject'には、create_master_surfaceで返るShapeObjectを当てています。
VBSで出来る事がPythonで出来ないとは考え難いので、私のやり方が悪いのだと思いますが、今はお手上げ状態です。
解決策がありましたら教えて頂けたら幸いです。
Shade 7.5 8.5
配列の中に配列を入れ子にするには特に関数は必要なく、
リストやタプルの指定と同じ方法でOKです。
a = [1,2,3]
b = [10,20,30]
c = [100,200,300]
d = [1000, 2000, 3000]
print [a,b]
print [a,[c,d],b]
zipは、
与えられた配列の、それぞれのi番目の要素をまとめた配列を、
与えられた配列の中の、一番要素数が少ない配列の数だけ、配列を作る関数です。
a=(1,2,3)
b=(4,5,6)
c=(7,8,9)
があったとき、zip(a,b,c)では以下の配列を作ります。ちょうど行列式で縦と横を入れ替えるのと似ていますね。
((1,4,7),
(2,5,8),
(3,6,9))
配列の数が4つに増えると、配列の数の要素をもつ配列ですから、要素が4となり、縦横を入れ替えて
a=(1,2,3)
b=(4,5,6)
c=(7,8,9)
d=(0,0,0)
zip(a,b,c,d)=
((1,4,7,0),
(2,5,8,0)
(3,6,9,0))
となります。
少ない要素の場合、最小のbにあわせて
a=(1,2,3)
b=(4,5)
c=(6,7,8,9)
zip(a,b,c)=
((1,4,6),
(2,5,7))
になります。
先の
a = [1,2,3]
b = [2,3,4]
ではzip(a,b)は
[(1,2),(2,3),(3,4)]になりますね。
コピーペーストのまんまで動くことを確認しました。
そういえばリスト中のリストってどうやればいいんだろうと思っていたんですが
zipを使えばいいんですね。
いくつでも入れ子にできるのかな?
a = [1,2,3]
b = [2,3,4]
c = [3,4,5]
d = [4,5,6]
e = zip(a,b)
f = zip(c,d)
g = zip(e,f)
print g
そういえばリスト中のリストってどうやればいいんだろうと思っていたんですが
zipを使えばいいんですね。
いくつでも入れ子にできるのかな?
a = [1,2,3]
b = [2,3,4]
c = [3,4,5]
d = [4,5,6]
e = zip(a,b)
f = zip(c,d)
g = zip(e,f)
print g
ちなみにzipはいくつでもリストを指定可能みたいです。
a = [1,2,3]
b = [2,3,4]
for i,j,k,o in zip(a,b,a,b):
print i,j,k,o
また、inの前を1つにすると、全てを1つのタプルにzip(まとめ)して出力します。
a = [1,2,3]
b = [2,3,4]
for i in zip(a,b,a,b):
print i
a = [1,2,3]
b = [2,3,4]
for i,j,k,o in zip(a,b,a,b):
print i,j,k,o
また、inの前を1つにすると、全てを1つのタプルにzip(まとめ)して出力します。
a = [1,2,3]
b = [2,3,4]
for i in zip(a,b,a,b):
print i
> タブのまま投稿してもらってもたぶん大丈夫です。
それじゃ、実験かねて、もうひとつfor文
for i in xrange(10, 0, -1):
print i
10から1まで-1のステップで出力します。線形状のポイントを逆順に調べるときなんかに
使えますね。例文はわかりやすくするために10,0,-1ですが、実際は始点は0ですから
10,-1,-1となります。
#コントロールポイントの総数を逆順に出力
n = xshade.scene().active_shape().number_of_control_points -1
for i in xrange(n, -1, -1):
print i
それじゃ、実験かねて、もうひとつfor文
for i in xrange(10, 0, -1):
print i
10から1まで-1のステップで出力します。線形状のポイントを逆順に調べるときなんかに
使えますね。例文はわかりやすくするために10,0,-1ですが、実際は始点は0ですから
10,-1,-1となります。
#コントロールポイントの総数を逆順に出力
n = xshade.scene().active_shape().number_of_control_points -1
for i in xrange(n, -1, -1):
print i
zip でタプルのリスト(というのかな?)ができるんですか。
これはいろいろと使えそうですね。
ところでこのコード、インデントが全角スペースになってたんですね。
このままコピー&ペーストで実行しようとしたら、エラーが出ました(^^;;
この掲示板と何でも掲示板、ツール別掲示板は、
タブは半角スペース4個に変換するように改造してるので、
タブのまま投稿してもらってもたぶん大丈夫です。
(スペースの数がそろっていれば、4個スペースのままでもPython実行できるようです)
これはいろいろと使えそうですね。
ところでこのコード、インデントが全角スペースになってたんですね。
このままコピー&ペーストで実行しようとしたら、エラーが出ました(^^;;
この掲示板と何でも掲示板、ツール別掲示板は、
タブは半角スペース4個に変換するように改造してるので、
タブのまま投稿してもらってもたぶん大丈夫です。
(スペースの数がそろっていれば、4個スペースのままでもPython実行できるようです)