現行スレッド
過去ログ
[1]
[2]
[3]
投稿順に表示
スレッドごとに表示
キーワード
タイトル
投稿者
編集パスワード
コメント
添付
Re[428][427][426][425][424]: リファレンス
2006年11月18日 (土) 01時16分
管理人
出張でちょっと留守にしていました。
うまくいったようでなによりです。

httpの回数チェックに引っかかってしまったようですね。失礼しました。
httpじゃなくてhttp:でカウントするようにしようかな。

> 昨日、仕事先から聞かされた締め切りが。。11月中。ToT
> もちょっと早く教えてくれやい。
くれぐれもお仕事優先で^^
Re[427][426][425][424]: リファレンス
2006年11月16日 (木) 10時39分
でった☆
> User www
> の部分を
> User ユーザー名
> に書き換えると書いてありましたが、

わ。その通りにしたら出来ました。感謝感謝です。
OSXもApacheですよ。/etc/httpdにhttpd.confがありました。
最初その下のusersにhttpd.confを作成(コピー)
してしまい、web共有が起動しなくなったのでとりあえず寝たんですが^^;
今、間違ってコピーしたのを消して、正しく設定したら、無事読み書きできる
ファイルを作成できました。嬉しいっす。

セミコロンは私も必ずといって良いほど抜けますねえ。。なんででしょ。

さて、CGIもほぼ完成(サブルーチンとか使ってないので、ネストの深い冗長なものですが)したし
あとはデータをちくちくまとめるだけなんですが。。。

昨日、仕事先から聞かされた締め切りが。。11月中。ToT
もちょっと早く教えてくれやい。

ってことで、ちょっと停止です。あああ、復帰したとき色々忘れていそうだなあ。。。
Re[426][425][424]: リファレンス
2006年11月16日 (木) 00時54分
管理人
なるほど。CGIで作ったファイルを直接編集できないということですね。

> ルート権限(管理者権限)でPCにログインしてればいいんでしょうが、なんかよくわからないので^^;
Apacheは設定を変える場合、設定ファイルを書き換えなければならないので、面倒ですよね。オーナー権限でApacheを動かすには、設定ファイルのhttpd.confの
User www
の部分を
User ユーザー名
に書き換えると書いてありましたが、Win用Apacheは該当する部分がないのでわかりませんでした。

>サーバーにアップしちゃえば、さらに問題なくなるので、まあ、制作中に何回も実験を繰り返している
>間のみの悩みということです。
私の場合、この繰り返しがけっこう多いので、悩ましい問題かもしれません。
CGI一つ書くのに数100回はエラーを繰り返すって感じです。そのうちの半分以上はセミコロンの付け忘れですが(^^;
え、どこ間違えてんだ?というときに頼りになるのが、Apache/logsディレクトリのerror.logです。

・・・とApache前提で書いてますけど、Apacheでした?
Re[425][424]: リファレンス
2006年11月15日 (水) 21時12分
でった☆
> OSXはUNIXベースなのでパーミッションがあるんですね。
> Windowsはパーミッションがないので、いまいちわからないのですが、CGI実行するとパーミッションが変わってしまうということでしょうか。

よく分からないのですが、CGIの動作は本来のユーザーとは別のユーザーとして実行されるそうです。
オンラインでもそれは変わらず、ゆえにパーミッションで複数ユーザー対応にするとか。
なのでローカルで実行してopen()close()でファイルを作成すると、CGIがユーザーとして
作成したファイルなので、わたしには読み込み専用ファイルになっちゃうんですね。
WINはその辺が違うようですね。
なおせないこともないんでしょうが、まあ、もとデータを作成するときに1回だけ(×クラス数分ですが)
実行すればいいので、そんなに問題ではないです。
ルート権限(管理者権限)でPCにログインしてればいいんでしょうが、なんかよくわからないので^^;

サーバーにアップしちゃえば、さらに問題なくなるので、まあ、制作中に何回も実験を繰り返している
間のみの悩みということです。
Re[424]: リファレンス
2006年11月15日 (水) 19時47分
管理人
>こんな感じで進んでおります。
><a href="http://detta.hp.infoseek.co.jp/dtmskrtupimg/100.jpg" target=_top>http://detta.hp.infoseek.co.jp/dtmskrtupimg/100.jpg</a>
これは見やすそうでいいですねえ。

>作成ファイルのオーナーが変わってしまって、読み出しのみになっちゃうのが
>ちょっと面倒ですが。
OSXはUNIXベースなのでパーミッションがあるんですね。
Windowsはパーミッションがないので、いまいちわからないのですが、CGI実行するとパーミッションが変わってしまうということでしょうか。
ローカル環境でのみ使うのなら、サーバの設定を変更してしまった方が作業は楽かもしれませんね。
リファレンス
2006年11月15日 (水) 15時12分
でった☆
こんな感じで進んでおります。
<a href="http://detta.hp.infoseek.co.jp/dtmskrtupimg/100.jpg" target=_top>http://detta.hp.infoseek.co.jp/dtmskrtupimg/100.jpg</a>

ローカル使うと楽でいいですねえ。
作成ファイルのオーナーが変わってしまって、読み出しのみになっちゃうのが
ちょっと面倒ですが。</p>
リファレンス
2006年11月07日 (火) 01時23分
でった☆
70%くらいまで整理できてきました。
そろそろ、どうやって公開しようかと考えるに、やはりリファレンスに「検索」は必須ですよねえ。
でもGoogleとかのサイト検索だと、Googleのクロールを待たないと使えないので、やはり自分で
検索エンジン込みのCGI作っちゃった方がいいんでしょうね。

CGI自体は、まあそんなにむちゃくちゃ大変じゃなさそうですが、問題はデータベースの整形。
これもエディタの置換使ったりして整形するのは、それほど難じゃないんですが、問題は一回
整形すると、視認性が、がた落ちすること。

修正やら追加するときに、非常に面倒くさそうです。

いっそこれもCGIでやるよーにでも、してみようかしらん。

。。。とか考えて行くと、いつまでたっても終わらなくなるんですよねえ(笑</p>
リファレンス
2006年09月22日 (金) 23時46分
うり
言語をあんまり理解しないまんま、ポチポチとスクリプトを作っている私にはPythonのリファレンスとかは非常にありがたいです。
早速やりたかった命令見つけましたし(笑
参考にさせていただきます☆
Re[422][421]: 質問ー
2006年11月14日 (火) 05時26分
でった☆
ありがとございます。
ググッて、それらしきコードは見かけるんですが、省略形ばかりで
どれを使っていいのやらでした。
平山さんのコードみて、すっきり解決できました。
ありがとうございます。
おかげで検索関連は今日明日に完成しそうです。
それができたら、あとはスクリプトの整理と表記の整理と。。。なんか、まだまだですね^^;
Re[421]: 質問ー
2006年11月14日 (火) 01時46分
管理人
> test.cgi?find=%E3%81%82%
これはUTF-8っぽいですね。
jcode.plはUTF-8対応してなかったと思うので、ログファイルはs-jisかeucにしとかないといけないかもしれません。

いずれにしてもURLで値を渡す場合は、英数字のみという決まりらしいので、
URLエンコードしてから渡し、受け取った値をデコードすることになると思います。
$value = '日本語';
$value =~ s/([^\w ])/'%' . unpack('H2', $1)/eg;
$value =~ tr/ /+/;
でURLエンコードされ、
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
で、デコードされるという感じらしいです。
このあたり、私は掲示板CGIなんかのdecode関数そのまま使わせてもらってるので、
よくわかってませんが・・・

この検索CGIでは、けっこう
search.cgi?key=キーワード
など日本語のまんま、渡してることもありましたが(^^;;
質問ー
2006年11月13日 (月) 22時04分
でった☆
cgiでの検索ですが。
例によって日本語がアフォです。
jcodeつかって変換しようにも、formから渡した時点で
test.cgi?find=%E3%81%82%
みたいになっちゃいます。
ファイルの文字コード変えてみたりもしたけど、ちっとわからんです。
よろしければご教授願いたく。。
Re[419][418][417]: わー
2006年11月13日 (月) 02時47分
管理人
> 使い勝手のいいやつ。とか考えると、つくづく平山さんのスクリプトプラグイン検索フォームは
> 素晴らしいなあと思います。
そういっていただけると恐縮です。検索フォームはデベロッパーやユーザーの皆さんからの要望やアイデアをいただいて、今のような形になりました。

検索条件変更するたびに検索フォームに戻るのが面倒なので、Shade Web検索のようにフォームを常時表示する方式に変更したいなと思っているのですが、ただでさえ無計画な改修でどこがどうなってるのか管理人自身も訳わからなくなっているので、なかなか手つかずです(^^;;

Pythonリファレンスの方は分類法がいまいちわかってないので、キーワードだけですべて検索する方式にしちゃいました。Shadeバージョンぐらいは別に選択項目をつけた方がいいのかもしれませんね。

Shade版Pythonリファレンス検索スクリプトは、read()で読み込むよう変更してみました。
該当項目が多いと、けっこう検索に時間がかかるようですが、調べてみると、検索はほぼ0.01秒ぐらいで終了しているので、ダイアログの表示に時間がかかっているようです。
かつてのinhibit_updateみたいに表示を高速化する方法はないんでしょうかね。xshade.scene().inhibit_update()はダイアログ表示には効果なさそうだし。</p><a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/scripts.zip" target="_top">参考ページ</a>
Re[418][417]: わー
2006年11月12日 (日) 04時31分
でった☆
> しかし、1万件っていったい・・・
改行コード含む置き換えだったもんで、、、

それで、リファレンスは80%くらいは終わったので、現在はCGI。おもに検索関連を書いてます。
使い勝手のいいやつ。とか考えると、つくづく平山さんのスクリプトプラグイン検索フォームは
素晴らしいなあと思います。
Re[417]: わー
2006年11月12日 (日) 01時59分
管理人
> アンドゥが聞かない一括置換で、まちがったキーワードを置き換えてしまいました。
> 総数1万件(´▽`)
> しかもさらに置き換えて修正ってのも無理で、バックアップも無し。
> 今日、3日かかって手動で修正しました。
それは大変でしたね。
短い単語に置換すると元に戻せないことってありますよね。
しかし、1万件っていったい・・・
わー
2006年11月11日 (土) 15時55分
でった☆
アンドゥが聞かない一括置換で、まちがったキーワードを置き換えてしまいました。
総数1万件(´▽`)
しかもさらに置き換えて修正ってのも無理で、バックアップも無し。

今日、3日かかって手動で修正しました。
リファレンス作成って大変です(ちょっと違う</p>
Re[415][414][413][412]: readlines
2006年11月09日 (木) 03時33分
管理人
> ループ文とかイフ文なんかの、微妙な違いがわからなくなったりします。
> 「あれ?else ifだっけ、elseifだっけ、elif?はて?」なんて。

どれもあるから始末が悪いですね。
else if (ActionScript)
elseif (Tcl PHP)
elif (Python C言語)
perlは elsifだし・・・^^;
ループ文もlastだっけbreakだっけ? nextだっけcontinueだっけとか

自分じゃ絶対覚えられないんで、もうエディタに覚えておいてもらうしかないです。
補完入力とかキーワードの色つけとか。</p>
Re[414][413][412]: readlines
2006年11月09日 (木) 02時02分
でった☆
> え、それは厳しいですね。
> ひょっとして、エディタが他のプロセスからのアクセスを禁止するような設定になっているのではないでしょうか。Shadeスクリプトはエディタで開いていても動くのでしょうか。

うおお。平山さん、感謝!大ビンゴです。
試しにシステム標準エディタで開いたままにしたところ、問題なく実行できたので、使っているエディタの
設定かと調べたところ、おっしゃるように、開いたときに他のプロセスからのアクセスを禁止する設定に
なっていました。
オフにしたら、開いたままサクサク実行できます。
これは嬉しいです。毎回閉じるのは効率悪すぎるので、複製ファイルを作ってそれに書き込み、実行という
エディタ用のスクリプトでも書こうかと思ったりしてましたよ。
こうなるともう、自分が何をやりたかったのかすら、分からなくなりはじめますね^^;

> 並行してやってると、PythonとPerlごっちゃになりません?
> あまり似てないから大丈夫か・・・
> 私はついPythonの文末にセミコロン付けそうになります(^^;;

ループ文とかイフ文なんかの、微妙な違いがわからなくなったりします。
「あれ?else ifだっけ、elseifだっけ、elif?はて?」なんて。</p>
Re[413][412]: readlines
2006年11月08日 (水) 20時08分
管理人
> read(),readline()は平気です。
行のリストを返すreadlinesだけまずいんですか。
日本語を含むリストが文字コードになってしまう件もあるし、このあたり、なんかバグが潜んでいるのかもしれませんね。パス取得系も日本語が化けるという問題があるし、文字コードがらみはややこしそうですね。

> 結論。動作させるCGIファイルをエディタなどで開いていると、ローカルサーバーエラーに
> なって、動かないのね。。。ファイル閉じたら動きましたよ(*´ω`)

え、それは厳しいですね。
ひょっとして、エディタが他のプロセスからのアクセスを禁止するような設定になっているのではないでしょうか。Shadeスクリプトはエディタで開いていても動くのでしょうか。

> ええ、pythonの解析は全然進みませんでした(@_@)
並行してやってると、PythonとPerlごっちゃになりません?
あまり似てないから大丈夫か・・・
私はついPythonの文末にセミコロン付けそうになります(^^;;</p>
Re[412]: readlines
2006年11月08日 (水) 03時54分
でった☆
そうですね。うちではA,Bどの方法でも、無限に行のリストを返し続けてくれちゃいます。
read(),readline()は平気です。

readlinesはファイルの[EOF]までを読み込む仕様なので、ひょっとしたら読み込むファイルに
問題があるのかもしれません。EOFが無いとか(そんなファイルあるのかな?)

Shade6の頃のリファレンスも、いまのPluginSDKリファレンスも、項目別にしてあって
それはそれで便利なのですが、全部から検索するのは面倒ですよねえ。

Shade9からWEBページとの連携が実装されて、閲覧する(Shadeコンテンツとか)のが
便利になっているようなので、WEBでのリファレンス公開は、まあ、そんなに遠い場所
でもないのかと思います。

本日はローカルホストが動くようにするのに四苦八苦。
いろいろ設定調べて、絶対動くはずなのに動かないよぉと頭かかえること数時間。
なんかのタイミングで動いて、やったやったと喜んでいたら、また動かなくなって数時間。

結論。動作させるCGIファイルをエディタなどで開いていると、ローカルサーバーエラーに
なって、動かないのね。。。ファイル閉じたら動きましたよ(*´ω`)

そして、雑多に書き留めたリファレンス整形CGIを試してて、、、最初から雑多じゃなければ
こんな苦労はいらないのは内緒で。
とりあえず整形できそうなめどがついたのが、この時間。

ええ、pythonの解析は全然進みませんでした(@_@)</p>
readlines
2006年11月08日 (水) 02時43分
管理人
いまいちわかっていないような気もしますが・・・
ファイルを読み込もうとすると無限ループになるということですか?
read()やreadline()でも同じでしょうか。
うちの環境ではA、B、Cどの方法でもファイルの行をリスト形式で取得できました。

import os
scr_pth = xshade.shade().scripts_path
log = os.path.join(scr_pth,'xshade.log')

#### A
fl = file(log,"r")
lines = fl.readlines()
fl.close()

#### B
line = 1
lines = []
fl = file(log,"r")
while line:
    line = fl.readline()
    lines.append(line)
fl.close()

#### C
fl = file(log,"r")
lines = fl.read()
fl.close()
lines = lines.split('\n')


タブの数は制限はないようですね。ダイアログの横幅内に入りきれないときはスクロールボタンが出るようですが、あまり多すぎるとスクロールボタンやOKボタンが表示されなくなってしまいました。ダイアログの表示内容の量によるようですが、250タブを超えると表示されない場合がありました。
タブの切り替えはタブを2回クリックしてアクティブにすると←→キーで高速に切り替えることができるようです。
</p>
Re[410][409][408][407]: リファレンス
2006年11月08日 (水) 00時18分
でった☆
おお、これはすごい。
そうか、セレクションじゃなくてタブなら横に長くなるだけで、操作不能になることはないですね。
素晴らしいです。

しかし、やっぱり、うちだと無限にダイアログが表示され続けます。

実はWINで実験してもreadlinesは無限ループになったんですよね。
なんでだろ?

これがちゃんと動いたら、テキスト整形とか、すごく楽になりそうな予感なんだけどなあ。
惜しいなあ。</p>
Re[409][408][407]: リファレンス
2006年11月07日 (火) 20時58分
管理人
readlins うちではちゃんと動いているようです。
WindowsとMacの違いって可能性もありますね。

で、検索するだけですが試しに作ってみました。
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/manage/developer/hirayama/Python_search.zip" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/manage/developer/hirayama/Python_search.zip</a>
ログはUTF-8にしないと日本語が化けるみたいですね。</p>
Re[408][407]: リファレンス
2006年11月07日 (火) 16時34分
でった☆
なるほど、テキスト整形だけならpythonでも出来なくはなさそうですね。
ただ、肝心のreadlinsメソッドがshadeではバグって無限ループしちゃうみたいなんで
そこをなんとかクリアする必要はありますが。

XMLとかを覚えたら、ちっとは楽なんでしょうかねえ。全然知らないんですが。
Shadeでは随分取り入れているみたいですけどね>stream_to_clipboard

まあ、最初は慣れたCGIでやってみて、そのうち他の方法もできたらやってみたいです。
</p>
Re[407]: リファレンス
2006年11月07日 (火) 02時36分
管理人
もう70%ですか。私は30%ぐらいで行き詰まってます(^^;;

確かに検索をどうするかが問題ですよね。
私の場合は、ローカルでCGI動かしてやれば、検索もできるし、修正や追加も楽だということでとりあえずCGI方式にして、ダウンロード用HTMLもCGIで書き出すようにしたのですが、HTMLは検索がやりにくいというのが問題ですね。
(6用のリファレンスもHTMLで検索ができないので、個人的にはインデックス方式の検索CGIをローカルで使ってます。)
まだPDFの方が検索はやりやすいのかもしれません。

で、でった☆さんのscript_checkerを見てて、ふとPythonのダイアログ使ってできないかなと、思いました。scriptsフォルダかどこかにログファイルを入れてPythonでログファイル読み込み、stringアイテムから入力したキーワードで検索するとか・・・
ユーザーが最も近い場所で使えるリファレンスということになるかもしれません(^^)

しかし検索はいいとしても、問題は一覧表示をどうするかということで、ちょっと実験してみたら、へたにselectionアイテムに項目名表示させようとしたら、あっという間にウインドウはみ出して収集つかなくなってしまいました(^^;;

いっそのこと、HTMLで書き出したリファレンスをPythonで検索するようにするか。

。。。とか考えて行くと、いつまでたっても終わらなくなるんですよねえ(笑</p>
Re[405][404][403]: あー
2006年11月02日 (木) 13時22分
管理人
> マックでもコマンド+.での中止が出来ないですね。というか、昔に「出来るようになった」と言われたけど
> 実際は出来ないままだったのですがw

え、そうだったんですか。これはできないと困りますね。
あまり頻繁にShadeを強制終了するのも精神衛生上よくないし。

> エラーだろうがなんだろうが、次の処理に行く
> try:
> finally:
> ってのはありますが、エラーで止まってしまうのだと、ちょっと分からないです。

ありがとうございます。finallyですか。試してみます。</p>
Re[404][403]: あー
2006年11月02日 (木) 04時24分
でった☆
> そういえば、WindowではCtrl+.でスクリプトの中断ができなくなっているようなんですが、Macではどうでしょうか。

マックでもコマンド+.での中止が出来ないですね。というか、昔に「出来るようになった」と言われたけど
実際は出来ないままだったのですがw

> ところで、
> try:
> except:
> でスキップできないエラーを無視する方法ってあるんでしょうか?

エラーだろうがなんだろうが、次の処理に行く
try:
finally:
ってのはありますが、エラーで止まってしまうのだと、ちょっと分からないです。</p>
Re[403]: あー
2006年11月02日 (木) 03時08分
管理人
> スクリプトテストをしまくると
> Shadeが落ちる落ちる。。。正しいコードを書かないわたしが悪いんです。はい。

これはありますね、当然(^^)
そういえば、WindowではCtrl+.でスクリプトの中断ができなくなっているようなんですが、Macではどうでしょうか。

ところで、
try:
except:
でスキップできないエラーを無視する方法ってあるんでしょうか?</p>
あー
2006年11月02日 (木) 02時03分
でった☆
スクリプトテストをしまくると
Shadeが落ちる落ちる。。。正しいコードを書かないわたしが悪いんです。はい。</p>
Re[401][400][399][398]: D_python_script_checker.pyc
2006年11月01日 (水) 15時44分
でった☆
> execというのもあるんですね。
ファイルを実行するexec_fileとゆーのもあります。
汎用性は低いですが、自分のスクリプトから人様のスクリプトを動かす。なんてことも可能ですね。</p>
Re[400][399][398]: D_python_script_checker.pyc
2006年10月31日 (火) 03時39分
管理人
いただきました(^^)
ありがとうございます。

execというのもあるんですね。</p>
Re[399][398]: D_python_script_checker.pyc
2006年10月31日 (火) 02時39分
でった☆
> 贅沢を言うと、1回テストするたびにダイアログが閉じて再度script_checker実行しなければならないので、出っぱなしになるとありがたいです(^^)
> ・・・って自分で書けばいいんですが、でった☆さんのスクリプト、コードが読めないんですよね。やっぱりeval使ってるんですか?

生ソース、メールしておきましたー。
evalとexec使ってます。

※ここを何人の方が見ているのか知りませんが、生ソース欲しいかたいらっしゃいましたらメールくだされば
送りますよん。

ループになっていた方が便利な場合もありますよねえ。メソッド実行が標準の場合が便利な場合もあるし。
なかば急ぎで作ったもので、あまり親切設計ではなかったりします。(*´ω`)</p>
Re[398]: D_python_script_checker.pyc
2006年10月31日 (火) 01時44分
管理人
> ほとんど自分と平山さん専用なような気もしますが。
> 本当はスクリプトウインドウに選択している行だけ実行とかあると一番いいんですけどね。
ありがとうございます。いただきました。
確かにスクリプト調べるためにまずprintして、1入れたり0入れたりしてるんで、こういうのがあると便利ですね。
贅沢を言うと、1回テストするたびにダイアログが閉じて再度script_checker実行しなければならないので、出っぱなしになるとありがたいです(^^)

・・・って自分で書けばいいんですが、でった☆さんのスクリプト、コードが読めないんですよね。やっぱりeval使ってるんですか?</p>
D_python_script_checker.pyc
2006年10月31日 (火) 01時08分
でった☆
ほとんど自分と平山さん専用なような気もしますが。
本当はスクリプトウインドウに選択している行だけ実行とかあると一番いいんですけどね。</p>
rotate_eye
2006年10月29日 (日) 22時48分
管理人
リファレンスに追加させていただきました。
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/show_xshade.cgi?index=xshade%2escene%28%29%2ecamera%2erotate_eye%28float%29#xshade%2escene%28%29%2ecamera%2erotate_eye%28float%29" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/show_xshade.cgi?index=xshade%2escene%28%29%2ecamera%2erotate_eye%28float%29#xshade%2escene%28%29%2ecamera%2erotate_eye%28float%29</a></p>
Re[395]: 不明なところ
2006年10月29日 (日) 22時41分
管理人
> 2πを360度として実数で指定した数値分視点をY軸回転させる。(のではないかと思われる)
そのようですね。
カメラウインドウの方には今のところ対応するインターフェースはないようですが、
こういうカメラ操作はできた方が便利ですね。
視点中心に注視点を回転させるrotate_targetも欲しいですね(^^)

>8の頃のまま作ったせいですね。dirしておけばよかった。。今度追加しておきます。
8にはなくて、8.5で追加された機能ってスクリプトの方も結構あるのかもしれませんね。
こまめに手を入れられてるんだとわかって一安心。</p>
不明なところ
2006年10月29日 (日) 19時00分
でった☆
整理中にふとした思いつきでパラメータ指定したら、うまく動いたときって嬉しいですよね。
本日の発見。

rotate_eye
2πを360度として実数で指定した数値分視点をY軸回転させる。(のではないかと思われる)
使用例は180度回転する。
xshade.scene().camera.rotate_eye(3.14159265359)

ためしに1を入れたら動いたので、それから適当に実験してたら上記の結果となりました。
一応イーフロに確認中(・д・)
</p>
Re[393][392][391][390]: インターフェースにクリッカブルマップ
2006年10月28日 (土) 02時03分
でった☆
> ひょっとして、「スクリプト大全」第2弾みたいな話が進んでるとか(^^)
進んでいたらいいんですが、、ないですねえ(pT▽T)p

> ↓とりあえず、6の時はなかったもの
あ、ダイアログアイテムにセキュアってあったんですね。Dialog_Makerに入れてませんでした。
8の頃のまま作ったせいですね。dirしておけばよかった。。今度追加しておきます。</p>
Re[392][391][390]: インターフェースにクリッカブルマップ
2006年10月27日 (金) 23時33分
管理人
「Shade Magic」懐かしいですね。久しぶりにめくってみたら、R2のスクリプトリファレンスがついてたんですね。そのころはエクスツールスもリファレンスなんて出してなかったので、唯一の資料でしたね。

>イーフロにShadeインターフェースの使用許可を貰ったりしてたんですが、
>しかし、面倒くさいのと、Pythonそのものが整理ついてないので先送りしていたわけです。
>一覧形式は平山さんが作成されているから、画像つきでのアプローチをこっちはしようかなぁ。ってのが
>発端ですね。

ひょっとして、「スクリプト大全」第2弾みたいな話が進んでるとか(^^)

>理想は同じようなものでも、平山さん式。でった☆式があって、お互いに参考にしつつ高め合っていけたら
>いいなあとも思ってます。

ですね。とにかく、わかりやすくて使いやすいものができるといいですね。
まとめ作業をしていると、かなり変わっていることが改めてわかり、
やはりちゃんとしたリファレンスが必要だなと思いました。
で、私のはその大きく変わったところがわからないまんま残りそうです(^^;

↓とりあえず、6の時はなかったもの
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/show_xshade.cgi?mode=search&key=8.5&t=and" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/show_xshade.cgi?mode=search&key=8.5&t=and</a></p>
Re[391][390]: インターフェースにクリッカブルマップ
2006年10月27日 (金) 15時47分
でった☆
> え、考えてました?
「Shade Magic」本みたく、インターフェースからの説明ってのを考えていて、
イーフロにShadeインターフェースの使用許可を貰ったりしてたんですが、
しかし、面倒くさいのと、Pythonそのものが整理ついてないので先送りしていたわけです。
一覧形式は平山さんが作成されているから、画像つきでのアプローチをこっちはしようかなぁ。ってのが
発端ですね。
理想は同じようなものでも、平山さん式。でった☆式があって、お互いに参考にしつつ高め合っていけたら
いいなあとも思ってます。
とりあえず、Pythonの整理が先なんで、ちまちま進めておりますです。</p>
Re[390]: インターフェースにクリッカブルマップ
2006年10月27日 (金) 04時12分
管理人
> おっと。
> 先を越されたw

え、考えてました?
インターフェースには出てこないものもあるようですが、
どの程度Pythonでできるものかわかるかなーと思って試してみました。

しかし、これはさすがに自動化しようもないので、結構めんどいですね。</p>
インターフェースにクリッカブルマップ
2006年10月27日 (金) 00時57分
でった☆
おっと。
先を越されたw</p>
Re[388][387]: このやり方はどうでしょうか?
2006年10月10日 (火) 08時17分
匠弥
Python自体まだ良く分かっていなので、引数の型については、まだまだ勉強中です。分かれば、可也便利なのですが・・・

参考ページ先のリンクがおかしくなっていたので、直接アドレスを記載しておきますね。

<a href="http://www.python.jp/doc/release/lib/module-inspect.html" target=_top>http://www.python.jp/doc/release/lib/module-inspect.html</a></p>
Re[387]: このやり方はどうでしょうか?
2006年10月10日 (火) 02時32分
管理人
匠弥さん、情報ありがとうございます。

inspectというモジュールがあるんですか。これは使えそうですね。getmembersで名前と説明も一緒に出るので便利です。
inspectの説明で"関数の引数リストを取得して整形する"こともできると書いてありますね。これ、methodで引数が必要な場合、その型なんかもわかるんだったらいいですね。

この掲示板、インデント反映されないんだっけ・・・
import inspect
xname = 'xshade'
for x in inspect.getmembers(eval(xname)):
    print x
    yname = xname + '.' + x[0]
    for y in inspect.getmembers(eval(yname)):
        print '    ',
        print y</p>
このやり方はどうでしょうか?
2006年10月10日 (火) 00時33分
匠弥
Pythonの勉強と7.5の解析中に、こんな方法を見つけましたのでご紹介。

import inspect
a= inspect.getmembers(xshade)
for x in a:
    print x

結果は
('aggregate_view', <type 'xshade.aggregate_view'>)
('aggregate_window', <type 'xshade.aggregate_window'>)
('animation_settings', <type 'xshade.animation_settings'>)
('background', <type 'xshade.background'>)
('background_layer', <type 'xshade.background_layer'>)

省略


また、
import inspect
a= inspect.getmembers(xshade.aggregate_view)
for x in a:
    print x

結果は
('bring_to_front', <method 'bring_to_front' of 'xshade.window' objects>)
('canvas_size', <attribute 'canvas_size' of 'xshade.window' objects>)
('client_size', <attribute 'client_size' of 'xshade.window' objects>)
('eject_all', <method 'eject_all' of 'xshade.aggregate_view' objects>)

省略


こんな感じのリストが表示されるので、使えそうな気がするのですが、如何でしょうか。
3.11 inspect -- 使用中オブジェクトの情報を取得する </p><a href="http://http://www.python.jp/doc/release/lib/module-inspect.html" target="_top">参考ページ</a>
Re[385][384][383][382]: eval
2006年10月07日 (土) 03時17分
管理人
> ぱっとみ重複している部分もありそうですね。
> xshade.scene().active_shape().scene.create_line()とか。

ですね。active_shape()は階層が深そうなので、
xshade.scene().active_shape()以下掘ったのも追加してみました。
xshade.scene().active_shape().scene.create_line()は実行できるかどうかわかりませんが、
その上の
xshade.scene().active_shape().scene.copy()は
○がついているので動くのかなと思って試してみたら、みごと動きました(^^)
xshade.scene().copy()も選択したものだけコピーするので何が違うの?ってかんじですね。下のsceneは()なしってのもよくわからないし。

> リファレンス化は大変な作業ですからねえ。少しでも自動化できれば良いのでしょうけど。

active_shape()についてはまだ調べていなかったson以下にずらずらとたくさんあるというのがわかりました。activate()以外は全部実行不可ってことになってますが。

> ネストでリストアップするスクリプトは、なんかもうそれだけで搭載スクリプトの
> 動作確認スクリプトとになってますね。イーフロに売れないかしらん(笑
あ、evalするたびに止めてやれば、どのメソッドがどういう動きをするか確認できるかもしれませんね。引数が必要なやつはダイアログで入れてやるとか。</p>
Re[384][383][382]: eval
2006年10月07日 (土) 00時27分
でった☆
> げ、全部表示するようにしてるからむちゃくちゃ重い。

ぱっとみ重複している部分もありそうですね。
xshade.scene().active_shape().scene.create_line()とか。

リファレンス化は大変な作業ですからねえ。少しでも自動化できれば良いのでしょうけど。

ネストでリストアップするスクリプトは、なんかもうそれだけで搭載スクリプトの
動作確認スクリプトとになってますね。イーフロに売れないかしらん(笑</p>
Re[383][382]: eval
2006年10月06日 (金) 22時11分
管理人
> <a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/search.cgi" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/search.cgi</a>
> methodやattributeの判定がむっちゃいい加減ですけど・・・、○ついてるのはたぶん動くやつ

げ、全部表示するようにしてるからむちゃくちゃ重い。</p>
Re[382]: eval
2006年10月06日 (金) 22時06分
管理人
> おおお、そんな使い方があったとわ!
> テキスト電卓くらいにしか認識してませんでした。
> 見事にネストされてますね。さすがです。
これはPythonメモへのレスですね。
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?page=Python%A5%E1%A5%E2%2F2006%2D10%2D6" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?page=Python%A5%E1%A5%E2%2F2006%2D10%2D6</a>
ありがとうございます。

scene()とかはもっと下の階層もあるのでもう少し掘りたいところなんですが、
変なメソッドも実行してしまって、エラーが出たりするのでとりあえず2階層ってところです。()付けなきゃいいんですが、それだとわからないのもあるもので。
Pythonでうまいこと文字列を整形する方法がわからないので、はき出したデータをCGIでちょっといじってやれば
労せずして簡易リファレンスができるではないか。などとまた手抜きを考えています(^^;
↓こんな感じかな。これをベースにフォーム出して修正して、リファレンス作った方が早いかもしれません。
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/search.cgi" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/Python/search.cgi</a>
methodやattributeの判定がむっちゃいい加減ですけど・・・、○ついてるのはたぶん動くやつ</p>
eval
2006年10月06日 (金) 10時07分
でった☆
おおお、そんな使い方があったとわ!
テキスト電卓くらいにしか認識してませんでした。
見事にネストされてますね。さすがです。</p>
Re[380]: 文字化け
2006年10月02日 (月) 20時50分
管理人
UTF-8の文字コードがそのまま出てるって感じですね。

リストから取り出しさえすれば、文字化け解消するということは、
パスの文字化けとはまた違うようですね。</p>
文字化け
2006年10月02日 (月) 14時16分
でった☆
パスには日本語が無かったですが、レンダラの日本語は化けました。
print xshade.shade().renderers

添字で取り出すと、ちゃんと表示されます。
print xshade.shade().renderers[3]
Re[378][377][375]: これはバグかなー
2006年10月02日 (月) 03時39分
管理人
>エラーにならないマックでは、スクリプトを実行するとファイル選択ダイアログボックスが表示され
>そこで選んだ画像(pdfもOK)をimageクラスのオブジェクトとしてインスタンス化できます。
読み込んだイメージをShade内でいろいろ使えるということですね。
imageクラスのloadメソッドで読み込んだ画像を使うという方法もあるかもしれませんが、
これはWindowsでもちゃんと使えるようになってほしいですね。

>複数のレンダリング結果を比較したいときに便利かなーと思いますが、縮小表示ができないと
>つらいなーとも。この辺が課題ですね。
なるほど。使い方はアイデア次第でいろいろ出てくるかもしれませんね。
縮小表示、thumbnail_imageっていうクラスがあるんですが、これは表面材質のイメージ表示関係かな。

>pumpはプラグインで使うものみたいです。詳細は不明。
print xshade.aggregate_view().pump()
を実行すると、エラーにならずに一応Noneを返しているようなので、なんかやってるのかなという気はするんですが。

>わたしも個人的にまとめていますが、不明なの多数ですね。
それだけ、お宝が埋もれている可能性も大きいってことなんでしょうが、
最終的にはイーフロになんとかしてもらわないとどうしようもないって感じですね。

ところでD_Dialog_Maker.pyc便利ですねー(^^)
ダイアログ使うPython書くときはお世話になると思います。
Re[377][375]: これはバグかなー
2006年10月02日 (月) 02時45分
でった☆
> エラーにならないとどうなるんでしょう。

エラーにならないマックでは、スクリプトを実行するとファイル選択ダイアログボックスが表示され
そこで選んだ画像(pdfもOK)をimageクラスのオブジェクトとしてインスタンス化できます。

> image関係では、**.image.create_window()で新たなウインドウに画像表示するメソッドがあるんですが、これもどう使うのかわからないです。

表記が分からないのでしょうか。使い道が分からないのでしょうか。

説明されている通り、イメージクラスのオブジェクトをウインドウに表示できます。
簡単な例として、あとで作ろうかと思っているネタがありますから、それを説明。

っても、2行ですがw

rimg = xshade.scene().rendering.image
rimg.create_window()

以上(笑

これでレンダリングイメージを別ウインドウで表示できます。
複数のレンダリング結果を比較したいときに便利かなーと思いますが、縮小表示ができないと
つらいなーとも。この辺が課題ですね。
そもそも、以前におなじようなスクリプトだかプラグインを見たような気もします。

> ほかにも使い方がわからないやつ↓
> <a href="http://www2u.biglobe.ne.jp/" target=_top>http://www2u.biglobe.ne.jp/</a>〜k_hiray/ps_db/fsw/wiki.cgi?word=%A1%A9&t=and&action=SEARCH

pumpはプラグインで使うものみたいです。詳細は不明。

わたしも個人的にまとめていますが、不明なの多数ですね。
そのうちなんとかしましょー(@_@)
Re[375]: これはバグかなー
2006年10月02日 (月) 01時40分
管理人
> img = create_image_from_file(None)
> ※引数にNull(None)を指定するとファイル選択ウインドウが出る
> マックだとファイル選択ウインドウがでて、ちゃんと取得できるんだけど、
> WINはファイル選択ウインドウのあと、エラーになっちゃいますね。
> これは随分楽しげなメソッドなのに、もったいないっす。
確かにエラーになってしまいますね。
エラーにならないとどうなるんでしょう。
image関係では、**.image.create_window()で新たなウインドウに画像表示するメソッドがあるんですが、これもどう使うのかわからないです。
ほかにも使い方がわからないやつ↓
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?word=%A1%A9&t=and&action=SEARCH" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?word=%A1%A9&t=and&action=SEARCH</a>

バグっぽいのもまとめておこうかな。
2006年10月01日 (日) 15時24分
でった☆
xshade抜けたw
これはバグかなー
2006年10月01日 (日) 15時24分
でった☆
img = create_image_from_file(None)
※引数にNull(None)を指定するとファイル選択ウインドウが出る
マックだとファイル選択ウインドウがでて、ちゃんと取得できるんだけど、
WINはファイル選択ウインドウのあと、エラーになっちゃいますね。
これは随分楽しげなメソッドなのに、もったいないっす。
Re[373][372][369][368][367][366][364][363]: create_dialog
2006年09月30日 (土) 23時04分
管理人
> なんたって、for i in dir(xshade): print i
> が大全の最初に書いてありますから(笑
え、・・・。もうなんにもいいません(^^;

しかし、osモジュールでパス関係ひととおりの操作ができそうですね。
保存版です。Shadeでつかえそうなモジュールのリファレンスもピックアップしておくと便利かもしれませんね。
Re[372][369][368][367][366][364][363]: create_dialog
2006年09月30日 (土) 04時42分
でった☆
なんたって、for i in dir(xshade): print i
が大全の最初に書いてありますから(笑

そんで、ファイルパスの扱い、ちょっとまとめましたので、ご参考にどうぞ。
import os

#拡張子を含むフルパスの取得
path_name_ext = xshade.shade().active_document
print '拡張子付きフルパス:',path_name_ext

#取得したパスをパス/ファイル名と拡張子に分解
path_name_split = os.path.splitext(path_name_ext)
print '分解したパスのタプル:',path_name_split

#タプルからパス/ファイル名を取り出す
path_name = path_name_split[0]
print 'パスとファイル名:',path_name

#拡張子付きフルパスから拡張子付きの名前のみ取り出す
name_ext = os.path.basename(path_name_ext)
print '拡張子付きファイル名:',name_ext

#タプルから取得したパス/ファイル名からファイル名のみ取り出す
name = os.path.basename(path_name)
print 'ファイル名:',name
Re[369][368][367][366][364][363]: create_dialog
2006年09月30日 (土) 03時09分
管理人
> import os#osモジュール読み込み
> #カレントファイルの保存先を取得
> FilePath = xshade.shade().active_document
> #ディレクトリ名を取り出し、ファイルのパスを取得
> ExportPath = os.path.dirname(FilePath) + '\\'

情報ありがとうございます。
文字化けしないactive_documentでファイル名含んだパスを得て
dirnameでディレクトリパスだけにするということですね。
せっかくosインポートしてるのにgetcwd使えないというのも歯がゆい気がしますが
文字化けには勝てませんよね。


> #ファイル名(拡張子込み)の文字数を取得
> FileNameNo = len(FilePath)-len(ExportPath)
> #ファイル名(拡張子無し)を取得
> FileName = FilePath[-FileNameNo:-4]
>
> で、ファイル名を取り出していますが、もっとスマートな取り出し方があるかも・・・(苦笑

私もVBScriptやTclでパス操作するときは同じようなことをやったような気が・・・
Pythonの場合、パスや文字列の操作はどうなっているんでしょう。
でった☆さんの紹介されたライブラリリファレンスによると
Perlスタイルの正規表現のマッチング操作を提供する組み込みモジュールがあるということですが。

>日本語パスと拡張子無しのファイル名については大全のバッチレンダリングver2あたりに
>書いてあったとおもいます。
う、また大全読んでないのがばれた(^^;;
Re[369][368][367][366][364][363]: create_dialog
2006年09月30日 (土) 02時06分
でった☆
日本語パスと拡張子無しのファイル名については大全のバッチレンダリングver2あたりに
書いてあったとおもいます。
この辺はShadeの。ではなくosモジュールの使い方になりますね。
pythonライブラリ
2006年09月30日 (土) 02時19分
でった☆
ご存知でしょうが、一応貼っておきます。

getcwd()、試しましたがうちは日本語が入ってませんでした。。ので検証できなかったです。<a href="http://iblinux.rios.co.jp/PyJdoc/lib-j/" target="_top">参考ページ</a>
Re[368][367][366][364][363]: create_dialog
2006年09月29日 (金) 23時48分
うり
> だと、パスに日本語が含まれていると文字化けするという問題が復活してしまいました。

部品出力スクリプトは、平山さんのリファレンスを参照させていただいたおかげで移植できました。
ありがとうございました。
内部では・・・

import os#osモジュール読み込み
#カレントファイルの保存先を取得
FilePath = xshade.shade().active_document
#ディレクトリ名を取り出し、ファイルのパスを取得
ExportPath = os.path.dirname(FilePath) + '\\'

という感じでカレントパスを取り出しています。
ちなみに・・・

#ファイル名(拡張子込み)の文字数を取得
FileNameNo = len(FilePath)-len(ExportPath)
#ファイル名(拡張子無し)を取得
FileName = FilePath[-FileNameNo:-4]

で、ファイル名を取り出していますが、もっとスマートな取り出し方があるかも・・・(苦笑

過去レスですが、私はPythonの書式とかが全〜然分からなかったので、スクリプト大全を購入しています。
Re[367][366][364][363]: create_dialog
2006年09月29日 (金) 23時27分
管理人
> カスタムつかうと、アイテム間の隙間を任意のサイズであけられたり、ダイアログのヨコ幅を
> 好きに変更できちゃうので、これはこれで使い道があったりするかもしれませんね。
> 不具合があるのかどうか謎ですが。
ひょっとして、それが目的のアイテムだったりして。他に引数入れるとエラーになるし。

ところで、TclスクリプトをPythonに書き換えてみようかなと思っているのですが、
早速つまずいてしまいました。
カレントディレクトリを得る必要があるのですが、
import os
cur_dir = os.getcwd()
だと、パスに日本語が含まれていると文字化けするという問題が復活してしまいました。
xshade.shade().active_document
だと、日本語もOKなんですが、一度shdファイルをどこかに保存してからでないと使えないんですよね。
パス系ではpathとかscripts_path embeded_scripts_pathなどもあるようですが、こういうのを使うのもありかな。
Re[366][364][363]: create_dialog
2006年09月29日 (金) 10時27分
でった☆
> やはりプラグイン専用でしたか。
一応念のために。プラグイン専用だと判断したのはわたし個人の判断であって、それが
正しいかどうかは不明です。

それはそれとして(笑

カスタムつかうと、アイテム間の隙間を任意のサイズであけられたり、ダイアログのヨコ幅を
好きに変更できちゃうので、これはこれで使い道があったりするかもしれませんね。
不具合があるのかどうか謎ですが。
Re[364][363]: create_dialog
2006年09月27日 (水) 22時24分
管理人
でった☆さん、ありがとうございます。

やはりプラグイン専用でしたか。
現状でもTclにくらべるとかなり充実してますが、カスタマイズできるというのは魅力ですよね。
Re[364][363]: create_dialog
2006年09月27日 (水) 21時13分
でった☆
あ、customについて書き忘れてました。
やはりプラグインでオリジナルのボタンなり絵を表示するためのもので、とりあえず
pythonでも領域の確保(width,height)だけはできますが、buttonと同じく表示するための
ものはプラグインでしか設定できないようです。(できたらいいなあ)
Re[363]: create_dialog
2006年09月27日 (水) 21時11分
でった☆
> ところで、create_dialogの中に、append_custom append_push_button append_listbox separator などが入っているんですが、どのように使うかご存じでしょうか。
create_dialogについて。
dlg = xshade.create_dialog()
dlg.separator = '$'
sl = dlg.append_selection('item$xx$yy$zz$aa$bb')
bt = dlg.append_push_button('button')
lst = dlg.append_listbox()
ct = dlg.append_custom((100,200))

dlg.ask()
となります。
結果から言うと、全部プラグインで使うものです。
ボタンやリストは表示できますが、ボタンに反応させるためのメソッドなどは
プラグインでしか設定できないようです。
リストの内容についても同様です。
separatorについては、サンプルソースのようにappend_selectionで使う項目の区切り文字を
変更させることができます。
どのようなときに有効かと言えば、項目として本来の区切り文字である/を表示したいときに
使えます。
ボタン、使いたいですねえ。。。set_valueでオリジナルのメソッドを設定できるようになったらと
考えるとよだれが出そうになります。

> ついでにいうとcopy_to_interface dialog_id get_property_id get_property_type などもあります。
これについてはまだ調べてません。(毎回調べてるんかい!という突っ込みは無しの方向で(笑)
見た感じではやはりプラグイン関係っぽいですね。わかったらまたコメントさせていただきます。
create_dialog
2006年09月27日 (水) 20時11分
管理人
ここでいうのもなんですが、D_Shade8QuickReference.pycいただきました。
私も8用のクイックリファレンスが見つからなくて、Wikiにまとめたことがありますが、
こういうのはやはりShade上で使える方が便利ですね。

ところで、create_dialogの中に、append_custom append_push_button append_listbox separator などが入っているんですが、どのように使うかご存じでしょうか。

ついでにいうとcopy_to_interface dialog_id get_property_id get_property_type などもあります。
Re[361][360]: 十数年来求めていたものが
2006年09月27日 (水) 16時07分
でった☆
さらに言えば
xshade.scene()
だけでも良いと(´▽`)

いやしかし、ほんとpython解析やってると、、はまりますねえ。
Re[360]: 十数年来求めていたものが
2006年09月27日 (水) 14時13分
でった☆
> 見つかりました。
おお、それはよかったですね。

でも、一言聞いてくだされば、、、、DropRenderで同じような処理してましたのに。。

>get number of scene
今のところpythonで同じプロパティは見つかってません。(探し方が足りないのか)

ただ、最前面のシーン、そのものを返すプロパティsceneがありますので、エラー処理構造つかって
下記のように書く事ができます。
try:
    dummy = xshade.scene().active_shape().scene
    xshade.message("The scene exists.")
except:
    xshade.message("The scene doesn't exist.")

シーンがなければ選択形状も無いわけですから、最初のところは
xshade.scene().active_shape()だけでもいいんですけどね。

printの代わりにxshade.messageを使ったのは、あまりに忘れられているコマンドが
ちょっと不憫になったから(笑
十数年来求めていたものが
2006年09月27日 (水) 12時32分
加藤俊明
見つかりました。
Apple Script だけど、Python でも同様に使えると思います。
「んなこと、知らなかったのはお前だけだよ」と言われちゃうかもしれませんが、

Shade のシーンが開かれているかというエラーチェックが長年できないでいたのですが、下記で現在開かれているシーンの数を取得できることがわかりました。
返り値が「0」だったら scene が開かれていないということですね。

get number of scene
Re[358][356][355][354]: ()の悩ましさ
2006年09月27日 (水) 03時39分
でった☆
> ところでウインドウ系、全部**_viewと**_windowクラスがあるんですが、どこか違うんでしょうか。
プラグインの構成のまんまだと思うのですが、ぶっちゃけ同じものです。
プラグインではwindowクラスがあって、それからviewクラスを派生だか継承しています。(たぶん)
つまり、表面材質ウインドウなどを絵だとすれば、_windowが画用紙、_viewが絵の具のようなものです。
ですから、aggregate_windowとaggregate_viewを見比べると分かりますが、windowに基本メソッドがあり
viewはそれら基本メソッドと、プラス統合パレットならではのメソッドがあります。

つまり、pythonにおいては_viewだけあれば、_windowクラスで出来る事が全部できるということになります。

>サイズ変更できないウインドウにも使えるかな
マックでは使えます。表示がめちゃくちゃになるんで、結局使えませんが^^;

_windowクラスで使い道があるのはframe_position/show/hide/show_hide/is_shownくらいでしょうね。
統合パレットの_windowに限ればtitleも使い道がありそうな、なさそうな。
Re[356][355][354]: ()の悩ましさ
2006年09月27日 (水) 03時20分
管理人
> パーティクルもありますよ。
パーティクルもありますね。どちらも統合パレットに合体できるようですが、将来的にはヘアーもパーティクルも標準機能になるのかもしれませんね。

> viewクラスはウインドウのサイズ指定やら、タイトル変更なんかできちゃって、あきらかに
> 「出来るけど使わないでね」ってやつですね。
使ってみました(^^)
サイズ変更できないウインドウにも使えるかなと思ったら、やっぱり無理みたいですね。
ところでウインドウ系、全部**_viewと**_windowクラスがあるんですが、どこか違うんでしょうか。
Re[356][355][354]: ()の悩ましさ
2006年09月26日 (火) 23時39分
でった☆
>shapeを使います。shadクラスとは違います。
ミス。
shapeを使います。クラスのshapeとは違います。でした。
Re[355][354]: ()の悩ましさ
2006年09月26日 (火) 23時38分
でった☆
形状選択はactive_shapesですね。他にもtclと同様にordinalやnameでも選択できますが。
ちなみにルートパートを選択するにはshapeを使います。shadクラスとは違います。
xshade.scene().active_shapes = xshade.scene().shape

>xshade.hair_window().show()
あはは、見つけちゃいましたね。
パーティクルもありますよ。
viewクラスはウインドウのサイズ指定やら、タイトル変更なんかできちゃって、あきらかに
「出来るけど使わないでね」ってやつですね。

aggregate_viewが統合パレットのクラスですから、ここをいじっていても結構面白いですよ。
ついでに用語をネットで調べたら、こんな感じにまとまりました。
アトリビュートもプロパティも同じですね。
アトリビュート:属性
プロパティ:データ・属性
メソッド:処理・手続き(メンバー関数)
クラス:データとメソッドをまとめたオブジェクトのひな形
Re[354]: ()の悩ましさ
2006年09月26日 (火) 21時10分
管理人
やっぱり()はややこしそうですね。
active_shapesの場合、8.5では取得もセットも()なしで使えるようになっているようです。
似たものにactive_shapeというのがありますが、これは取得時は()付きで
セットはできないようです。取得したidで形状を選択する場合は他の方法を使うんでしょうね。
まだ見つけてませんが^^;(active_shapesで単独形状の選択もできるようですが。)
active_shapesはattribute、active_shapeはmethodということになっているようです。
6のリファレンスではどちらもattributeとなっていました。確かにややこしい。

>それだけややこしいShade pythonなんですが、、、すさまじいペースでリファレンス化していますねえ。
>凄すぎます。お体平気ですか?
いや、やってると結構はまりますよ。なんとなくPythonがわかってきたような気になるし、
見えちゃいけないものが見えたりするのも楽しみだったりします(^^)
xshade.hair_window().show()
()の悩ましさ
2006年09月26日 (火) 04時57分
でった☆
しかしShadeではクラスをインスタンス化するときに()を付けないものもあるんです。
インスタンス化するときに()付きだとエラーになって、()無しで<object>になるものがそうですね。

また、active_shapesは値をセットするときは()無し、取得時は()付きになったはず。
(ちょっと8.5でそのままになっているのか、未確認のまま書いてます)

それだけややこしいShade pythonなんですが、、、すさまじいペースでリファレンス化していますねえ。
凄すぎます。お体平気ですか?
Re[352][351][350][349][348][347][342]: リファレンス
2006年09月25日 (月) 04時19分
管理人
すごく丁寧でわかりやすく解説していただいてありがとうございます。

>すっごく大雑把ですが、メソッドには()がついて、プロパティにはつかない。と考えてます。
>ですからprintしてbuilt-in methodとなれば()をつけてみて、xshade.なんたら objectとなれば成功かと。
これは即役立つ知識ですね。いままで試行錯誤でやってたのが、かなり効率アップしそうです。。

しかし、メソッドやクラスって、考えてみればPythonの一番基本的なところですよね。
「スクリプト大全」持ってるのにほとんど読んでないのがバレバレ(^^;;
これを機会にじっくり読ませていただきます。
Re[351][350][349][348][347][342]: リファレンス
2006年09月25日 (月) 03時23分
でった☆
> これがいまいちわかんないんですよね。メソッドやプロパティを使うのに、上に何をつなげてやればいいのか。()がついたりつかなかったりという法則もよくわからないし。

すっごく大雑把ですが、メソッドには()がついて、プロパティにはつかない。と考えてます。
ですからprintしてbuilt-in methodとなれば()をつけてみて、xshade.なんたら objectとなれば成功かと。

先のcontrol_pointの場合、control_pointでprintするとbuilt-in methodとなるので
control_point()としてみます。
すると
no-argument(引数がない)とエラーになりますから、引数が必要なメソッドだとわかります。

クラスというのは、メソッドとかプロパティの集合体みたいなもんで、これまた大雑把ですが
こんな構造だと思ってください。

class aaa:
    num = 100
    def xnum(self):
        return '50'
    def ynum(self,y):
        return y

さて、これで以下の結果を見てください。
print aaa
->__main__.aaa
 まあ、クラスそのものが表示されたと思ってください。
次にクラスを呼び出したり、インスタンス化(変数に代入)する場合には()を付けるルールがあるので()付きで呼びます。

print aaa()
-><__main__.aaa instance at 0x207bc66>
 インスタンスとして表示されます。
それでは内部のプロパティnumを表示してみます。

print aaa().num
->100
 プロパティnumは100が定義されているので100が返ります。プロパティの呼び出しなので()はいりません。
次はメソッド(関数)を呼びます。

print aaa().xnum
-><bound method aaa.xnum of <__main__.aaa instance at 0x207bc88>>
 ()無しで呼んだのでメソッドであることが表示されています。
では、メソッドなので()付きで呼びます。
print aaa().xnum()
->50

クラスで定義されている50が返ります。
もうひとつのメソッドも呼んでみます。

print aaa().ynum()
->Traceback (most recent call last):
File "<string>", line 8, in ?
TypeError: ynum() takes exactly 2 arguments (1 given)
 1つの引数が必要だとエラーがでています。
引数付きで呼んでみます。
print aaa().ynum(999)
->999
 引数がそのまま表示されます。

以上が、()なしのプロパティ、()だけのメソッド、()と引数が必要なメソッドの違いです。
厳密にはもっと細かくて、ややこしい(クラスの継承とかオーバーライドとか色々あるので)んですが
大体こんな感じでしょう。
Re[350][349][348][347][342]: リファレンス
2006年09月25日 (月) 02時21分
管理人
ありがとうございます。
オブジェクトが帰ってくる場合は、さらにその下にアトリビュートなり、メソッドなりがあるということですね。

>プリントで値を調べたい場合は、必要なクラス、メソッド、プロパティなどを正しく全部
>つなげてやる必要がありますね。

これがいまいちわかんないんですよね。メソッドやプロパティを使うのに、上に何をつなげてやればいいのか。()がついたりつかなかったりという法則もよくわからないし。
・・・それがわかるようにまとめてるんだった(^^;;

> print xshade.scene().active_shape().control_point(0).position

あ、control_pointの場合は引数が必要なんですね。中身を調べる方法も
for i in dir(xshade.scene().active_shape().control_point): print i
じゃ何にも出てこなかったのが
for i in dir(xshade.scene().active_shape().control_point(0)): print i
でずらずらと出てきました(^^)

>先頭にメソッドとかアトリビュートとか表示されるので、
>使用するものがメソッドなのか、アトリビュートなのか、これで調べられそうですね。
これも一応入れといたほうがいいでしょうね。Tclのコマンド、プロパティみたいなものかな。
Re[349][348][347][342]: リファレンス
2006年09月24日 (日) 23時59分
でった☆
プリントで値を調べたい場合は、必要なクラス、メソッド、プロパティなどを正しく全部
つなげてやる必要がありますね。
コントロールポイント0の座標をプリントするなら以下のようになります。
print xshade.scene().active_shape().control_point(0).position

結果は(800.0, 250.0, -750.0)のように、タプル(変更できない参照するだけの配列)で返ってきます。
Re[348][347][342]: リファレンス
2006年09月24日 (日) 23時53分
でった☆
エラーではなく、すべてオブジェクトそのものが返って来ています。
> built-in method control_point of xshade.part object at 0x0227F160
コントロールポイントのメソッドである
> built-in method browser_active of xshade.scene object at 0x0227F160
ブラウザのメソッドである
> built-in function pump
pump関数である
> attribute 'alpha_channel' of 'xshade.rendering' objects
アルファチャンネルのアトリビュートである
> method 'eject_background' of 'xshade.aggregate_view' objects
バックグラウンドのメソッドである
先頭にメソッドとかアトリビュートとか表示されるので、
使用するものがメソッドなのか、アトリビュートなのか、これで調べられそうですね。

同様にprint xshade.scene().active_shape()としても選択しているオブジェクトそのものである
xshade.part object at 0x2047050
などが返ってきます
バイナリーが表示されているとでも思えばいいでしょうか。
Re[347][342]: リファレンス
2006年09月24日 (日) 22時42分
管理人
メモにまでレスいただいて恐縮です。

> windows版のみのバグ。Macでは正常動作。

8.5.2では直っていると思っていたのですが、intやstringでは確認していなかったようです。

> >使えそうなものをShadeで試そうとすると<built-in method **** of xshade.line object at 0x0227F050>などと出る場合がある。これは何?

たくさんあったと思うのですが、たとえば

print xshade.scene().active_shape().control_point
print xshade.scene().browser_active
print xshade.pump
print xshade.rendering.alpha_channel
print xshade.aggregate_view.eject_background

を実行すると、

<built-in method control_point of xshade.part object at 0x0227F160>
<built-in method browser_active of xshade.scene object at 0x0227F160>
<built-in function pump>
<attribute 'alpha_channel' of 'xshade.rendering' objects>
<method 'eject_background' of 'xshade.aggregate_view' objects>

となります。
Re[342]: リファレンス
2006年09月24日 (日) 17時54分
でった☆
>ダイアログ作成の際create_dialogの引数に正の整数値を入れると次回実行時に前回の値がデフォルトになるはずだったが、vec3、rgb、floatとdouble以外はならない。intは初期設定値、復帰設定値にもならずに0になる。

windows版のみのバグ。Macでは正常動作。

>使えそうなものをShadeで試そうとすると<built-in method **** of xshade.line object at 0x0227F050>などと出る場合がある。これは何?

ソース下さい
Re[342]: リファレンス
2006年09月23日 (土) 01時17分
管理人
うりさん、こんばんは。

> 言語をあんまり理解しないまんま、ポチポチとスクリプトを作っている私にはPythonのリファレンスとかは非常にありがたいです。
いや、リファレンス無しであれだけ書かれているのはすごいです。
私も全く理解していないので、まとめているうちに少しはわかってくるかなという期待もあるんです。
一つわかったのは、スクリプトウインドウとメッセージウインドウはCtrl+ホイールで小さかった文字の拡大縮小ができるということ(笑
Re[344][343][342]: リファレンス
2006年09月23日 (土) 04時03分
でった☆
macだと「拡大縮小」しませんね(っ_-。)
シフト+ホイールで左右スクロールってのもあります。
Re[343][342]: リファレンス
2006年09月23日 (土) 02時46分
うり
> 一つわかったのは、スクリプトウインドウとメッセージウインドウはCtrl+ホイールで小さかった文字の拡大縮小ができるということ(笑

・・・えっ!?どれどれ。
あ!本当だ!!
ずーっと使ってるのに、全然気が付かなかったです・・・(汗
Re[340]: Wiki の tcl
2006年09月22日 (金) 22時27分
管理人
加藤さん、こんばんは。
> あれ、ひろいあげるの大変でしょう ?
拾い上げるのは、でった☆さんに教えてもらった

for i in dir(xshade):    print i

でクラス名やら、その中に入っているのがずらーと出てきて、それをコピーするだけでいいので楽です。
ややこしいのは、6のころとは違うクラスに移動したのがあるようなので、どのクラスに移動したのかShadeで動かして確認しないといけないというところですね。

xshade.shade().renderers
xshade.scene().number_of_cameras
xshade.shade().embeded_scripts_path
など、なんに使うんだというのを発見しました。

クラスごとに分けて表示するのはWikiのカテゴリー分けプラグインを使ったらうまいこといきそうです。
Wiki の tcl
2006年09月22日 (金) 21時22分
加藤俊明
おお、すごいことをやってますね。
あれ、ひろいあげるの大変でしょう ?

今のところ Class として scene, shade を拾い上げてますが、レガシーな script は全て Class application に分類されています。
レガシーなスクリプトがそのまま動く(一部はダメなものもあるらしいですが)ということは Class application については省略可能ということになっているのだと思います。
Re[337][336]: Wiki のページ
2006年09月22日 (金) 17時53分
加藤俊明
> それとも左のメニューと、右のトップメニューは見られるけど、記事が見られないということでしょうか。

あっ、はい、そうです。
でもって今見たら、ちゃんと見られるようになっていました。
Re[337][336]: Wiki のページ
2006年09月22日 (金) 14時50分
管理人
失礼しました。他のブラウザで確認するの忘れてました。
とりあえず、うちのFireFoxではまともに表示されるスキンに変更しました。
Re[336]: Wiki のページ
2006年09月22日 (金) 14時05分
でった☆
見られないというのは、何も出ない状態でしょうか?
それとも左のメニューと、右のトップメニューは見られるけど、記事が見られないということでしょうか。
それだとしたら、うちも同じです。Safari、Firefox、Realplayerで同じ症状です。
Operaのみ、平気でした。
で、記事が表示されないわけじゃないんですよね。ずーっと下にスクロールすると見る事ができます。
おそらくdivかなにかの記述がSafariが対応してないやつなのではないだろうかと推測。
レイヤーの重なりの指定とか、面倒くさいですからねえ。ハイブリッドにするのは。
Wiki のページ
2006年09月22日 (金) 13時26分
加藤俊明
を見ることができませんです。4〜5日前から
Safari, Explorer 双方とも同じ症状です。
私の所だけか、Mac がそうなのかはわかりませんが
フォームメール
2006年08月30日 (水) 21時26分
管理人
掲示板などに不用意にメールアドレスを書き込むと、じゃんじゃんスパムメールがやってくるので、メアドは書かないという方が多いと思います。
この掲示板もメールアドレスが書き込めるようになっていますが、直接アドレスを表示せず、フォームメールでメールを受けとる方式に変更しました。Shade Web検索の管理人へのメール送信と同じ方法です。

他の掲示板も順次この方式に変えようと思っています。
私はメアドを変えてから、この方式でしかメールアドレスを公開しないようにしましたが、1年以上たってもスパムメールは皆無です。(掲示板のスパム投稿は相変わらずじゃんじゃん来ているようですが・・・)
(無題)
2006年08月30日 (水) 01時44分
管理人
予定されたメンテではなく、サーバーのトラブルだったみたいですね。フォーラムのニュースに出てました。フォーラムや画像投稿機、レンダリングサービスは別サーバーになってるみたいです。

そういえばここも長いこと停止中ですね。
<a href="http://www.kotaete-net.net/" target=_top>http://www.kotaete-net.net/</a>
Windows Server 2003などMicrsoftの製品が原因のトラブルでないといっていますが、
2ヶ月以上止まったままというのは、どう考えてみてもお粗末すぎ。
(無題)
2006年01月25日 (水) 03時05分
管理人
久しぶりにスパム投稿されちゃいましたね。
これはどう対処すべきか・・・
(無題)
2005年08月24日 (水) 21時12分
うり
>エラーメッセージなんかは出ないんでしょうか。
1度動いた後、何も触らずに再度実行するとsyntaxerrorが出たりします。

8はスクリプトウインドウにプロポーショナルフォントを使っているのでしょう、スペースがあるのか無いのか判別しづらいですね。
仕方がないのでテキストエディタからコビーしてますが、その辺マズいのでしょうか・・・。

Re[332][331][330]: 公式サイト消えた?
2006年08月29日 (火) 18時25分
ug
メールでの問い合わせ来ました
メンテだったそうです・・・orz
Re[331][330]: 公式サイト消えた?
2006年08月28日 (月) 19時36分
管理人
なんだったんでしょうね。
見れなかったのは、ラウンジ関係だけだったようですが。
説明ないし・・・
Re[330]: 公式サイト消えた?
2006年08月28日 (月) 14時33分
ug
やっと表示されて
みれました

なんでみれなかったんだろう^^;
公式サイト消えた?
2006年08月28日 (月) 11時58分
ug
公式サイト見れないんですけど^^;
私だけでしょうか?
キリ番
2006年07月21日 (金) 00時11分
うり
Web検索128件ですか。
コンピュータ使ってると、128とかがキリ番に見えて仕方ないですね。
256円のお釣りでニヤリとしたり(笑

昨日からPythonでルートパートの選択をしようとして悩んでました。
名前はユーザーが付けたものでないと不可。
序数の指定は・・・え〜っと・・・。
そして今日、単なる「全選択」でいいじゃん!と言うことに気が付きました。
バカバカ、わしのバカ(苦笑

そんなわけで、基本形状作成スクリプトPython版に万が一のバグの際、
他の形状に影響が出ないように「ルートパートに形状を作成」できるようにしました。
Re[327]: 無題だと
2006年06月28日 (水) 20時09分
管理人
> 英字拒否しても無題だと(無題)と自動入力されちゃうから通ってしまうみたいですね。
久しぶりに投稿されてしまいましたね。
しかし、無題でも本文が英文のみだと拒否するはずなんですが・・・
httpが4個以上入ってたら拒否するというのも付け加えようかな。

> しかし、このリンクの量・・・。
> 正直笑ってしまいました(苦笑
こんなんが1日10件も来てるんですよね(^^
無題だと
2006年06月28日 (水) 19時39分
うり
英字拒否しても無題だと(無題)と自動入力されちゃうから通ってしまうみたいですね。
しかし、このリンクの量・・・。
正直笑ってしまいました(苦笑
CGI名変更
2006年03月04日 (土) 23時55分
管理人
いっこうにスパム投稿が減らないので、この掲示板もCGIファイル名を変更しました。
サイト内のリンク先はすべてチェックしたつもりですが、もしリンク切れなどあれば
お知らせいただけるとありがたいです。

ちなみに今年に入ってから投稿拒否したスパムは770件・・・(^^;;
ついに〜8.5!
2006年02月07日 (火) 18時05分
うり
次のアップデータを心待ちにしていた今日この頃、ついに8.5が2月20日から公開らしいです。
機能追加とかは嬉しいんだけど、どれくらいバグが取れてるのかな?(苦笑
ポリゴン関係のバグ取りや、画面更新速度が改善されているとうれしいですね。
Re[322]: うちは
2006年01月30日 (月) 20時20分
管理人
> 名前かえてから1ヶ月、まるっきりスパム無くなりました。
それは何よりでした。
うちは頑固にファイル名変えないものだから、まだぽつぽつ来てますが
ピーク時は1日20件以上あったのが数件にまで減りました。
うちは
2006年01月29日 (日) 11時47分
でった☆
名前かえてから1ヶ月、まるっきりスパム無くなりました。
感謝感謝です。
スパムあるとえらいことげんなりしますから。
Re[319][318][317][316][315]: スパム投稿
2005年12月29日 (木) 02時58分
管理人
> 初心者でも簡単に出来る対策としてはこれですかね。
結局のところ、ファイル名変更が最も簡単で、最も効果的な方法かもしれません。

かと思うと、私の個人ページの掲示板は、オリジナルファイル名のままで、何の対策もしてないのに、ほとんどスパム投稿はないですよね。普通の投稿もないんですが(^^;;
Re[318][317][316][315]: スパム投稿
2005年12月28日 (水) 21時51分
うり
見えないところでかなりのスパム投稿があったんですね。
私も以前ココと同じ作者の掲示板を使わせてもらってたんですが、複数設置するときにファイル名を変えてたのが幸いしたのか、スパム投稿はほとんど無かったです。
初心者でも簡単に出来る対策としてはこれですかね。

今は友人に作ってもらった掲示板にしてます。
そいつをShadeに引っ張り込んで、プラグイン作ってもらおうという目論みは失敗しましたが(笑
Re[317][316][315]: スパム投稿
2005年12月28日 (水) 03時35分
管理人
> おお、これは大変有益な情報を。ありがとうございます。
でった☆さん、こんばんは。そういって頂けるとうれしいです。
ちょっと追加しました。<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?page=%B7%C7%BC%A8%C8%C4%CC%C2%CF%C7%C5%EA%B9%C6%C2%D0%BA%F6#p7" target="_top">参考ページ</a>
Re[316][315]: スパム投稿
2005年12月27日 (火) 18時09分
でった☆
おお、これは大変有益な情報を。ありがとうございます。
Re[315]: スパム投稿
2005年12月27日 (火) 02時08分
管理人
ひと月近く投稿がないこの掲示板ですが、実はこの間40件ものスパムが投稿されてます(^^;;
さいわいすべてブロックできていますが、最近急激に増えてきているので、その内訳をまとめてみました。

リンク元が他のサイトになっていたので、投稿拒否したのが2件
リンク元を隠していたので拒否したのが9件
投稿フォームからの隠しデータを送らなかったので、他サイトからの投稿と見なして拒否したのが22件
コメントに日本語が含まれていなかったので拒否したのが5件
禁止ワードチェックにひっかかったのが2件

さらに詳しく別ページにまとめましたので、ウチも迷惑投稿に悩まされているという方に
参考にしていただければ幸いです。<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?page=%B7%C7%BC%A8%C8%C4%CC%C2%CF%C7%C5%EA%B9%C6%C2%D0%BA%F6" target="_top">参考ページ</a>
スパム投稿
2005年11月29日 (火) 19時30分
管理人
・・・ということで、英文投稿対策を施しました。
英文のみの書き込みブロックはjcode.plを使うと意外と簡単でした。
さっそくツール別掲示板の方にひっかかりました。

ツール別掲示板に意外とスパム投稿が多かったのですが、
ディレクトリ名含めてオリジナルのままにしておいたのが狙われやすかった原因かもしれません。
掲示板のプロテクトをかいくぐってスパム投稿するツールなども出回っているようで、いたちごっこは続くのかもしれませんね(^^;;
Re[313][312][311]: びっくりした
2005年11月29日 (火) 02時44分
管理人
> スパムが多くなると「ポピュラーなサイトの証拠だな〜」などと思ってしまいますが、
> 管理人さんはたまったもんじゃないですね(苦笑
> 上手いこと拒否できるシステムがあればいいですが・・・。
> いたちごっこですもんね。
日本語の方は、いちおうIPアドレスと禁止ワードではじけているケースもあるようなんですが、
英語しかも本文がURLだけというような場合だと対応が難しいようです。
・・・ん。すると、日本語が含まれていない書き込みをブロックすればいいのか。
幸い今のところ海外のShadeユーザーからの書き込みはないようだし。
あまり、チェックを増やして書き込み処理が重くなっても困るんですが。
Re[312][311]: びっくりした
2005年11月28日 (月) 23時28分
うり
新レイアウトは利便性が上がってますよ。

> ところでこの掲示板、最近外国語のスパム投稿が多くて手を焼いてます。
> 日本語の漢方系の宣伝にも困ったものですが・・・

スパムが多くなると「ポピュラーなサイトの証拠だな〜」などと思ってしまいますが、
管理人さんはたまったもんじゃないですね(苦笑
上手いこと拒否できるシステムがあればいいですが・・・。
いたちごっこですもんね。
Re[311]: びっくりした
2005年11月28日 (月) 22時50分
管理人
> ShadeWeb検索かっこよくなってますね。
> 一瞬、知らないところに飛ばされたかと思いました(笑
ありがとうございます。
検索条件変更して再検索するのにいちいち検索フォームに戻らなくていいように改造しました。
プラグイン・スクリプト検索の方も要改造なんですが、こっちはまだ手つかずです。

ところでこの掲示板、最近外国語のスパム投稿が多くて手を焼いてます。
日本語の漢方系の宣伝にも困ったものですが・・・
びっくりした
2005年11月28日 (月) 21時12分
うり
ShadeWeb検索かっこよくなってますね。
一瞬、知らないところに飛ばされたかと思いました(笑
Re[309][308][307]: HP公開のご連絡
2005年10月24日 (月) 18時31分
管理人
先ほどテストしてみたら、今は登録できるようです。
確かに若干反応が遅いような気はしますが。

他の処理はそんなに重いという感じはしないので、
登録の処理に問題があるのかもしれませんね。ちょっと調べてみます。
Re[308][307]: HP公開のご連絡
2005年10月24日 (月) 16時43分
まさ
まさです。
> よろしかったらShade Web検索の方へも登録をお願いします。
> <a href="http://www2u.biglobe.ne.jp/~k_hiray/sws/search.cgi" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/sws/search.cgi</a>
>
早速登録しようとしましたが、登録ボタンを押しても反応が無いです。
どうも登録自体もされてないようです。
Re[307]: HP公開のご連絡
2005年10月24日 (月) 16時18分
管理人
まささん、HP公開おめでとうございます。
「Shadeへの要望」が興味深いです。

よろしかったらShade Web検索の方へも登録をお願いします。
<a href="http://www2u.biglobe.ne.jp/~k_hiray/sws/search.cgi" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/sws/search.cgi</a>

今後ともよろしく願います。
HP公開のご連絡
2005年10月24日 (月) 15時08分
まさ
まさです。plugin公開ではお世話になってます。
さて、この度何とかホームページ公開にこぎつけました。
まだまだ、プラグインのダウンロードサイトオンリーの様相ですが、
ご連絡します。
ホームページアドレスは、下記のとおりです。
<a href="http://www1.bbiq.jp/hp_masa/index.html" target=_top>http://www1.bbiq.jp/hp_masa/index.html</a>
これからは、ホームページからのダウンロードに切り替えていきます。
今後ともよろしく願います。
Re[305][304]: SDK
2005年10月23日 (日) 02時41分
管理人
Shadeバージョン間の互換性を考えると結構面倒な部分がありますね。
新機能を使うと1行で書けても、旧バージョンで使うことを考えると、
旧バージョンでの処理も書いておかなければならない。
新機能を使わないと実現できないことだと、これはShadeバージョンいくつ以降しか
使えませんって事にできるんですけどね。

もちろん、基本的にSDKが充実するのは歓迎すべき事だと思いますが。
Re[304]: SDK
2005年10月20日 (木) 20時43分
まさ
> 8用が公開されてますね。
> <a href="http://shade.e-frontier.co.jp/download/dev_8sdk.html" target=_top>http://shade.e-frontier.co.jp/download/dev_8sdk.html</a>
一応ダウンロードして眺めて見ました。やっつけで作った7用にに比べて、ドキュメントは自動ツールを使ったようで、どじなミスなんかは無いみたいですね。でも、ますます
わかる人は何とか分かるが、初めての人には何が何やらさっぱりのドキュメントになりつつありますね。
一番の違いは、uuidを使うことでディベロッパIDは要らなくなったことと、boost ライブラリを標準で使えるようになった(これは、これでそれは別に調べなくちゃいけないですが。)ことと、xsulとかいう記述でいくつかの設定をソースでなくパラメータとして与えられるようになった点ですか。
ドキュメントに変更項目が書かれていますが、それを信用するとそれ以外に機能追加になるメンバー関数は殆ど追加されてないと見えたんですが、ソースを比較すると、
おやおやずいぶん追加されてますね。でも、今すぐこれを使って開発する気には・・・
だって、そうするとプラグインは8でしか動かないのになりますから。
もう少し、読んで8ならではのプラグインのテーマが思いついたら使い出そうと思います。
SDK
2005年10月19日 (水) 22時05分
Jun
8用が公開されてますね。
<a href="http://shade.e-frontier.co.jp/download/dev_8sdk.html" target=_top>http://shade.e-frontier.co.jp/download/dev_8sdk.html</a>
Re[302][301][299]: 形状名のインデックス
2005年09月20日 (火) 01時17分
管理人
> ところで、もしもcreate_partでfalseが返されたとき、とは、
> 球やポリゴン等、中に形状を内包できないものを選択したときを指す、と考えて宜しいのでしょうか。
パートや自由曲面パート以外を選択していても、パートを作ることはできるので、
自由曲面中の線形状を選択していた場合のようなケースを想定していたのかなと思いましたが、
今試してみるとその場合でもパートは作れるみたいですね。
うーん、何考えてたのかな・・・
このあたりは目的にあわせて書き換えた方がいいかもしれませんね。
パート以外の形状をリストに追加するかしないかは
オブジェクトタイプで処理を振り分けるのがいいと思います。

それと、序数については
<a href="http://www2u.biglobe.ne.jp/~k_hiray/tcl_lec/index.htm" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/tcl_lec/index.htm</a>
の方にも「序数を使う 」という項目で書いていました。
再帰法についてもサンプルコードを書いていますので、参考にしていただければ幸いです。

> 平山様のスクリプトの開始時と終了時にinhibit_updateと、allow_updateを実行すると、
> 画面表示の必要がなくなるため、更なる高速化が可能だと思います。
本当に劇的に高速化されますよね。リファレンスの方はIDのリストを得るプロシージャだけを紹介しているのですが、公開しているスクリプトの方では、スクリプト本体の方にinhibit_update 使っているケースが多いです。
Re[301][299]: 形状名のインデックス
2005年09月19日 (月) 22時54分
Jun
> Tclですが、似たようなケースとして
> <a href="http://www2u.biglobe.ne.jp/" target=_top>http://www2u.biglobe.ne.jp/</a>〜k_hiray/ps_db/manage/developer/hirayama/html.cgi
> こちらで選択されているパートやジョイントに含まれる全てのIDをリストとして取り出す方法を紹介しています。
> キーワード「パート内にあるすべての形状」で検索してもらったらいいと思います。
ありがとうございます。

マニュアルを拝見して、AppleScriptに書き換えたところ、思っていた作業ができるようになりました。
前に、やっていた方法よりも2〜3倍高速で、非常に感謝しています。
本当にありがとうございます。

ところで、もしもcreate_partでfalseが返されたとき、とは、
球やポリゴン等、中に形状を内包できないものを選択したときを指す、と考えて宜しいのでしょうか。

それから、教えていただいた身でなんなのですが、
平山様のスクリプトの開始時と終了時にinhibit_updateと、allow_updateを実行すると、
画面表示の必要がなくなるため、更なる高速化が可能だと思います。

これで、ブラウザに形状名での検索機能が実装できます
(形状名での検索とは、Shadeが開いていないときでも、作成しておいたインデックスを読み込んで検索することです)。
本当に平山様のお陰です。
Re[299]: 形状名のインデックス
2005年09月19日 (月) 22時25分
管理人
Tclですが、似たようなケースとして
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/manage/developer/hirayama/html.cgi" target=_top>http://www2u.biglobe.ne.jp/~k_hiray/ps_db/manage/developer/hirayama/html.cgi</a>
こちらで選択されているパートやジョイントに含まれる全てのIDをリストとして取り出す方法を紹介しています。
キーワード「パート内にあるすべての形状」で検索してもらったらいいと思います。

この手の処理は、序数が使えるようになって、再帰的にやらなくても済むようになったので楽になりました。
Re[299]: 形状名のインデックス
2005年09月19日 (月) 22時20分
Jun
自己レスです。
今のところ、こんな感じです。

global names_
global hierarchy_
global needsMore_

set hierarchy_ to 0
set names_ to {}

tell application "Shade 6 professional"
    set names_ to names_ & (get object name)
    set needsMore_ to true
    my scanChildren__()
end tell
return names_

on scanChildren__()
    if needsMore_ = false then return
    tell application "Shade 6 professional"
        if (object type) = (part object) then
            select child
            set hierarchy_ to hierarchy_ + 1
            repeat
                set names_ to names_ & (get object name)
                my scanChildren__()
                set selectable_ to select brother
                if selectable_ = false then exit repeat
            end repeat
            select parent 1
            set hierarchy_ to hierarchy_ - 1
            set selectable_ to select brother
            if selectable_ = false then
                if hierarchy_ > 0 then
                    select parent 1
                    select brother 1
                    my scanChildren__()
                else
                    set needsMore_ to false
                    return
                end if
            end if
        end if
    end tell
end scanChildren__

ちなみに、文字列のうち最後にアンダーバーが1本ついているのは変数で、2本ついているのは自己定義した関数です。

このスクリプトを実行したのですが、パート内の最後の形状で、どうしても無限ループに入ってしまいます。その対処もしたつもりなのですが、何か解決法はありませんか?
もともと、関数scanChildren__から関数scanChildren__を呼び出す、という拙い構文が意地悪をしている感じがするのですが。

よろしくお願いいたします。
形状名のインデックス
2005年09月19日 (月) 17時58分
Jun
いつもお世話になっています。Shade Web検索の開設おめでとうございます。

質問なのですが、Shadeで選択されているパートやジョイントに含まれる全ての形状名をリストとして取り出すには、
どのようにしたらよろしいのでしょうか。

パートの子階層にある形状がまたパートだったりするので、どこまでスキャンしてよいか分かりません。
さらに、
select childが可能な間、ずっと実行して、その回数をカウントして...とやっていくと、
速度が極端に遅くなります。

なにか、解決法をご存知の方は、アドアイスをお願いいたします。
ちなみに、言語はAppleScriptなのですが、TclやPythonでも読み替えができますので、
可能ならサンプルを載せていただけるとありがたいです。
次期アップデータ
2005年09月01日 (木) 20時46分
うり
Shade8の次期アップデータが、9月の中頃以降に公開らしいですね。
楽しみです。
Re[296]: スクリプトウインドウ
2005年08月28日 (日) 00時01分
うり
> 肉眼では確認できないので、虫眼鏡で見てみたら、
やっぱりこれはないですよね(苦笑
8でアンチエイリアスのかかったメニューの文字も、コントラストが低くなった感じで読みづらいですし。
フォントの指定とか、使う側にも選択の余地は残しておいてもらいたいですね。

余談ですが、ビデオがParheriaではどうにもならなくなったのでRADEONにしたのですが、最近のハードってすごいですね。設定に幾分手間取りましたが、目の覚めるような快適さになりました。
それで確認できたのが、Shade8には速度的にまだまだ改善の余地があるであろうという事でした。
次のアップデータが楽しみです(苦笑
スクリプトウインドウ
2005年08月25日 (木) 01時04分
管理人
> 1度動いた後、何も触らずに再度実行するとsyntaxerrorが出たりします。
一度動いたあとにsyntaxerrorですか。どうなってるんでしょうね。

> 8はスクリプトウインドウにプロポーショナルフォントを使っているのでしょう、スペースがあるのか無いのか判別しづらいですね。
> 仕方がないのでテキストエディタからコビーしてますが、その辺マズいのでしょうか・・・。
肉眼では確認できないので、虫眼鏡で見てみたら、
確かにスペース入れていても、ちゃんと表示されるところやつぶれてしまってるところがありますね。
いすれにしても、フォントが小さすぎて直接書き込むのは難しそうなので、テキストエディタからコピペするしかないと思うのですが、それがマズいといわれると困りますね。
Re[293]: 皆さんの所はどうですか?
2005年08月24日 (水) 16時58分
管理人
> スクリプト作成中の動作確認をしていると、同じソースでも動いたり動かなかったりというようなことがよくあるのですが、皆さんの所ではどんなかんじでしょう?

エラーメッセージなんかは出ないんでしょうか。

私の場合は、動かないなと思ってたら、実はOpenGLのバグがらみで画面更新がフリーズしていたということがありましたけど。

Shade onlineフォーラムで画面表示の切り替えに時間がかかるという話が出ていましたが、うちの場合もすごく時間がかかる場合と、比較的すっと切り替わる場合があります。
皆さんの所はどうですか?
2005年08月23日 (火) 11時48分
うり
スクリプト作成中の動作確認をしていると、同じソースでも動いたり動かなかったりというようなことがよくあるのですが、皆さんの所ではどんなかんじでしょう?
変だと思ったら再起動してみたりするのですが、8になると起動が遅いので面倒で面倒で(苦笑
ツール別掲示板修正
2005年08月22日 (月) 19時44分
管理人
ツール別掲示板で、ツールのShade対応バージョンが正しく表示されていなかったのを修正しました。
Re[288][287][283][282][280][278][277]:立体視
2005年08月01日 (月) 19時55分
管理人
> そうですか。では、出来次第公開させていただきます。もちろん、コンセプトは平山様が既にお考えになていたことは、明記させていただきます。
コンセプトというほどのものでもないので、、それも必要ないですよ。

>まあ、枚数は同じ絵を補間することでできそうですが、フイルム走行が横で大きさが倍‥(^^;;
そういえば、フィルム見せてもらったことがあるんですが、でかいですね。やっぱり大画面をきれいに映すには、それなりの情報量が必要って事でしょうね。

マトリックスのIMAX版というのは、やはりアップコンしてるんですかね。解像度だけでなく、画面の縦横比の問題もありそうですが。
Re[288][287][283][282][280][278][277]:立体視
2005年07月28日 (木) 22時31分
宮田
to うり さん
>方向性が違いますが、プラネタリウムの天球を利用して上映される映画も、
>口を押さえて退席する人が出るくらいの迫力がありますよ。

IMAXDOME(OMNIMAX)がそうですね。
技術的には平面投影より格段に難易度が高いようです。

to 管理人 さん
> 商業映画もどこかIMAXで公開しないですかね。

画像変換が大変でしょうね。
IMAXの映写システムって通常映画とまったく異なるようです。
映写枚数、フイルム方向など全て異なるため、従来のシステムやフイルムが使えないんです。
まあ、枚数は同じ絵を補間することでできそうですが、フイルム走行が横で大きさが倍‥(^^;;

to Jun さん
>IMAX用は無理でも、比較的大型のテレビやプロジェクターに投影する程度なら、レンダリングできそうです。

確か何社からか立体液晶モニタが出ていたと思います。
多分レンチキュラスクリーンと言う方式(昔の傾けると絵が変わるシールと同じ原理)だと
思いますけど、これが安価に普及すれば立体映像も身近なものになるでしょうね。
映像創る方は大変ですけど(^^;
Re[289][288][287][283][282][280][278][277]:立体視
2005年07月29日 (金) 13時01分
Jun
> to 管理人 さん
> > 商業映画もどこかIMAXで公開しないですかね。
>
> 画像変換が大変でしょうね。
> IMAXの映写システムって通常映画とまったく異なるようです。
> 映写枚数、フイルム方向など全て異なるため、従来のシステムやフイルムが使えないんです。
> まあ、枚数は同じ絵を補間することでできそうですが、フイルム走行が横で大きさが倍‥(^^;;
マトリックスのときは、解像度が悪いとか、フレーム数が変だとは感じませんでした。
やはり、IMAX版を作るのには、相当の努力が必要なんですね。

> to Jun さん
> >IMAX用は無理でも、比較的大型のテレビやプロジェクターに投影する程度なら、レンダリングできそうです。
>
> 確か何社からか立体液晶モニタが出ていたと思います。
> 多分レンチキュラスクリーンと言う方式(昔の傾けると絵が変わるシールと同じ原理)だと
> 思いますけど、これが安価に普及すれば立体映像も身近なものになるでしょうね。
> 映像創る方は大変ですけど(^^;
関係ないかもしれませが、最近、右から見たらWinXP、左から見たらハイビジョン放送が見られる、薄型テレビが発表になりましたね。あの原理で立体も作れるのでしょうか。

なんだか話がすごくなってきていますが、私にのツールはそんな機能はありません。
公開しようとしているツールは、原始的に画像を並べるだけですから。
もっとかっこいいことが出来ればいいのですが。
Re[287][283][282][280][278][277]:立体視
2005年07月28日 (木) 21時53分
Jun
平山様
> >なんだか、ここで私が公開すると、せっかく平山様が先に書かれたのに、それを横取りする感じになってしまうので、
> >びっくりするような新機能を追加しない限り、公開は自粛した方がいいですね。
> いやー、とんでもないです。是非公開してください。同様の機能のツールがいろいろあってもいいと思うし、
> 私のはあくまでオブジェクトカメラがメインで、立体視やブラーはおまけみたいなものでしたので。
そうですか。では、出来次第公開させていただきます。もちろん、コンセプトは平山様が既にお考えになていたことは、明記させていただきます。


> 商業映画もどこかIMAXで公開しないですかね。
> スターウォーズとかいいと思うんですけどね。
去年か、一昨年、"Matrix"の第二巻が南港で公開されました。もちろん、立体ではありませんでしたが、それなりの迫力はありました。DVDで見るのとは全然違うと思います。
Shadeでも、いいマシンさえあれば、IMAX用は無理でも、比較的大型のテレビやプロジェクターに投影する程度なら、レンダリングできそうです。
Re[283][282][280][278][277]:立体視
2005年07月28日 (木) 19時36分
管理人
>しかし、このページで検索してみましたが、それらしいものは見つかりませんでした。公開を中止されたのですか?
R5でオブジェクトカメラがShade本体に搭載されたので、公開終了してました。

>なんだか、ここで私が公開すると、せっかく平山様が先に書かれたのに、それを横取りする感じになってしまうので、
>びっくりするような新機能を追加しない限り、公開は自粛した方がいいですね。
いやー、とんでもないです。是非公開してください。同様の機能のツールがいろいろあってもいいと思うし、
私のはあくまでオブジェクトカメラがメインで、立体視やブラーはおまけみたいなものでしたので。

>IMAX
やっぱり視野のほとんどをスクリーンが占めると臨場感ありますよね。
商業映画もどこかIMAXで公開しないですかね。
スターウォーズとかいいと思うんですけどね。
Re[285][284][283][282][280][278][277]:立体視
2005年07月28日 (木) 18時26分
Jun
うり様
> それは私も見てみたいものですね〜。
> 機会があれば是非。
IMAXは、首都圏なら品川にあるみたいで、関西地区は南港の天保山、また、軽井沢にもあるようです。
愛地球博の日本館には、立体かどうかは知りませんが、360度見渡せるスクリーンがあるそうです。

宮田様
> >それを独自フォーマットで書き出し、そのまま独自ビューアで読み込み、ちょうどいい位置に二つの画像を並べ、立体視を手軽に楽しめるようにすることです。
>
> これができれば楽かもしれないですね。
> 私は双方を連番で書き出し、対応する画像を2枚並べて1枚にした後動画にしていたので、枚数が多い場合はちょっと躊躇していました。
aviやmovファイルに変換するのは難しそうですが、独自ビューアなら何でも出来るので、個人用くらいのものは出来そうです。
Macの場合、先に拡張子を宣言しておいたら、フォルダ内に2つ画像を入れて、フォルダの拡張子を宣言したものに変更すると、それはファイルとして扱われるようになります。
そして、ソース内からパスを指定して、画像を二つのビューに読み込めば、簡易ビューアの出来上がりです。
今作っている、レンダリング画像を見ながら.shdファイルをブラウズしてくれるツールも、同じような方法で画像を保管したり取り出したりしています。
実は、Macのアプリケーションは全てフォルダ形式なんです。
これだとファイルサイズが大きくなるのが欠点ですが、ほかに方法が思いつかないので。
現行スレッド
過去ログ
[1]
[2]
[3]
投稿順に表示
スレッドごとに表示