スクリプトウィンドウでインデントしたつもりでも実行時にエラーになる

スクリプトを実行してもエラーになる」もご参照くださいませ。
Pythonスクリプトは、ifやforなどで有効な範囲をインデントで指定することになります。
以下のスクリプトの場合は、ifの下3行がifの条件として実行され、
4行目はインデントが先頭に戻っており、この行はifの範囲外になります。


scene = xshade.scene()
shape = scene.active_shape()

if shape.type == 7:
  print "[" + shape.name + "] ポリゴンメッシュ"
  faceCou = shape.number_of_faces
  print "  faces " + str(faceCou)
print "type : " + str(shape.type)

Shade3Dのスクリプトウィンドウでスペースキーを押してインデントする際に、
全角スペースを入れてしまった場合や、
他のアプリケーション(Webブラウザなど、スタイル情報もコピーで付加されるアプリケーション)から
ソースコードをコピー&ペーストしてきた場合、
テキストだけでなくスタイルの属性も一部ペーストされることがあるため
スクリプト実行時に見分けがつかないエラーが起きることがあります。
以下は、スクリプトウィンドウ上では正しく見えますが実行するとエラーになります。

このスクリプトウィンドウのソースコードをすべてコピーして外部のテキストエディタにペーストすると、
インデントがずれてしまっているのを確認できます。
以下は、Microsoft社のVisual Studio Codeを使用しています。

この問題を回避するため、スクリプトは他の専用テキストエディタで書き、
Shade3Dのスクリプトウィンドウにテキストとしてペーストして使用するほうがいいかもしれません。

この記事のタイトルとURLをコピーする
Translate »