●●●●TCL/TKなら俺に聞け 2●●●●
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/05/01(火) 14:52:44プロジェクト本拠地
http://tcl.sourceforge.net/
最新版ソースコード
ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/
The Tcler's Wiki
http://wiki.tcl.tk/
The comp.lang.tcl Newsgroup
http://groups.google.com/group/comp.lang.tcl/
ActiveTcl
http://www.activestate.com/products/activetcl/
【日本語サイト】
もっとTcl/Tk
http://www.interq.or.jp/japan/s-imai/tcltk/
Tcl/Tk Scripting Laboratory
http://www.geocities.jp/urano343/tcltk.html
Tcl/Tk Primer
http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/
Tcl 8.4.1 Manual Command Reference
http://www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm
CategoryTclTk - mynote
http://reddog.s35.xrea.com/wiki/CategoryTclTk.html
【前スレ】
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
0320316
2008/08/14(木) 09:50:55fileeventがまさに探していた機能です
サンクスコ
>>319
それは考えたけど、一度発行したgetsを取り消す術がないからダメポ
0321デフォルトの名無しさん
2008/08/24(日) 00:56:41のlsearchとかlreplaceとかで、ネストタグの抽出が簡単にできるのが良い。
perlより全然良い。日本語が問題なく使えるのが良い。簡単GUIも良い。
foreachの中のregexpが速ければもっと良い。なかなか最適化ができない。
0322デフォルトの名無しさん
2008/08/24(日) 01:10:160323デフォルトの名無しさん
2008/08/24(日) 02:59:06TclはJITに対応してるという記述がちらほら(wiki.tcl.tk含む)で見かけたので
ソースコードを調べたら、スクリプトを内部表現に書き換えるコンパイラはあっても
CPUのニーモニックに直接変換してる実装部分は見当たらなかった。
インタプリタ自体がやってることはそれほど複雑ではないので(ほとんどがコマンド自体の実装)
誰か実装してくれればいいなとは思うが、
googleのannualのフォーラムでの議題には特にあがっていないようだ。
0324デフォルトの名無しさん
2008/08/24(日) 09:13:12そもそも
コマンド 引数 引数 ...
しかなくて、構文などというものもない簡易言語に期待しすぎでしょ。
0325デフォルトの名無しさん
2008/08/24(日) 22:12:31それはさておきTclでバイトコードコンパイルしてるってのだけで驚異的じゃない?
Tclって意味論的には素直に考えるとevalに満ち溢れたような代物でしょ。
0326デフォルトの名無しさん
2008/08/25(月) 00:18:54処理速度を要求される部分はCで作った方がいいでしょ、マジで。
0327デフォルトの名無しさん
2008/08/25(月) 01:11:39それはTclのシンタクスとは直接の関係はないし、Tclが簡易言語とも思わないけど。
0328デフォルトの名無しさん
2008/08/26(火) 00:03:21Enter押すまで入力待ちになってしまいます。
機種依存が必要であればlinuxでお願いします。
proc getch {} {
return [read stdin -nonewline]
}
目的は簡易lessコマンド作成です。
0329デフォルトの名無しさん
2008/08/26(火) 00:10:49tclはねぇ、ローカルスコープ切れないからちょっとプロシージャが長くなると変数がゴッチャになるのよ。
長いもの書くには向かないと思うがね。
0330デフォルトの名無しさん
2008/08/26(火) 00:44:05最新版はついに起動できなくなったwww
動的に拡張を読み込めるのがTclの利点なのに、一つの実行形式に使わない拡張までまとめないで欲しい・・・
0331デフォルトの名無しさん
2008/08/26(火) 01:37:04Tclなめんな!
proc block {body} {
eval $body
}
set x 100
set y 1000
block {
set x 200
upvar y y
puts "value is $x $y"; # value is 200 1000
}
puts "value is $x $y"; # value is 100 1000
0332デフォルトの名無しさん
2008/08/26(火) 01:41:54http://wiki.tcl.tk/14693
まあこれを読め
http://tcllib.sourceforge.net/doc/receive.html
そして次はこれだ
0333デフォルトの名無しさん
2008/08/26(火) 03:33:43ありがとうございます。
解決しました!
0334デフォルトの名無しさん
2008/08/26(火) 17:03:54blockがたくさんネストしたらどこまでupvarしたらいいかわかんなくなっちゃうね。
0335デフォルトの名無しさん
2008/09/08(月) 13:49:03encoding systemがwindowsではcp932, Linuxではutf-8となっていて、
スクリプトを書くさいにそれぞれの文字コードで保存せねばなりません。
(string bytelengthはいずれの環境も一緒になるので内部ではutf-8のようですが)
ですので、windowsで作ったスクリプトをそのままLinuxに持っていくと文字化けしてしまい困っております。
encoding systemをcp932やutf-8に強制的にセットしたところで上手く動きません
(windowsでencoding system utf-8にし、スクリプトをutf-8で保存しても文字化け、等)
encoding systemの異なる環境間で同一スクリプトで動かす手立てはないものですかね。
0336デフォルトの名無しさん
2008/09/08(月) 20:35:030337デフォルトの名無しさん
2008/09/10(水) 03:14:41もし8.5を使ってるんだったら、、sourceやtclshやwishに-encodingオプションが付いたから、
スクリプトはcp932で書いておいて、最初の3行を
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh -encoding cp932 "$0" "$@"
にすることで、できたりしませんか?
逆に、スクリプトはutf-8で書いておいて、
windowsの関連付けの方で、wishに -encoding utf-8を付けるという手もあるかも。
試せないので、無責任に書きっぱなしですいません。
ところで、スクリプトをwindowsからLinuxへ持っていくときに
nkf通して変換というのじゃ駄目なんでしょうか。
0338デフォルトの名無しさん
2008/09/10(水) 07:12:11shift-jisで書いておいて
#!/bin/sh
# \
LANG=ja_JP.SJIS; export LANG; # \
exec tclsh "$0" "$@"
で動くかもしれないし、動かないかもしれない。
0339335
2008/09/10(水) 10:06:33よくわかりません。
>>337
8.4使っているのですいません。
(ActiveTclの拡張が8.5では少なすぎるので)
Linux側で修正したりwindows側で修正したりしたのを日付で同期してるのでnkfやiconvは使いにくいですね。
>>338
凄いぜ。
putsでターミナルに出力する文字は化ける(konsoleのモードがutfだからしかたない)が、
widgetに出力する文字はきちんと出たよ〜。
0340デフォルトの名無しさん
2008/09/10(水) 20:07:26puts \u0055\u0069\u0063\u006f\u0064\u0065\u30ea\u30c6\u30e9\u30eb\u304f\u3089\u3044\u3050\u3050\u308c
それはさすがに嫌杉でしょw
0342デフォルトの名無しさん
2008/09/10(水) 23:21:08putsは fconfigure stdout -encoding utf8 とかで化けなくなると思う。
でも、そこまで文字コード意識するならWindows<->Linuxでコピーする時に変換するほうが良いんじゃないの?
最近ActiveTcl8.5.4に乗り換えたけど一見拡張が入っていないように見えて、実は Tcl\lib\teapot\package\ 以下に
入っているように思った。
0343デフォルトの名無しさん
2008/09/11(木) 21:48:49この技はおぼえておけ。かならず役に立つときが来る。
0344デフォルトの名無しさん
2008/09/12(金) 22:20:20>>342
ActiveTcl8.5.x のインストーラの最初の画面で、
8.5は8.4とほとんど互換性があるから、
teacupを使うか8.4に上書きインストールしたら
たくさんのパッケージが手に入る。
というようなことが書いてました。
まだ8.5に乗り換える気はないんで、それだけ見てキャンセルしたけど。
0345デフォルトの名無しさん
2008/09/17(水) 02:39:50>>334
見つかるまでさかのぼるupvarを書いてみました。
upvarが上位の変数名とローカル変数名を並べて書くのに対し、
上位の変数名だけ並べて書いて同じ名前でリンクするようにしてます。
proc upvar2 {args} {
set leveldepth [info level]
foreach varname $args {
for {set varlevel 2} {$varlevel <= $leveldepth} {incr varlevel} {
if {[uplevel $varlevel info exists $varname]} {
incr varlevel -1
uplevel 1 upvar $varlevel $varname $varname
break
}
}
}
}
0346デフォルトの名無しさん
2008/09/19(金) 21:57:20image photoって、-paletteで色数制限しても内部はフルカラーメモリ展開するのね。
やっぱ、WMで使うには富豪過ぎるか、Tclはorz
0347デフォルトの名無しさん
2008/10/16(木) 04:52:510348デフォルトの名無しさん
2008/10/27(月) 13:15:30どういう状況なのでしょうか?ご存知でしたら教えてください。
0349デフォルトの名無しさん
2008/10/27(月) 15:39:46スネーク。状況をもう一度よく確認するんだ。
Tcl → バージョンが上がらない
Firefox → バージョンあがりまくり
放っておかれたアドオン(plugin)はどうなる?
0350デフォルトの名無しさん
2008/10/28(火) 07:20:41了解
メインバージョンが上がらないと更新されない訳ですね。
0351デフォルトの名無しさん
2008/10/31(金) 16:09:38っかZETってソフトのちょい変だけど。
ttp://carnageez.web.fc2.com/catdir/cat.html
0352デフォルトの名無しさん
2008/10/31(金) 22:10:520353デフォルトの名無しさん
2008/11/01(土) 05:18:31名前空間って何?( ゚д゚)ポカーン
0354デフォルトの名無しさん
2008/11/01(土) 05:45:22http://www.tcl.tk/man/tcl8.3/TclCmd/namespace.htm
0355デフォルトの名無しさん
2008/11/01(土) 07:09:06ありがと。
へえーーなんちゃってオブジェクト化って感じなんだね。
0356デフォルトの名無しさん
2008/11/01(土) 09:51:35なんか入門的な情報ない?
0357デフォルトの名無しさん
2008/11/01(土) 16:24:05for e $lis { something $e }
とかやらずに、$lisに直接何かを作用して写像を得たり、
フィルタリングできるの?
0358デフォルトの名無しさん
2008/11/01(土) 22:49:17tclのproc関数の出力をtkのテキストに書き出すにはどのようにすれば
いいのでしょうか?
いまいちtclとtkの連携方法がわからず困っています。
0359デフォルトの名無しさん
2008/11/02(日) 02:01:41set str "hogehoge"
f_text_update $str
proc f_text_update {win str}
if {![winfo exists $win]} {
text $win
grid $win -column 0 -row 0
}
$win delete 0.0 end
$win insert end $str
}
0360デフォルトの名無しさん
2008/11/02(日) 02:12:55f_text_update [f_proc_func]
proc f_proc_func {} {
return "hogehoge"
}
これでどうだ
0361デフォルトの名無しさん
2008/11/02(日) 06:25:56ありがとうございます。
試してみます!!
0362デフォルトの名無しさん
2008/11/05(水) 11:35:53この記事は読んだ?
http://wiki.tcl.tk/4884
0363デフォルトの名無しさん
2008/11/05(水) 23:30:13みたいなことをやろうとして、
apply {{x} {return [apply {{y} {return x}} 2]}} 3
てやっても
x
が返ってくる。
で、
apply {{x} {return [set [apply {{y} {return x}} 2]]}} 3
ってやれば3が帰ってくるが、setを使っている時点で2回目のapplyの戻り値が変数名であることを前提にしていて気持ち悪い。
0364デフォルトの名無しさん
2008/11/08(土) 14:38:540365デフォルトの名無しさん
2008/11/10(月) 23:01:54こりゃーいったい何をやろうとしとんじゃ?return xで
文字列のxが返るのはあたりまえじゃないか
0366デフォルトの名無しさん
2008/11/11(火) 14:14:10単に$のつけ忘れじゃ?
ついでに質問。
{}内の変数は置換されないよね?
そうすると、applyの引数にとる関数にはその引数で宣言した変数しか出てこれない。
これだと、例えば「xを引数にとって、『引数yをとって、yとxとの和を求める関数』を返す関数」とかが表現できない気がするんだけど…
""だとyが束縛されてないし…無理矢理置換するしかない?
0367デフォルトの名無しさん
2008/11/11(火) 20:25:25だからxを置き換えるしかないんじゃないかなあ。
set func {x {return [list y [list expr $x + \$y]] }}
apply [apply $func 1] 2
3
こういうこと?
0368デフォルトの名無しさん
2008/11/12(水) 00:20:16λx.λy..x
=λx.x
でしょ。
こうならないってこと。
0369デフォルトの名無しさん
2008/11/12(水) 08:27:21> >>365
> λx.λy..x
> =λx.x
> でしょ。
そんなequalityを持つλ計算の体系は見たことが無い
0370デフォルトの名無しさん
2008/11/14(金) 22:42:020371デフォルトの名無しさん
2008/11/15(土) 10:04:27同感
0372デフォルトの名無しさん
2008/11/15(土) 10:11:42λ.x.(λy.x)は変換するとλx.xだろうと。
0373デフォルトの名無しさん
2008/11/15(土) 18:14:51お前が前提にしているλ計算の公理系を言え。
通常のβη変換ではλx.(λy.x) = λx.xは導出できない。
0374デフォルトの名無しさん
2008/11/30(日) 09:35:24* By John K. Ousterhout, Ken Jones
http://www.informit.com/store/product.aspx?isbn=0321601750&rll=1
ついこの前プレンティスから出てる妙に読みにくいTcl本買った俺涙目
0375デフォルトの名無しさん
2008/11/30(日) 19:08:030376デフォルトの名無しさん
2008/12/01(月) 20:34:12Tclって、pythonで言うところのinputとかraw_inputって無いの?
0377デフォルトの名無しさん
2008/12/01(月) 22:11:190378デフォルトの名無しさん
2008/12/02(火) 09:18:28pythonで言うところのinputって何をするものか書いたほうがアドバイスもらえると思うが?
0379376
2008/12/02(火) 20:46:30それもそうですね。失礼しました。自分は職業プログラマではな
いのであんまりうまく説明できそうにないですが。。
webで見つけた説明によれば、
raw_input関数
標準入力から1行読み込んで(末尾の改行をのぞいたものを)文字列に変換して返す。
>>> s = raw_input()
test
>>> s
'test'
とこんな感じです。上記はインタプリタでの動作です。
呼ばれると、ユーザの入力を待つモードになります。
ユーザが文字列を入力すると変数に文字列が代入されます。
input関数は数値入力用です。
0380デフォルトの名無しさん
2008/12/02(火) 20:56:09tclsh>gets stdin s
test
tclsh>puts $s
test
0381379
2008/12/02(火) 23:32:57レスありがとうございます。
getsにはそんな風に書くんですね。
channelIdってのが何を指してるのかサッパリでした。。
明日会社に行ってまた試してみます。
たまーに仕事用ツール作成でスクリプト書くんですが、
諸事情あって今回はTclにで書いていて。。
0382デフォルトの名無しさん
2008/12/04(木) 00:53:01とかもあるよ。scanfみたいなの。
また正規表現を使った読み込みとか便利
set fp [open $fname]
gets $fp str
regexp {\[\s*\s*\]\s*(\w+)} $str d1 d2とかね
以下が改行取って読み込みとか
set fp [open $fname];gets $fp str
foreach i [split $str "\n"] {
}
以下とかするとバイナリファイルも開けるよ
set fp [open $fname]
fconfigure $fp -translation binary
binary scan [read $fp 1000] H* str
0383デフォルトの名無しさん
2008/12/04(木) 22:00:380384デフォルトの名無しさん
2008/12/04(木) 22:04:45Tcl/Tkデスクトップリファレンスには超おせわになった。
あとEffective Tcl/Tk。この2冊はTcl/Tk修行時代の
10年位前にかなり読んだ。
0385デフォルトの名無しさん
2008/12/10(水) 21:58:58ビルトインコマンドにラッパーをかける事は
できるのでしょうか。
例えば
proc wrapper {cmd} {
catch {eval {$cmd}} status
puts "$cmd , $status"
}
:
alias expr {wrapper expr}
:
expr {1+1} ;# wrapper {expr {1+1}} -> expr {1+1} ,0
的な感じです。
0386デフォルトの名無しさん
2008/12/11(木) 22:04:10これじゃ無限ループになるだろ。exprはrenameして新たにラッパーのexprを定義すれば?
0387デフォルトの名無しさん
2008/12/17(水) 17:04:55>BrowseX for Windows使ってた人いない?
Hv3というtkhtmlベースのブラウザならある。
http://tkhtml.tcl.tk/hv3.html
0388デフォルトの名無しさん
2008/12/19(金) 21:06:51http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/99e2693293b3c945/e54399b0a7dd8ec1?show_docid=e54399b0a7dd8ec1&pli=1
0389デフォルトの名無しさん
2008/12/22(月) 21:53:03Cで作ったexeファイルをtcl/tkで作ったGUI上で実行したりできるの?
ていうかこんなことも分からない感じで死にそう・・・
0390デフォルトの名無しさん
2008/12/22(月) 23:27:50そしてその翌日itclのコア組み込みが決定したのであった・・・!
>>389
CでCUIのexe作って、Tcl/Tkでガワ作って、パイプで接続とか。
まあどんなことがやりたいかによる。CでDLL作って、それをTcl/Tk
から使うほうが楽かもしれない。
0391デフォルトの名無しさん
2008/12/23(火) 00:07:48unixだと楽だが、windowsだと面倒。
0392デフォルトの名無しさん
2008/12/23(火) 11:28:21正直オブジェクト指向を入れるなら参照とガベコレの概念を入れる前提で
デザインしなおしたほうがいいのに・・・
(逆に言うとこの2つを入れればオブジェクト指向はこれまでどおり拡張でいいし)
オブジェクト手動開放とか今日日ありえないっすよ。
0393デフォルトの名無しさん
2008/12/23(火) 11:40:20んなこたーない。
execで実行するだけ。
so, dllも同じソースで簡単に作れるし(windowsはmingwのgcc使ってるけど)
0394デフォルトの名無しさん
2008/12/23(火) 19:53:07pathや引数周りに落とし穴がいっぱいある。
MSが早くcygnusを買収してくれればいいのに。
0395デフォルトの名無しさん
2008/12/23(火) 20:02:39落とし穴ってなに
0396デフォルトの名無しさん
2008/12/23(火) 23:13:52で、なんでcygnusが出てくるんだ?
もはやTclはcygwinをサポートしてないぞ。
素直にActive TclをインストールしてCはMinGW使えばいい。
0397デフォルトの名無しさん
2008/12/23(火) 23:38:12try 〜 throwきたあああ!!!
zlibきたあああ!!!
ttk::spinboxきたあああ!!!
tk fontchooserきたああああ!!!
Canvasの回転文字きたああああ!!!
ttkのvistaテーマきたあああ!!!
0398デフォルトの名無しさん
2009/01/06(火) 12:23:24tclでパラレルポートからの入力って使える?
その辺含んだお勧めの書籍なんかあれば知りたい。
0399デフォルトの名無しさん
2009/01/06(火) 21:25:39まずは適当に検索してみればいいとおもうの。
0400本田
2009/01/08(木) 21:18:47http://panda.ecs.cst.nihon-u.ac.jp/~hiroshi/ac3d/ac3dmanj.html
1998年11月6日更新 - AC3Dバージョン2以降に対応
AC3D
http://mail2.nara-edu.ac.jp/~asait/graphics/ac3d/ac3d.htm
>3 次元模型 (モデル) を作るためのソフトはモデラーと呼ばれています。
> AC3D はそのモデラーの一つで、随分人気があるようです。
> AC3D は今では商用ソフトになってしまいました。
Shareware Version.
http://locgate.smtn.stavropol.ru/DOCs/Programming/OpenGL/ac3dwinsw2.zip
古いけどTcl/Tkスクリプト使用して参考になる。
最新版。
http://www.inivis.com/
0401本田
2009/01/09(金) 21:21:13ftp://ftp.uni-duisburg.de/CAD/AC3D/acfiles.tgz
AC3D Manual(Updated 11th March 1999 - Covers AC3D Version 2 onwards)
ftp://ftp.uni-duisburg.de/CAD/AC3D/ac3dman.zip
ftp://ftp.uni-duisburg.de/CAD/AC3D/ac3dman.tgz
AC3D Manual Ver. 3.4.1
ftp://ftp.uni-duisburg.de/CAD/AC3D/ac3dman.pdf
http://locgate.smtn.stavropol.ru/DOCs/Programming/OpenGL/ac3dwinsw2.zip
に付属のGLU32.DLLとOPENGL32.DLLは、おそらくWindows95用でしょう。
Windows95以降に発売されたWindowsには、
GLU32.DLLとOPENGL32.DLLが付属してるとはずなので、
Windows95以降に発売されたWindowsをお使いの場合は、
AC3D v.2.0付属のGLU32.DLLとOPENGL32.DLLを削除したほうが、
AC3D v.2.0の安定性や速度が改善される可能性があります。
0402デフォルトの名無しさん
2009/01/13(火) 00:08:38以下のコードのように、プロシージャfooを作っておいて
複数のボタンをpackする作業をまとめたいと考えています。
proc foo {w msg} {
pack [button $w.$msg -text $msg -command {puts $msg}]
}
pack [frame .f]
foo .f "b1"
foo .f "b2"
ところがボタンを押してcommandを実行させると、
以下のエラーが出ます。
Error: can't read "msg": no such variable
ボタンを押したときにローカル変数msgを参照できていないということだと
思いますが、何か良い解決策はありませんか?
よろしくお願いします。
0403402
2009/01/13(火) 00:10:15WindowsXPでActiveTcl8.5.4.0.286921-win32-ix86-threaded.exe
をインストールして使っています。
0404デフォルトの名無しさん
2009/01/13(火) 00:30:210406デフォルトの名無しさん
2009/01/13(火) 12:59:47{}の違いがポイントではなく、-command で指定するコマンドが関数の外で実行されることがポイントなのです。
msg変数は関数fooのローカル変数なので、関数の外で実行されるボタンのコマンドからは参照できません。
0407デフォルトの名無しさん
2009/01/13(火) 21:28:04set msg AAA; pack [button .b -text PushMe -command "puts $msg"]
としておいて、ボタン.bを押すと当然、AAAとコンソールに表示されます。
続けて、set msg BBBとしてボタン.bを押してみて下さい。
コンソールにAAAと表示されますね?
これはどういうことかというと、
0408402
2009/01/14(水) 19:29:14>>407
ボタン.bを生成する時点で変数msgを"puts AAA"という文字列に
展開していたため、ですよね?
button配置は""で解決できましたが
今度は-textvarを使うウィジェット生成をまとめようとして壁にぶつかりました。
>>406, >>407のことから色々考えてevalを使ったら自己解決できました。
pack [entry .e1 -textvar a1] ;# ←この文をすっきりさせたい
pack [entry .e2 -textvar a2] ;# ←この文をすっきりさせたい
↓
proc foo {w var} { pack [eval entry $w -textvar $var] }
foo .e3 a3 ; foo .e4 a4
でも、C言語やPerlをよく使っている身としては、
ポインタを渡せれば良いのになあと、何だかもぞもぞした気分になりました。
0409デフォルトの名無しさん
2009/01/14(水) 20:59:030410402
2009/01/14(水) 21:08:00「-textvar 変数名を表す文字列」だから
ウィジェット生成時にvarを文字列に展開してOKということでしょうか。
落ち着け>オレ
0411本田
2009/01/14(水) 22:13:21> でも、C言語やPerlをよく使っている身としては、
> ポインタを渡せれば良いのになあと、何だかもぞもぞした気分になりました。
C言語知ってるんなら、Tclのソースコードを読んだらいいのに、
Tcl8.0位がコンパクトで読みやすいし古すぎない。
0412402
2009/01/15(木) 01:47:16うーん。。多分自分のC言語の実力程度ではソースを読んでも理解できなさそうな予感がします。
あと正直なところ、自分としてはあまりtcl/tkは好きになれず、あまり深入りしたくありません。。
(今はやむを得ぬ事情があって触っています。せめてperl/tkが使えれば良かったかもと思います)
tcl/tkならではの魅力があるのは分かるんですが(簡単にGUIを使えて複数のOSで動かせるとか)、
他の言語なら当たり前のようにできる記述方法ができなかったりすることが多いので
結構ストレスがたまってしまいます。
たとえば行末のコメントは、「# コメント」では駄目で「;# コメント」ならOKとか、
理由は分かっても不自由さがぬぐえません。
自分にもっと実力があればラッパーかプリプロセッサを自作したくなるだろうと思います。
上のコメントの例なら、ごく単純には sed 's/\/\//;#/g' すればストレスが減るかもしれません。
とか何とか愚痴をこぼしながらもtcl/tkの本を2冊買ってしまいました。
でも最新バージョンの便利そうなウィジェットの説明などはネットで調べた方が良さそうですね。
0413デフォルトの名無しさん
2009/01/15(木) 07:35:430414デフォルトの名無しさん
2009/01/15(木) 10:27:13文字列処理がやりやすいのでファイル入出力とGUIはTcl/Tk、その他はCとかでもいいし。
0415本田
2009/01/21(水) 19:06:18http://ayam.sourceforge.net/
Ayam features at a glance:
* RIB (RenderMan Interface Bytestream) export and import.
* Support for NURBS curves and (trimmed) NURBS surfaces, Boxes, Quadrics (Sphere, Disk, Cylinder, Cone, Hyperboloid, Paraboloid, and Torus), CSG, MetaBalls, Patch Meshes, Polygonal Meshes, and Subdivision Surfaces.
* NURBS modelling includes approximating and interpolating curves as well as extrude, revolve, sweep, birail, skin and gordon objects with caps, holes, and bevels.
* Custom objects that may freely implement their representations (using OpenGL and RIB) and even small GUIs to edit their type specific parameters may be written by the user and dynamically loaded at runtime.
* Scripting interface: Tcl.
* Misc: instancing, arbitrary number of modeling views, object clipboard, independent property clipboard, console, n-level undo.
* File formats (r/w): RIB, DXF, 3DM, 3DMF, OBJ, X3D.
AC3Dは、ポリゴンモデラーだけど、Ayamは、NURBSもサポートしてます。
0416デフォルトの名無しさん
2009/01/22(木) 19:17:56探してもらってもいいですか?
0417デフォルトの名無しさん
2009/01/23(金) 01:44:36Python/Tkなら他所で聞け
0418デフォルトの名無しさん
2009/01/24(土) 01:56:00座ぶとん10枚! ̄ー ̄)ノ〜■
0419本田
2009/02/01(日) 08:39:59http://brlcad.org/
http://brlcad.org/wiki/Documentation
http://brlcad.org/wiki/Users_group_presentations
BRL-CAD's integration with TclTk
http://brlcad.org/w/images/3/3a/TclTk_Integration.pdf
BRL-CAD スクリーンショット
http://www.cadcamcube.jp/brlcad2.html
■ このスレッドは過去ログ倉庫に格納されています