3Dプリンタの元祖

目次

パーソンズ社

空軍

加工機の完成

Whirlwind

自動プログラム装置

完成、その後

CAD

そして現代


自動プログラム装置

シーゲルの同僚、ロスは、1956年の9月に、シーゲルからプログラム改良の相談を受けています。


NCMM は、「立体形状の削り出し」を行える能力を秘めていました。しかし、現実には、立体を削り出すような制御は複雑すぎて人間の手には負えません。


ラニアンのサブルーチンは、円と直線の削り出しを行うだけです。このサブルーチンを使いやすくしたシーゲルの言語でも、状況は変わりません。

コンピューターを使って制御するのだから、その計算力で立体形状を削り出せないだろうか? これが、シーゲルの悩みでした。


ロスは、シーゲルの言語を見て2つの問題点に気づきました。

第1に、この言語は人間にとって分かりにくい上に、拡張性がありません。ここに立体の概念を持ち込んだら、よりわかりにくくなり、破綻するでしょう。

第2に、円と線の組み合わせだけでは、定義できる立体はかなり限られてしまいます。コンピューターに対して数式を理解させ、数式の組み合わせとして立体を定義できなくては、実用的な形状は削り出せません。



1956年と言えば、ちょうど IBM が FORTRAN を発表した年でもあります。(実際の製品は翌年完成)
数式をコンピューターに理解させるというアイディアや、「自動プログラミング」という名称は、FORTRAN の影響があったと思われます。


ラフなアイディアがまとまったのは、1957年の2月。このアイディアは Automatically Programmed Tool (自動プログラム装置)…略して APT と名付けられます。


空軍にこのアイディアを見せると、なんと、当時の金額で3千万ドルの予算が付きました。


3千万ドルを今の金額にすると、600億円程度の予算です。
近年の例でいえば、地球シミュレータの開発費が 600億円。
新時代を切り拓くプロジェクトとしては適正価格ということかな?

予算が付いたことで、いよいよ本格的な開発がスタートします。

APTの開発は、MIT 、米国航空宇宙工業会(Aerospace Industries Association:AIA)、空軍航空資材軍団(Air Materiel Command:AMC)の三者共同研究として始まりました。


1957年5月20日には最初の「開発会議」が行われます。AIA に参加している航空機会社14社から、21人が参加し、他多数のプログラマも参加する非常に大きな会議でした。


3週間後には、最初の言語仕様(APT 言語)が固まります。

また、参加する会社のほとんどが IBM 704 を導入済みか導入予定だ、ということがわかり、APT システムは IBM 704 用に開発されることになります。

ベースとなっているのはラニアンが作成したライブラリ、シーゲルが作成した言語ですが、丸ごと IBM 704 で作り直そう、ということです。


WWI は、当時としては非常に高速なコンピューターでした。
しかし、APT は「コンパイラ」です。速度はそれほど重要ではなく、普及している IBM のコンピューターを使用することが順当でした。

この言語仕様に基づき、APT I が作られました。APT 言語は…シーゲル言語を、人間にわかりやすく、冗長に書き変えて、IBM 704 に移植しただけでした。


つまり、基本的には「円と直線」に位置や大きさのパラメータを与えることで形を作ります。出来ることは何も変わっていません。


APT言語での作例


先に書いた「シーゲル言語」と同じ図形を示す APT 言語の例。
各行の終端は $$ である。
(ロス自身は、「APT が決して安価なシステムではない、ということを思い起こさせるように、2倍のドルを使う」と言っている。…まぁ単に、言語理論で文の終わりを示す記号である「$」を、他の使用意図と区別するために2つ使っただけでしょう)

形状に自由な名前を付けられるようになり、命令も、POINT CIRCL LINE といったように、英語に近い表現になった。

形状につけた名前は、シーゲル言語と同じように、別の形状の定義に使用できる。
図の例では、点 JIM を中心として、円 JANE を定義し、円 JANE と円 JUNE の接線 WALDO を定義している。

冗長に書き直されたということは、さらに命令を増やす余裕が生まれた、ということでもあります。今は機能が同じでも、将来性を獲得したのです。


そして、1958年の早い時期には、「2D-APT II Phase 1」と呼ばれるシステムが完成しました。

名前こそ「2D」ですが、円以外の曲線が使えるようになっただけでなく、立体形状の定義も可能になりました。


具体的には、楕円、放物線、双曲線、平面、球、三角錐、円筒、放物面、双曲面…

底面が楕円の三角錐や円筒、放物線や双曲線を「押し出した」立体など、組み合わせられた複雑な形状も使えます。


さらに、Y = F(X) や Z = F(X,Y) の形式で関数を定義し、曲線や曲面をユーザーが作り出すこともできます。


これらの形状は、別の形状との「交点」を求めることもできます。

APT は、基本的には形状の周囲の「線」に従って素材を削り出しますが、交点まで到達すると、そこからは次の形状に従って移動します。

(実際には、交点から「右」に移動するか「左」に移動するかを指示する必要があります)


これによって形状の一部だけを曲線として利用し、それを組み合わせて複雑な形を作り出すことができました。


APTで描いた3D形状これで、球や三角錐、放物面や関数などの「数学的に定義できる」形状の削り出しには対応できるようになりました。


2D-APT II での切削パスは、ジグザグに X,Y を移動させながら、Z = F(X,Y) を評価し、Z に従って刃の高さを変える、というものでした。(図左、右下)
試作段階の 3D-APT III では、より美しく削り出せるように、らせん状に削っています。(図右上)


しかし本当の目的は達成できていません。作りたかったのは、ヘリコプターのローターや、ジェット機の翼などの「自由な」曲面の削り出しなのです。

問題は、そのような曲面をどのように定義したらよいのか、ということでした。


2D-APT II 作成中のロスのレポートでは、これを「未解決の問題」として、問題提起しています。

そして、この問題は結局解決できず、自由曲面の削り出しを目標とした「3D-APT III」は完成しませんでした。


自由曲面の作成方法…。ロスはかなり悩んだようですが、実現することはできませんでした。しかし、提起されたこの問題は MIT や APT の枠を超えて…世界中の数学者が協力する問題となります。


「自由曲線」は数年後には実現します。

しかし、パーソンズがヘリコプターのローターを作った時のように、「曲面」は「曲線」の連続ではありませんでした。


自由曲面の実現アルゴリズムが開発されるのは、ロスの悩みから20年後。

実用的に使用できるソフトウェアの完成までには、それからさらに10年かかりました。


次ページ: 完成、その後


前ページ 1 2 3 4 次ページ

(ページ作成 2013-05-02)

前記事:Whirlwindのアセンブラ     戻る     次記事:自由曲面実現の歴史
トップページへ

-- share --

0000

-- follow --




- Reverse Link -