□ BeDraw概説

BeDrawとは(有)プライムソフト 吉浜一雄氏によるシェアウエアの汎用2次元CADで MS_Windows98(SE,Me),NT(2000,XP) 上で動作します。
2003/04/28 SXF仕様V2.0レベル2に対応したBeDraw5がリリースされました。

公式ホームページ プライムソフト から最新版がダウンロードできます。

BeDrawに関しての情報交換は、ニフティの建築フォーラム等で作者を交えて盛んに行 われています。
またインターネット上ではBeDrawのヘッドサポーターとして精力的に活動されている
だいおー さんのホームページが最大の情報交差点となっています。

BeDrawのソフトとしての仕様・特徴などは公式ページに詳しく掲載されていますので ここでは私感などを書いています。  
 
 
 

□ BeDraw以前

CADというものはここ10数年ほどで急速に世間に認知されて来たように思います。
もともとの意味は Computer Added Design でコンピュータによる設計支援システムと いうことなのですが
BeDraw 含む多くの2次元CADの現状はComputer Added Drafting「電子製図器」です。
以前の定規やペンといった製図器との違いは省力化や品質といった事よりも一般的な 電子情報化と同じように作成・伝達・評価・共有といった効果にあります。

私が籍を置く建築設計分野においても1980年代後半からCAD化が始まりましたが、 その後ある時期から急速にCADというものが一般的になってきました。
これには、JW_CAD というソフトの存在が非常に大きかったように感じています。
当時パソコンで動作するCADといっても市販で数十万円から数百万円
ワープロ等のソフトとは違って市場も技術も限定される分野ですから当然ですが、 小規模経営の建築設計事業者にとってはトライしてみたくても簡単には手を出しにく いものではありました。
ところが jw_software_club によってだれでも自由に利用できる JW_CAD が発表され るやジワジワと浸透し始めその後一気に広まってゆきました。
今では建築設計に限らず名前を知らない方がいないほどメジャーになっています。 当然この利用者も多数になるわけです。

その後CADソフト以前の問題が出てきました。
OS の変革 MS_Windows95 の登場とパソコン技術の進歩および急速な普及です。
それまで MS_DOS という OS 上で動いていたソフトは尽く Windows への対応をせまら れ次々に変化して行き、新旧限らず大多数のソフトが Windows の上で動作するように なり新しくパソコンを始めた方々は、MS_DOS という単語すら知らないのが普通になっ てきました。
OS が変わるとそれに合わせて
 OS >開発ツール >一般ソフト・ツール >特殊ソフト
といった順に対応が進んでゆく課程で爆発的なパソコン利用の拡大と反対に一般ソフト 利用の敷居はどんどん低くなってきているのに対して旧来の MS_DOS ベースの特殊分野 ソフトの敷居は逆に高くなってしまいました。
これも Windows への対応が進むにつれて解決してゆく訳で、現在特殊ソフトにとって も最終段階かもしれません。なかなか対応が進まずあえて旧マシンをかき集めている点 訳関係者の話題などがニュースに流れたりしていました。

ソフトが替わると利用者にとってはまた一から使い方を覚えなければいけないといった 事もありますが一番の問題は今まで蓄積された情報資産の再利用です。
各種データ・ノウハウ等々これらを捨て去るわけにはいきません。
 
 
 
 

□ BeDraw登場

2次元CADソフトBeDrawには MS_DOS 時代に蓄えた資産を利用できる技術がふんだん に盛り込まれています。
Windows 用として新しく開発されたものですから旧バージョンというものはありません し継承すべきデータ等もありませんでした。しかしそのかわりに前述の JW_CAD で培わ れたデータ・ツール類を有効に利用できたのです。
全く別のソフトですから操作メニュー等は違いますが、
JW_CADのデータ(JWC)・図形(JWK)・建具・線記号変形(OPT**.DAT)・外部変形
がほとんど利用可能というのは魅力です。特に私の業務周辺では圧倒的に JW_CAD ユー ザが多いためそのデータを共有できるというのは必須条件かもしれません。
さらにBeDraw5では(JWW)読込みも可能になりました。

BeDraw の特徴として豊富な操作のカスタマイズ機能があります。
オーダーメイドのように利用者の趣味好みに合わせた操作環境が構築できます。

BeDraw は強力なデータのグループ化機能を備えています。
グループ化というのは描かれた図形要素を意味付けに従って集合として扱うCAD機能 の一つでこの有無で操作感は天地ほどの差を感じます。
さらにBeDraw5では、SXF仕様に準拠したポリライン属性や寸法線属性など明確な意味を もった図形属性も備えています。

Windows には他種ソフトが強力に連携するための OLE 機能というものが搭載されていま すが、BeDrawはこれに対応しています。
写真・絵・表等を図面に貼り付けたり逆に送ったりが簡単に実現できます。
またWindows98以降、WindowsScriptHost(WSH) というスクリプト処理機能が搭載される ようになりましたがこれにも対応していてスクリプトによるユーザコマンドを追加した り他ソフトをコントロールしたりできるのもおもしろい。気に入っています。
 
 
 
 

□ 外部変形

標準コマンドに無い特殊機能の追加
「外部変形」というのは JW_CAD で用いられている外部プログラムによる図形操作手続 きのことでBeDrawでもこの考え方や仕様が継承されています。
CAD内部では作図データはそれぞれソフトウエア独自のバイナリ形式で管理されてい るのでこれをそのまま自由なプログラムで操作することはできません。
そこで外部変形では以下のような手続きをとります。

BeDraw 外部変形ではJW_CAD 用に開発されたプログラムを実行するための互換インター フェイスも用意されていますがここではBeDraw独自のインターフェイスについて考察し てみます。
外部変形に用いられるテキストファイルは通常[部品を保存][部品を開く]で操作してい る部品ファイルそのものであり ******.pt という名前が付いていてファイル形式は BeForm.chm などによって公開されています。
つまりBeDraw外部変形とはプログラムによって部品ファイルを生成することであるとい って良いでしょう。
普段画面上で作図して再利用可能な部分を[部品を保存]するといった一連の操作を自動 的にやらせるのです。
プログラム言語に制約はありませんから各自の得意なものが利用できます。 一般的には GUI の必要が無いので、スクリプト言語系が多く利用されています。 BeDrawは Windows のスクリプト処理系として定着しつつある WindowsScriptingHost に対応していてVBScript、JScriptやPerlScript、RubyScript等による外部変形が可能で す。
本ページに掲載の外部変形もこれらスクリプト言語で書いてあります。
 
 
 
 

□ スクリプト

外部変形プログラムをスクリプト言語で開発する利点は、動作を確認しながら書いて行 くことができることでしょう。
外部変形というのは、いわばCADのアドインコマンドですから自分のほしい機能動作 をCAD画面上に実現したいのです。プロの開発者でない私たちにとって書いたプログ ラムがどのようにCADと連携しているのか逐一確かめられるのは、コンパイラ処理系 では得られない手軽さがあります。
Perl は Larry Wall 氏によるプログラム言語(スクリプト処理系)でもともとは UNIX 系 の Shellスクリプト と C によるバイナリとの中間的な位置づけだったようですが近年 インターネットの普及とともに Web システムの CGI 処理に多用されていることで注目 されています。
このページ作者はBeDraw と出会う以前CGI を書いた経験があってたまたまPerl が身近 にあったということまた JW_CAD の外部変形では AWK という言語がよく使われています が「Larry Wall 氏が Perl を開発した動機の一つに AWK に足りない部分を感じていた から」などという事を知っていた等の理由でもって単純に Perl を外部変形プログラム に利用してみたら案外うまく行ってしまったのです。
Ruby はまつもとゆきひろ氏によるプログラム言語でAWKやPerlと同様スクリプト処理系 です。Rubyは完全なオブジェクト指向で目的に沿った仕事がわかりやすく記述できるプ ログラム言語です。日本人によって開発者されたためか日本語による情報が豊富で学習 しやすいかもしれません。
 
 
 
 

□ パラメトリック

BeDraw には標準でパラメトリックというものが用意されています。
一言で表現すればプログラマブルな部品であると言うことになります。部品ファイルと いうのはあくまでも固定的な部品でしたがパラメトリックの場合は部品それ自体がプロ グラムであるという点でユニークです。
パラメトリック内部にそれぞれ独自の変数を定義しておいてBeDraw上に配置する時点で この変数の値を指示する事で形状を変化させて描画できる名前のとおり伸縮自在な部品 です。
これに対して扱うのは固定的な部品ファイルなのですがBeDrawの外側のプログラムを使 うことで部品を変化させてしまうというのが外部変形という事になります。
どちらもキーワードがプログラムと部品という点で興味深いところです。
 
 
 

□ オートメーション

BeDrawはOLE2オートメーションに対応しています。
オートメーションというのはあるアプリケーションを他のプログラムからコントロール することができるWindowsの機能の一つで現在では多くのアプリケーションがこれに対 応しています。
実際にBeDrawオートメーションを使ってみたいという場合にはオブジェクト指向プログ ラミングの知識が必要となりますが一度これを覚えるとクセになるほど楽しくなってき ます。前述のWSHスクリプトやMS-Excelなどから比較的簡単にBeDraw上に図形を描画で きるようになります。
 
 
 
 

以上の 外部変形・パラメトリック・オートメーション は BeDrawを3倍楽しく使う ための玩具のようなものです。運良くBeDraw ユーザとなった方々どうぞお楽しみくだ さい。