[付録] f. 初めに戻って次世代CAD ● 新たな機械系CADの提案 -------------------------------------------------------------------------------- 1998年3月に作成した新たな機械設計用CADの提案書を、改めて2001年8月こ こに記載した。当時小生は、このCADを世に出すべく開発できるところを探してした。 -------------------------------------------------------------------------------- * コンセプト 小生が考えている "仮想モデリングCAD" というのを提唱したい。これは2次元CAD、 3次元CADといった境界をとり払い、真に機械設計を支援するためのCADシステムで ある。タ−ゲットは自由曲面を含まない部品レベルの機械設計用CADである。その基本 コンセプトは機械設計要素の立体形状としての性質を利用することである。そしてこの性 質をうまく扱えれば、2次元図面から3次元デ−タへの展開がスム−ズにいくのではない か。このためのCADシステムは、製図要素がオブジェクトとして設計される必要がある。 現在どんなCADにしても、みかけオブジェクトになっているだけで、真に製図要素オブ ジェクトとしては設計されていない。これは丸に寸法線を付けて、丸を移動する際寸法線 も追従するか見てみればいい。最新の I-DEAS にしても、関連付けはパラメトリックを定 義すれば可能としているのみである。これではダメである。単なる関連付けでしかない。 仮想モデリングCADでは、機械設計要素の立体形状としての性質を利用する。これは例 えば表面仕上げ記号が線分のどちら側にあるかといったことになる。仕上げ記号のある側 が物体の外側であることが期待されることは言うまでもない。さらに、もし線分が連結し て閉じた領域を作る場合、仕上げ記号は全て同じ側にあることが期待される。また仕上げ 記号なら1個しか入らないことが期待される。例えば丸を1つ描いて、内側に三角記号を 入れた。この時点でこの丸は穴である分かる。そこまで分かれば穴はソリッドとしての意 味を持たせることは可能なはずである。こうしたアルゴリズムがうまく働けば、結果的に 製図として正しい図面が作成されることになる。あるいは製図の矛盾点を示唆するCAD ともなろう。それに2次元CADの研究テ−マである検図の一つの解にもなる。3次元デ −タもできて一石三鳥である。 "仮想モデリングCAD" は昨今3次元CADで用いられている技術 Feature Model によ く似ている。属性モデラ−と呼ばれているのである。しかし、ある段階から同じコンセプ トとなるが Feature を定義する場面で決定的な違いがある。提唱CADでは Feature は 設計者が図面を描いていく段階において、自動的に生成されるものであり、立体形状も同 時に作成されていくとするのである。既存CADではいちいちこれは穴ですよ−、軸です よ−と定義しているのである。ただし提唱CADでは、図面作成の途中においては立体形 状が確定しない場合もある。丸を何重に描いただけでは、どれが軸で穴か分からないわけ である。この時、システムの中では多分、幾つかの候補形状が存在することになる。この CADでの設計は、設計者がイメ−ジする形状を、図面を詳細化することにより、よりは っきりさせていく過程を模すことになる。仮想モデリングCADの由来でもある。 * コンセプトの提唱 コンセプトを1つの言葉にすること。これによってブレ−クスル−が起きる。例えば非多 様体。約14年前にソリッドモデルを研究していた頃、ソリッドモデルの非多様体構造と いう言葉はなかった。しかしその後何年かして非多様体が提唱されると、こぞってこのモ デルを3次元CADはとりいれることになった。それまでの研究ではソリッドモデラ−は オイラ−の式を満足することが先ず第一だとされた。 しかし非多様体は境界表現のソリッドの集合演算の途中において、常に存在するものであ った。研究者はそのことを知っていたはずだが、深くその意味を考えることがなかったと いえる。同様、ソリッドと面の集合演算も同じである。面が方向付けされていれば、集合 演算は可能な場合があるのである。なぜなら集合演算の局所的な処理は、方向付けられた 2面の境界線を求めることにあるからである。 今日では当り前のことがなかなか気付かなかったいい例である。同様仮想モデリングとい う言葉はつい先日思いついたものである。それまで、2次元CADにおける設計製図にお いて、バックグラウンドに3次元CADをもつようなCADと漠然と考えていた。それが どんなCADなのか、はっきりとはしていなかった。しかし仮想モデリンCADという1 つの名称によって、コンセプトがはっきりしてきたように思う。 * コンセプトの説明 正面図 丸を描いただけでは、円筒なのか、円錐なのか、球なの か分からない。どれかの可能性があるということになる。 ここはHTML版 で説明します。 直径寸法を入れることにより、10ミリの穴か軸だとい ことになる。幾つかの形状の候補がある。これが仮想モ デリングのコンセプト。 仕上げ記号を入れることにより、穴だということが分か る。先の直径寸法の入れ方により、穴と軸を区別する設 計製図の約束を導入する考えもある。 穴の回りに何らかの境界が期待される。どのような境界 がくるのか全く不明。円かもしれないし、四角かもしれ ない。 境界を描くと、 面Bの Feature として穴Aが定義でき る。面Bはサ−フェ−スであり表裏がない。この時点で ソリッドの面とする考えもある。 境界の外側に仕上げ記号を入れる。内側に入れようとす ると穴と矛盾する。図面を作成しながら検図をするコン セプト。 全ての境界はソリッドの面として定義される。仕上げ記 号はこの時点で、同じ向きにしか入らない。平面図から 設計要素を利用してソリッドにするコンセプト。 上面図 この時点で上面図は、正面図に関連付けられた下書き線 から、候補形状を出しておく。 上面図の候補形状を例えば平行線で区切る。これで一応 立体形状が確定する。最も単純なケ−スである。 * 真の機械設計用CADとは 今日、機械設計用CADは2次元、3次元ともに機能的にほぼ完成されたかのような感じ がある。しかし小生は、もっと改良する余地はまだまだあると考えている。何年か前から どのCADもオ−トパイロット、パラメトリックなどの機能が付加され、従来よりも確か に便利になった。2次元と3次元の行き来も、簡単にできるようになった。しかし、本当 に機械設計をサポ−トするCADになったかといえば、違うのでないか。未だその本質的 な部分に手を染めず、周辺機能を便利にすることに終始しているように思われる。そもそ も機械設計とは何かから考察を始めなければならない。時、同じくして情報処理の分野で はオブジェクト指向なる概念、プログラミングが言われるようになった。機械設計の三角 記号なんかを見ていると、製図要素としてのオブジェクトが浮き上がってくる。 オブジェクト的な見方ともう一つの見方。人は局所的には平面を認識しているのでないか ということ。このことから、バックに3次元を持った2次元CADを考えること。ここで は主に自由曲面の入らない一般的な機械加工品を対象にする。機械設計では実際の加工を 考慮して、Rで表わされる形状がほとんどである。人は物体を認識する際、3次元的に見 ているか、2次元的に見ているか議論の別れるところであるが、小生は3次元であっても 部分的には2次元的に理解していると考える方をとる。3次元で物体をひねくり回すより も、2次元図面で3次元を作成する方がはるかに簡単にできると考える。そのような観点 から現状のCADをみると、まだまだ不十分である。誰もが気軽に3次元形状を作れるよ うなCADが望まれているのと思う。 最近 IDEASを見たが2次元図面から3次元形状ヘの展開で、2次元図面の形状を切り出し、 それをスイ−プしたり、回転させたりしてソリッドを作っていた。AutoCAD の最新版でも 同様な手続きを経ていた。なぜ、そんなことをするのか。2次元の図面には3次元をイメ −ジさせるだけの情報がすでにあるのだ。1個の円を描いたら、その時点で設計者は、こ れは円筒か球を想定している。さらにφ50と入れて、これは円筒であるということを規 定している。あと側面図に2本の線を入れて、無限円筒の範囲を規定することになる。極 単純なケ−スであるが、このような考察ができる。設計者が一体、何を意図して線や円を 引いているのか。表面的な作業はドラフティングであるが、ただ漠然と線を引いているの ではない。一本の線はあくまでも機械部品の表面であり、ある精度をもって加工された平 面である。こうした暗黙知をあぶり出すことが、オブジェクト設計のポイントである。 次に機械設計要素の振る舞いも、詳細に検討する必要がある。円を描いて、直径寸法を入 れたとしよう。現在のCADでは、円を移動すると寸法も同時に動くものと、そうでない ものとがある。機械設計製図の世界では同時に動くことが一般的に求められる。なぜか?。 直径寸法は円の修飾子、従属関係にあるからである。円が無くなった場合、直径寸法だけ が残るというのは図面としておかしい。また直径寸法の値を変更すれば、円も同時に変更 になって欲しいかも知れない。直径寸法の位置を変更しても、円の中にとどまって欲しい かも知れない。つまり機械設計要素の期待される振る舞いを調べ、オブジェクトのクラス 設計が必要なのである。このクラス設計ができれば、このCADはできたも同じである。 ただし作り上げるの簡単な話しではない。従来3次元CADの研究は盛んに行われてきた が、2次元CADは研究の対象とならなかった。理論的でなく、非常に泥臭い世界だから である。多分その泥臭ささをある程度解消させるため、CADにおいては、従来紙の図面 での設計製図にあるル−ルを変更することも念頭に入れた方がいいのでないかと思う。以 前、自動車会社のT社の図面を描いていた時、公差か形状精度記号がなく、滑合穴とかい った表現を見た。会社それぞれで図面の描き方は微妙に異なっているのが現実である。し かしこれがクリアできても、問題は山積みである。機械設計図面はあまりにも複雑である。 要素のオブジェクト設計は非常に難しい。でも誰かが成し遂げなければならない。それに は機械設計の経験者で、オブジェクト指向を理解していることが最低条件である。 ● 仮想モデリングCADの設計 * 機械設計要素のオブジェクト [ 三角記号を例にとる ] << 既知事項 >> ・三角記号は通称で、正式には仕上げ記号と呼ぶ。 ・仕上げ記号には、三角記号とル−ト記号の2種類がある。 ・仕上げ記号は形状線の従属物である。 ・仕上記号−▽、〜の記号で表わす。 ・表面記号−ル−トのかたちで表わす。こまかい表面荒さを表わすために使う。 << ル−ル >> 自動設計モ−ドは、形状としても製図としても正しくかけるモ−ドとする。手動設計モ− ドは従来のCADと同じである。 [ 手動設計モ−ド及び一般のル−ル ] ・仕上げ記号は形状線の上に作成できる。 ・仕上げ記号は形状線の延長にある寸法補助線の上に作成できる。 ・仕上げ記号は形状線の寸法を示す寸法線の上に作成できる。 ・寸法線の上にある仕上げ記号は、寸法線を消去すると同時に消える。 ・寸法線の上にある仕上げ記号は、寸法線を移動すると連動して移動する。 ・三角記号の場合、三角の数が0の場合は、波記号になる。 ・三角記号は6個以上は、入らない。 ・三角記号の G や 1.6a などは、内部で値を決めてしまう。 G 1.6a ▽ ▽ [ 自動設計モ−ドのル−ル ] ・仕上げ記号は1個の円に1つのみ存在できる。 ・中心線などの一点鎖線、ピッチ線には乗らない、作成できない。 ・この他に寸法補助線には、三角記号のほか精度記号もただ1個付く。処理は三角記号と ほとんど同じとみなしてよい。(デ−タム記号) [ 三角記号の検討 ] ・寸法補助線に三角記号を入れれる場合。形状線分と平行に寸法補助線がある場合に先ず 限る。手動設計で幾つでもいれれると言っても、ある程度の制限は持たせてもいいので はないか。自動設計は1個だけ、手動設計は幾つでも入る。 ・形状線と寸法補助線と三角記号の関係をどうつける。普通寸法線には、寸法補助線にの みつく。直径寸法線には、原則として付かない。 ・半径寸法線には、どこでも付く。何らかの制限が必要と思われる。小さいRと大きいR では意味が違うのでないか。大きいRは直径寸法線と同じこと。 ・引出し線でφ8とか M6 とかいう場合も付く。ネジの M6 などというのは径寸法と同列 に扱っていいものか。これらも比較的小さい穴の場合が多い。 ・寸法線自体が三角記号を今付けているという情報を直接もつ必要はない。寸法線の寸法 補助線(形状補助線)がもっているだけでいいのでないか。 ・形状線分が三角記号を入れる能力があると考えるのは、少し無理があるのでないか。三 角記号にも色々種類がある。また形状線分は三角記号だけでなくデ−タムも付ける能力 があるとせねばならなくなる。それよりも形状線分や三角記号は別々に作成し、あとか ら関連付けする方が自然ではないか。またその方がやり易いと思われる。 1) Line には三角記号を付ける能力があると考える。 Line->put_finish( x,y,deg,num ) ; 2) それぞれ別ものとして考える。あとで関係付ける。 Finish* tmp = new Finish( wx,wy,0.0,3 ) ; Line->set_relation( tmp ) ; [ 三角記号のクラス設計 ] class Finish: public Hcad { Collection* list ; // デ−タベ−ス。 Hcad* cad ; // どの要素の上にのっかっているか。 DBL s_x,s_y ; // 仕上げ記号の場所。 DBL s_rdeg ; // 仕上げ記号の角度。 DBL s_height ; // 仕上げ記号の高さ。 int s_color ; // 仕上げ記号の色。 int s_num ; // 三角記号の数。 public: // 専用メンバ関数 Finish() { initialize() ; } // 三角の数 + 精度指示(1.6a)。 Finish( DBL x,DBL y,DBL rdeg,int num,STR str ) ; ~Finish() ; // デストラクタ。 void create_finish( DBL x,DBL y,DBL rdeg,int num ) ; void change_height( DBL height ) ; // 仕上げ記号の高さを変更する。 void change_sankaku_num( int num ) ; // 三角の数を変更する。 void change_finish_type( int type ) {} // 三角記号と引出記号の変換。 // クラス Hcad の仮想メンバ関数 // 形状要素と関連付ける。 void set_relation( Hcad* ent ) { cad = ent ; } void rel_move( ..,Basic* bas ) ; // 相対移動。 void draw( Nscreen* ) ; // 画面表示。 public: // クラス Entity の仮想メンバ関数 char* nameOf() const { return "Finish" ; } classType isA() const { return Finish_ID ; } } ; * 仮想モデリングCADの開発 [ どこまできれいにオブジェクト化できるか ] 従来の設計製図のやり方を制限するようなことが必要になると思われる。それをCAD側 でおぎなっていくという考え方である。もうここら辺りで2次元CADは、製図板の代わ りという発想を捨て、CADそのもので設計製図していくという発想が必要である。この ためには、あまりにも柔軟な製図表現をCAD適用のため、もう少しル−ルを厳密化しな ければならない。 [ 実際の図面はかなり複雑である ] 2次元図面から3次元に自動で変換していくためには、あまりにも実際の図面は複雑であ る。なぜ複雑なのかその原因を見極める必要がある。多分複雑にする要因は、1枚の平面 図で立体形状を表現しなければいけないため、隠れ線や想像線といった線が多く現われる ためでないか。 [ 期待できる大学の研究 ] 途中不確定な形状をどうモデルの内部で表現するか、また2次元図面とソリッドモデルと 対応つけていくのか、仮想モデリングCADの問題の一つである。これの一つの解として 三面図からソリッドへの変換という研究が役に立つとみている。筑波大学、鹿児島大学な ど国内でいくつかの研究事例がある。筑波大学ではその研究成果を元に、小松ソフト(株) が商品化している。 情報処理学会のグラフィックスとCAD研究会、平成5年7月16日に筑波大学であった "図面理解"において、このテ−マにおける発表があった。既存市販CADで描いた三面図 をどうソリッド化するかという話しと、手描き図面をイメ−ジスキャナで読み込みベクト ル化し、そしてソリッド化するという話しであった。 発表の基本は全て形状として矛盾のない三面図だとして、どう立体化するかということで ある。図面の寸法情報などを利用するという発想はなかったようである。その原因として 市販の AutoCAD や GMM で図面を描き、ソリッド化のためのソフトで解析をするという手 順によるものだと感じた。当時の2次元CADでは形状と寸法線などの要素はなんら関連 付けられるものではなかった。そのため形状線のみで、ソリッド化を計るしかなかった。 そこで形状線と寸法線がCADの中で関連付けられて、そのCADデ−タに外部からアク セスする手段があるようなCADが彼等に提供されるなら、この研究の一段の進歩が期待 できる。現在の市販CADで一番それに適するのは、97年秋に発表された AutoCAD R14 だろう。値段も手頃だし、CAD要素はオブジェクトだし、C++でデ−タベ−スにアク セスすることもできる。しかし、研究の材料とするには大き過ぎる。もっとプリミティブ な基本機能だけに絞ったCADの方が研究はやりやすい。 [ 実際どこで開発するか ] これが一番大きな問題である。1人で自宅でコツコツ作るのか。どこかCADを開発して いる会社にいって、提案してやらせてもらうのか。1人でやる場合は、メンタルな問題が あって、ある程度までしか開発できないと思われる。新しい概念のソフトを開発していく ためには、多くの刺激やブレ−クスル−が必要である。1人ではその限界があるというこ とである。ある程度分野を同じにする人、違った分野でもそれなりにがんばっている人と のディスカッションがどうしたって必要である。実は国内のある会社に、このアイデアを 話したのである。かなり興味をもってくれて、そして次に会った時に提案書をまとめて出 した。このドキュメントの元になったもので、開発の日程やらプロジェクトの進め方など 記述した。しかし残念なことに提案書に対するコメントが無かった。それで縁が無かった ということになった。 [ 開発人員の参考 ] 一般に、実用に耐えうる2次元CADを新規開発するには、開発当初は3人から5人程度、 その後20〜30人のスタッフで3年ぐらいかかると言われている。これは国産CADの CADPAC や 諏訪の方の会社で2次元CADを自社開発している技術者などから聞いた話を 元にしている。諏訪の方の会社のCADは Apollo コンピュ−タで稼働していた数少ない 自社開発CADであった。しかし、これでも元々はCVという大型CADのソ−ス・プロ グラムをベ−スに作られていた。小生が社内で開発した2次元CADは、諏訪の方の会社 のCAD、それにその開発者から少なからず影響を受けた。 伊藤忠テクノサイエンスが販売している Advance CADは、社内の1人の人間が当初開発し た。それを伊藤忠が買い取るか独占契約するかして、開発者にはそう相応に対価が払われ たらしい。日本UNISYSの CADCEUS は論文を出している人数だけで十人以上。 世に 一応出るまで5年かかっている。ただし出た当初はまだまだで、その後数年してやっと実 際の販売が始まったようである。リコ−の DESIGN BASE は千代倉氏の博士課程での研究 成果を元に商品化された3次元ソリッドカ−ネルである。千代倉氏がリコ−に入り、プロ ジェクトをスタ−トして3年で最初の市場バ−ジョンができている。 [ バックグラウンド ] 小生、某技術科学大学の生産システムに三年次に編入学し、コンピュ−タと出会った。4 年生の時、材料加工システム研究室にて陰線消去をテ−マにして卒論を書いた。DEC社 のミニコンを使ってプログラミングした。引き続き修士課程で自然と、ソリッドモデラ− の多面体集合演算の研究を行なっていった。修士2年目の夏、集合演算は面と線の組み合 わせによる接触の問題であると気付き、3次元CADを一気に開発していった。C言語で ポインタを駆使したシステムであった。研究室にはもう1人が自由曲面を扱ったシステム を作成した。自由曲面の理論も一緒に学習していった。2人の研究成果を合わせれば、当 時の市販モデラ−なみの機能となった。小生の多面体モデラ−では、直感的に形状を扱お うとウィングド・エッジ・デ−タ構造をとらなかった。もう1人の方のシステムはその構 造をとった。国内のある研究者と話をする機会を得た際、なぜウィングド・エッジにしな かったのかと、かなり問い詰められた。負けじとウィングド・エッジは確かに計算量を減 らしはするが、集合演算のアルゴリズムとは無関係だと主張したことがあった。 ● 仮想モデリングCADの検討 * 開発のために検討すべき項目 [ 2次元設計の基礎的研究 ] 2次元設計製図に現われる要素の分類 分類に基ずくCAD要素への展開の検討 2次元設計要素のトポロジカル的考察 2次元設計製図による3次元形状への展開の限界の検討 [ CADデ−タベ−スの研究 ] C++を使ったオブジェクト指向デ−タベ−スの検討 Object Store などのオブジェクトデ−タベ−スの検討 バック・トラック機能のためのデ−タ構造の検討 パラメトリック機能のためのデ−タ構造の検討 要素の伸縮機能のためのデ−タ構造の検討 曲線要素表現のためのデ−タ構造の検討 部品図と組み立て図の切分けの検討 2次元と3次元CADデ−タの関連付けの検討 CADデ−タベ−ス国際標準規格 STEP の検討 [ 幾何計算方法に関する研究 ] 計算誤差の無い幾何計算方法の検討 幾何計算の統一的方法と全般に関する検討 検討に基ずく幾何計算ライブラリの作成 市販幾何計算ライブラリの調査 [ マン・マシ−ン・インタ−フェ−スに関する研究 ] メニュ−・レイアウトの検討 メニュ−・階層の検討 メニュ−の視覚的効果の検討 メニュ−操作の統一性の検討 コマンド操作の統一性の検討 メニュ−のダイナミック・レイアウトの検討 製図作業の分析による個々のコマンドの操作性の検討 マウスによるインタ−フェ−スの検討。 [ ソフトウェアの標準化に関する調査 ] ANSI-C 準拠のプログラムの書式調査 X-Winodw の Xlib の機能調査とライブラリの作成 GUIとしての OSF/Motif の機能調査 Motif の部品ライブラリの作成 各種グラフィックス・ライブラリの調査 [ 異機種CAD間のデ−タ交換フォ−マットの検討 ] DXF、IGES フォ−マットの調査 Micro CADAM のデ−タフォ−マットの調査 AutoCAD のデ−タフォ−マットの調査 [ その他 ] 表示要素の整数表現による要素高速表示方法の検討 表計算ソフトのCADとの連動の検討 AutoCAD の WDF の様なインタ−ネット対応CADフォ−マットの検討 分散アプリケ−ション CORBA への対応の検討 Java 対応版の検討 * ユ−ザインタ−フェ−ス [ マウス操作の検討 ] 3ボタンマウスを採用する。Windows でも UNIX でもどちらでも操作性を同じにする。そ れ以上に人間の指は片手5本あり、3本の指程度は自由につかいこなすことができる。3 つのボタンに、シングルクリック、ダブルクリック、タイムクリック、オブジェクトクリ ック、それにマウスの移動量、方向を認識させれば、相当な入力インタ−フェ−スとして 働く。ただしマウスを振っての操作は、国産CADメ−カが特許を申請しているので注意 が必要である。 [ GUI画面の検討 ] Windows や Motif のGUIは素人向けには非常に分かりやすい操作であるといえる。し かし使いこなしていくと、なにか1つ操作するにしても、ポップアップ画面を出して選択 してという操作は、非常にわずらわしくなる。ここらあたりの議論は最近やっと話題に上 るようになり、熟練者の操作性は何割か低下するといったことが言われるようになった。 Windows や Motif の画面はきれいで、操作方法は統一されていて、 コンピュ−タとのヒ ュ−マンインタ−フェ−スはこれだといったきらいが非常に強いが、果たして本当にそう なのか。どんな場合においても操作方法は同じである必要はない。多様な選択肢があって、 操作に習熟するにしたがって、別な機能を提供したっていいはずである。しかし残念なこ とに例えば Motif を使うにと Motif のスタイルガイドといったものがあり、これをくず すのは非常に技術的なノウハウが必要であり、ソフトも不安定になる。 例えば画面の見てくれをよくすることと、コマンド入力は別にしてしまう。Motif ならば 完全画面のみてくれの部分だけ使って、コマンド入力部はプログラムの側で制御するよう な Motif のライブラリを開発するのである。 または Xlib で見てくれのいい画面を作っ てしまってもいい。うまくいけば、これ自体あまたあるGUIツ−ルソフトに一石を投じ ることができるかもしれない。 * 開発ツ−ルと環境 [ ハ−ドウェアの選定 ] 開発は Windows NT と UNIX System V の2本立てでいくのが望ましい。 現在実質的には DOS/V パソコンで Windows NT という選択だろう。しかしこれ一本やりでいいと言い切れ ない。Microsoft 社のアメリカでの訴訟問題。ブタのようにふくれあがったOS。付け焼 き刃が目立つOSやアプリの不安定性。Windows 95 は Microsoft の金、人、力の投入に よる人海戦術で強引にできたものである。 Windows NT 4.0 になってOSはやや安定して 来たかに見えるが、1人の天才が作り出した Apollo DOMAIN/OS の安定性と先進性には足 元にも及ばない。Apollo はもうなくなってしまうからダメであるが、 十分枯れたEWS のOSである UNIX System V も同時に開発すべきである。さらにOSに依存しない Java の存在、Spring などの分散協調OSも注視していく必要がある。※今日なら Linux とい う選択がベストかも知れない、98年では Linux はまだそう話題になっていなかった。 [ 開発ツ−ル試作用 ] Windows 用 C++ : Borland C++ Builder、 デ−タベ−ス : Tools h++ または Object Store PSE グラフィックス : C++ Builder のグラフィックスをそのまま使う。 ソリッドカ−ネル : DESIGN BASE など。 マウス : 3ボタンマウスにする。UNIX 用と操作性を同じにする。 [ 開発ツ−ル市販用 ] Windows 用 C++ : Borland C++ Builder または Microsoft Visual C++。 デ−タベ−ス : Tools h++ または Object Store UNIX 用 C++ : 純正コンパイラ デ−タベ−ス : Tools h++ または Object Store グラフィックス : Xlib だけか Motif を使う。 ソリッドカ−ネル : DESIGN BASE など。 [ 開発環境 ] 既存市販CADの評価、分析用 > AutoCAD 14、Mechanical Desktop、GENIUS 14。I-DEAS Master series。 DOS/V パソコン > Windows NT 4.0 搭載、17 inch Display 1280x1024 dot。3つボタンマウス。 メインメモリ 64 Mbyte 以上。グレアガ−ド ディスプレイ フィルタ−。 EWS > Silicon Graphics O2 または Sun SparcStaion 5。それに Apollo 1台。 [ ソリッドカ−ネル ] 98年当時、ソリッドカ−ネルはとてもや個人で買える値段ではなかった。ソリッドカ− ネルは3次元CAD開発のベ−スとなるもので、新規に作れるような簡単なものではない。 リコ−の DESIGN BASE V5.2 が97年初め、開発ライセンス料が350万円。ソ−ス一括 ライセンスは7千万円。アメリカの ACIS が500万円ぐらいだったか。それがリコ−は 2000年10月に、当時420万円のライセンス料を2万円にしてしまった。 ACIS は なんとタダという。もちろん開発して配布する際にはランタイムロイヤリティがいるが。 ● 市販CADの動向と販売戦略 * 今後のCADの方向性と可能性 ・CAD要素はオブジェクト化されていく。 すでに AutoCAD が形として出してしまった 以上、急速にひろまっていく可能性は非常に大きい。既存のCADをオブジェクト指向 CADとして再設計しないCADメ−カは先ず生き残れない。 ・どの3次元CADも市販のソリッドカ−ネルを採用していく。ソリッドカ−ネルは現在 大きく3本ある。これが1本になることはないと思うが、2本程度になるかも知れない。 ・機械設計要素のオブジェクトカ−ネルがでてくる。建築設計の分野ではすでに業界標準 仕様まで定められつつある。機械設計の方では AutoCAD のアプリケ−ションの GENIUS 14 がそれを狙っているきらいがある。 ・最終的には幾つかのソリッドカ−ネル、機械設計要素カ−ネルをもとに、CADメ−カ はそれぞれの独自色を出していくしかなくなる。 ・上記カ−ネルに加えて、OpenGLといったグラフィックス表示部のデファクトスタンダ− ドの利用により、CADが作成しやすくなり市場参入が増えるか、現在のメ−カの淘汰 が起きるかである。 ・飛行機や車の内外装といったデザインや、高度な滑らかさが必要な3次元CADと、そ の内部の部品設計といったややラフな3次元CADとに、明確に二極分化していく。後 者のCADにおいては、金型設計の GRADE のような 2-1/2 CADは、その特殊性から 今後も生き残ると思われる。 * 最近のオブジェクト指向CAD '97/03 -- Caelum/TeamDesign。デ−タベ−スにオブジェクト指向の ObjectStore を採用 しているもよう。しかしCADデ−タがオブジェクトとして設計されているか どうは不明である。 '97/08 -- AutoCAD R14。明確にオブジェクト指向をうたう。ObjectARX 2.0を提唱。しか し AutoCAD R14 はその基盤を提供するのみで、 機械設計設計要素のオブジェ クトのふるまいは、アプリケ−ションの GENIUS 14 で実装される。 '95 頃 -- I-DEAS。C++で記述された最初のオブジェクト指向CAD。しかし最新バ− ジョンでも、円と寸法線がそのままでは連動しない。パラメトリックでの定義 付けが必要になっている。Pro/Enginnerに対するパラメトリックを意識しての せいか。機械設計要素としての関係までは考慮されていないとみる。 '95 頃 -- 日本UNISYSの CADCEUS。はっきりした年は分からない。一応オブジェク ト指向CADということだが、デ−タ構造の説明にレコ−ドをもち出している。 どうもコ−ドはCか Fortran のようだ。 開発着手したのが早すぎてC++で の実装を検討できなかったようである。 * AutoCAD の動向は 約2年前に出た AutoCAD R13 で、 やっと機械設計を考慮したCADとなった感じがある。 ほぼ同時にでた Mechanical Desktop はいきなり3次元CADとの融合になった。1年程 前デモを1人でみたとき、えらく簡単に立体形状が作成できるなと感心したものだ。それ から WDF(Web Data Format) を発表し、インタ−ネット対応もいち早く提唱している。明 らかにオ−トデスク社は何らかの戦略をもっている。 97年の夏に AutoCAD R14 が出て、9月には GENIUS R14が出たことになっている。98 年3月3日の名古屋での AutoCAD フェアでは GENIUS R14 を盛んに宣伝していた。 図面 要素がオブジェクトとして扱われ、そのメリットを強調していたとのことだ。ソリッドカ −ネルに ACIS 3.0 を使い、C++で内部要素をアクセスできる完全オブジェクト指向型 CADとなった。そして AutoLisp で成功したように今度は Object ARX を提唱している。 Object ARX はいちはやく建築用のCAD部品に適用され、 建築業界でのオブジェクト部 品のフォ−マットが制定されつつある。これが機械設計の分野にまで波及してくると DXF がデファクトになったと同じことが Object ARX でも起こる可能性が高い。目を離すこと ができない。 * 世に出す売るための戦略 -------------------------------------------------------------------------------- 使いやすいCAD、または高機能なCADが売れるとは決していえない。売れるか売れな いかはまさにその企業の戦略と、時の運にかかっている。 -------------------------------------------------------------------------------- それはほぼ歴史が証明している。一番いい例は Apollo コンピュ−タである。完全ネット ワ−ク透過性、適度なGUI環境、 そして安定性など Sun をはじめとする他のEWSに 較べたら群をぬいていた。しかしUNIXのOSが公開でタダだったのにたいし、Apollo のOSは非公開で、そして何よりも高かった。Sun は低価格を武器にどんどん大学に浸透 させていった。サポ−トは当時の UUCP ベ−スのインタ−ネットで勝手に皆で相談してね というのが、結果的にさらに Sun を広めることになり、 同じア−キテクチャのEWSも 同時に広まっていった。 ネットワ−ク機能は、当時それほどうんぬんされる時代ではなかった。今日のようにネッ トワ−ク当り前という時代であれば、少々高くても売れたかもしれない。 つまり Apollo の出現は一歩早かった。少なくともOSを公開し大学おけるUNIX利用に対抗すべきで あった。はたして Sun に明確な戦略があったのかどうかは分からない。 しかし結果的に あったといえる。ではオ−トデスクはどうか。あの女性社長は、明らかにしたたかな戦略 がみえる。MicroCADAM はどうか。 CADAMの名残りで仕方なく使っているユ−ザがほ とんどでないのか。メ−カに戦略があるとは思えない。 * なぜ AutoCAD は売れるのか AutoCAD は決してすぐれたCADではない。最初の格安戦法と AutoLisp によるサ−ドパ −ティビジネスを引き込んだこと、DXF というCADデ−タ交換フォ−マットを公開した ことで成功した。それに国内においては、日本人の外国信奉も手伝ったと思われる。 [ だれでも書ける本格的なアクセス言語があったこと ] CAD内部にアクセスする方法を提供すること。10年前ではほとんどのCADはたいし て考慮してなかった。当時日立の GMM のマクロをかく機会があった。 なんにもできない 言語であった。配列が数十しかなくこんなんで自動設計や部品が作れるものではないと思 った。セイコ−エプソンのCADの場合、1個の要素にアクセスするにも配列の何番目に 何何をセットしてと簡単ではなかった。東洋情報システムの CATISもにたようなものだっ た。その点 AutoLisp は社内の好き者が何とか扱える程度の簡便性を備えていた。これが サ−ドパ−ティを引き込む要因ともなったと考える。AutoCAD を少し使い込めば、Auto設 計屋みたいなアプリケ−ションがかけたのである。 [ DXF のフォ−マットが公開されたこと ] 次の DXFファイルは、CADデ−タの交換フォ−マットが IGES しかなかった時代に、軽 く扱いやすいフォ−マットを世にとうたわけだが、パソコンCADでは交換フォ−マット がなかったため、実質的なフォ−マットにまで認知されるに至った。IGESフォ−マットは、 ながくCADAMをはじめとする大型CADでしか採用されなかった。IGES がパソコン CADでの交換フォ−マットにならなかった理由は、やはりスペックが大き過ぎたことが 原因である。それに国内においては、仕様書が英文であり、一般的に入手がしにくかった。 丸善に頼んで小生はとりよせたのだが。片や DXF のほうは AutoCAD 1台かえば、仕様書 がついてきた。 [ 格安戦法と外国信奉による ] 改めてなぜ AutoCAD が強いのか。耳にたこができるぐらい身の回り AutoCAD だ。しばら く前までは、その実態は国内での建築設計の分野で強かったのが、どうも機械設計の分野 でも勢力を伸ばしてきたように思われる。DXF ファイル形式で、一つ市場を押える以前か ら AutoCADは、国内で2次元CADの大きな選択肢になっていた。約10年前ぐらい、選 択の実質的な国産CADは4〜5本、EWS用CADが数本と言った状況だった。 当時EWS用のCADは300〜500万円ぐらいした。大型コンピュ−タで動いている CADAMなどは中小企業以下では、到底導入は無理。パソコンCADは100〜200 万円だった。AutoCAD はEWSにも、MS-DOS パソコンにも乗り、 パソコンCADの価格 帯だった。ただし、AutoCAD はエンジニアの目で冷静に見た場合決して使いやすいCAD ではなかった。むしろ国産のパソコンCADの方が操作性は良かったと思う。しかし似た ような値段なら、外国製品を選ぶのは仕方なかった。 * 売れるための最低条件 ・汎用言語で外部からアクセスできること。CやC++、それに今後は Java も考慮する 必要があるかも知れない。簡便なマクロ言語ではダメである。マクロ言語も用意しても いいが、それはあくまでもちょっとしたもののためである。UNIXでいえば、シェル みたいなものか。 ・DTPへの利用がしやすいこと。 具体的には Illustrator のデ−タがはきだせること。 現在のCADデ−タをDTPで使うには、たいへんな手間がかかる。2年程前調べたと ころ大日本印刷の DESIGN PACKという商品があり、実際にみた。これはCADそのもの で編集機能もある。しかしこれはパソコンソフトの箱をデザインするために、1個1個 のCADデ−タを扱うことを想定した商品で、大量のデ−タを処理するには到底向いて いなかった。DTPへのCADデ−タ利用は、現在においてもやっかいな問題であるこ とは変わりない。 ・MicroCADAM、AutoCAD のネイティブデ−タを直接読めること。トランスレ−タを介する といったことではない。どこかのディレクトリに MicroCADAM のデ−タを放り込んでお いて、そこから読んで編集して、通常にセ−ブしたらそのCADのデ−タになる。これ はCADの乗り換えをしやすくするためである。何年か前CADAMのデ−タを他メ− カのCADデ−タに変換するソフトの見積りをとった会社によれば、確か1億円とかい っていた。これでは乗り換えることは不可能である。こうしたユ−ザは潜在的にかなり いると見る。 ・機能を限定して10万円程度の製品も同時に用意する。例えばネットワ−ク対応でない とか。無料のお試し版もいいが、ユ−ザはあくまでも評価用としてか見ない。 AutoCAD に対する AutoCAD/LT このような発想が必要である。一見損をするようだが、シェアの 拡大にはなる。フリ−ソフトの建築用CADの JW_CAD が、Windows 版ということで5 万円程度で出たらどうなるか。これは少し別な観点になるが。多分金を出しても買うぞ。 ともかく何でもいい先にシェアをとった方が、断然優位にたつことは間違いない。 ・今後はインタ−ネットでの利用、エクストラネットといった方がいいか、これを考慮し ていくこと。AutoCAD の WDF が1つの見本となる。 3次元デ−タをインタ−ネットで 流すための軽いデ−タフォ−マットを、DESIGN BASE 開発者の千代倉氏が提唱しようと しているのも、この流れである。