>私は、LINUXで動くCADを作りたいと思っています。
リンク欄のsourceforgeのページから、ホームページを辿って見てみました。
http://sagcad.sourceforge.jp/
浅学にてSagCADは知らなかったのですが、crowbarよりずっとすごいじゃないですか。
BBS(は見えなかったのですがそのGoogleキャッシュ)を見てみると、ドイツの人とか
英語圏の人とかも巻き込んで開発されているようですし。
実は私は10年くらい前、資料などに使う図を描くドローツールについて、
いいのがないので作りたいと思っていました。当時は、ていうか実は今も
UNIX上でTgifを使っていますが使い勝手の点で満足していません。
たとえばシステム構成図などでは、データベースとかを円筒形を斜め上から
見た図で表現することがあります。Word付属のドローツールとかでも
この円筒形は描けますが、縦に伸ばすと楕円部分の縦横比まで変わってしまう。
これは美しくないわけで、「中に入る文字列に合わせてサイズは自動調整。
でも楕円部分の縦横比は変わらない」という機能が欲しいわけですが、これを
ドローツール本体に組み込むのも美しくない。となるとスクリプト言語が必要かなあ…
と言語処理系に興味を持ち始めて今に至るわけです。
以後、いくつも言語を作ろうとして作りかけで放棄してきたわけですが
(言語処理系を作りかけた人は誰もがこれをやってると思う)、crowbarは仕様で
無理をしなかったことと、何よりも「公開したこと」により、どうにかここまで
こぎつけることができました。
というわけで、CADのマクロとして使うというのは、crowbarの実に正当な使い方と
いうか、本来あるべき姿のように思います。バグがあったらすみませんですが、
よろしくお願いいたします。
>ホームページ上では、僕が作ったソースに組み込めるようなことが
>描いてありました。まだ試していませんが、試せるところまで進んだら
>ぜひ、使わせてください。
CADに組み込む際には、スクリプトから図形を作ったり、図形をスクリプトから
操作したりしなければならないでしょうから、「図形」とか「図面」とかを
ネイティブポインタ型で表現することになると思います。
その上でネイティブメソッドをいくつか書けば、CADと連携できるのでは、
と思います。
# 「図形」や「図面」にメソッドを付けるには、今の仕様ではcrowbarの
# オブジェクトでラップすることになりますが、ネイティブポインタ型に
# 「メソッドもどき」を付ける機能があってもいいかな、とも思っています。
それでは、SagCADにcrowbarが組み込まれる日を楽しみにしています。