自己紹介シリーズ第5弾です。前回の ベンチャー企業でオリジナルCADのコア部分を開発する の続きです。
画像はイメージです
CADの基本機能は大量の図形データの表示・作成・変更で事です、しかも人にストレスを与えない速度で動く事がとても重要です。
さて色々と検討の結果プラットフォームはApollo社のワークステーションに決まりました、32bitCPUを内蔵しているとは言えメモリーは4MByte(Gbyteではありませんよ)でしたしクロックは20MHzくらいです、iPhone3よりも性能が低いコンピュータでした。
大量の図形データを高速に表示・編集出来るようにするために、いろいろな工夫が必要でした。ワークステーションは仮想記憶を備えていたので大量のデータを扱えましたがメモリーに入らないデータはディスクに追い出され極度に遅くなるので、メモリー連続性を考えたデータ構造にしないといけません。 またデータ構造は成るべくシンプルな方が複雑なバグが減らせると考え図形データの構造を日々悩みながら決定していきました。
CADには図形データを部品(グループ)化し、それを参照として配置する機能があります。上の画像では青い丸が四角い枠に囲まれたコネクターがいくつか置かれていますが、同じピン数のコネクターの実態は一つでそれを参照する参照を複数配置しています、参照は角度や大きさを指定出来き効率的な設計ができます。
通常の編集では参照しか編集できません。部品データを編集するには、現在編集しているデータを閉じて部品を再オープンし編集する必要のあるCADもありました。しかしこのCADはその場で部品データを編集対象にし変更し、また元のデータの編集に戻る機能を持っていました。
この機能を実装するのに役立ったのが大学で Lisp処理系を作った 経験でした、それ以外にもデータを高速に扱うためのテクニックが幾つもありました。
そして大成功
このCADがリリースされると大いに売れベンチャー企業は急速に成長していきました、売れた要因はお客様である家電メーカーが求めているCADだったからです。当時日本の家電メーカーは世界を席巻しており、性能が良く、大量に導入できる価格で、そして従来と同じように使えるがCADが求められていたのです。
米国のCADメーカーはより進んだ回路図を中心に統合的にLSIやプリント基板が設計出来る新世代のCADを開発していましたが、日本の家電メーカーの製品はまだアナログ回路が中心で、従来のCADのように回路図に縛られず自由にプリント基板を設計できるCADを求めていたのです。
また、ワークステーションにはLANがあったのでデータや周辺装置の共有が簡単に出来た事も大量にCADを導入する要因になったと思います。