方に質問があります。
先日、人づてに「CADを扱う仕事をするのなら、C言語を勉強
しておいてほしい」といった話を聞きました。
どのような状況で、C言語を必要とするのかということは
聞けませんでした。
ですので、実際にCAD設計をなされている方で、C言語を
使用している方がおりましたら、どのようなときに、用いて
いるのかを教えていただきたいと思いました。
どうぞ宜しくお願い致します。
昔同僚がそんなことしていたのを横で見ていた経験からですが、CADでの設計というのはただ単にUIを使って画を描くだけではありません。
CADで使う部品のデータの生成とか、プリント基板のパターン配線のルールを変えたりとか、図面に対する独自の設計ルールチェック等など、色々とそれぞれの仕事内容によって手を加える必要が多々あります。そういった部分でプログラミングが必要になってきます。一言で言えばカスタマイズが必要だからです。
必ずC言語かというとCADやCADの環境によって異なりますが、C言語を知っていればつぶしがききますし多くの場合間に合うからでしょう。
したがって、同じCAD製品でも使う会社によって中身は特化していきます。トヨタで使っているCATIAはトヨタのCATIAであって元々のCATIAとは違うとかも聞きますし。
利用側ではなく開発側の者ですが、お使いの CAD は API を公開していませんか?
CAD によっては、ユーザー独自のコマンドを作成できるようにするために、API を公開しています。
独自コマンドの開発を外注する会社もありますが、自社で開発する会社もありますので、mimio17 さんが勤めていらっしゃる会社は後者ではないでしょうか?
私は仕事で10年以上2D、3DのCADソフトを4種類ほど使いました。勿論現在も3D-CADで仕事をしています。業種にもよるのだと思いますが、私は一切使用していませんし、勉強をしたことも有りません。(興味はありますが・・・)
CAD設計と書かれていますので、制御関係が絡む仕事だったりすると使うのかもしれませんが、意匠、構造、機構、加工、組付け等の設計をしている私の仕事上での関わりは有りません。
そんな仕事してるのにC言語も知らないの!?と言う方がいらっしゃるかもしれませんが・・・
参考になりますでしょうか?
CADメーカからC言語のAPIライブラリが公開されている場合があります。(例えばAutoCADなど)
特定の分野に特化した機能を強化するにはC言語で自前開発してアプリの機能を追加して保守する必要があるのかと思われます。
またより複雑なデータを扱うアプリケーションを製作保守する場合はC++言語の知識が必要かもしれません。
あとはオープンソースで開発されているアプリケーションやCADエンジン・ライブラリだと、バグの発見から修正してパッチ公開まで行うには、プログラミングに関する若干の知識は必要でしょう。
CADエンジン・ライブラリをベースに社内アプリを製作して運用しているならば社内アプリを保守する人材も必要ですし・・・
オープンソースのCADエンジンの例Open CASCADE Development
っていうか、指摘した張本人に、どのような経験から指摘しているか聞くのがコミュニケーションというものじゃないのでしょうか。
コメント(9件)
CAD設計を行う方が、カスタマイズすることもあるのですね。
参考になりました。
当方は会社員ではなく、C言語がどのように使われるのかを
教える立場にあります。
CAD設計をされる方が、ソフトのAPIもいじる場合があるというのは
すごいですね。参考になりました。
当方もそのような認識でおりましたので、現場の方のお話が
聞けまして、良かったです。
>っていうか、指摘した張本人に、どのような経験から指摘して
>いるか聞くのがコミュニケーションというものじゃないので
>しょうか。
詳細は省きますが、当方が直接受けた話ではなく、かつこちらで
調べた方がよいという状況になり、質問させていただいた次第です。
CAD分野において、いろいろな方面の方からのお話が聞ける
メリットもあると思い質問させていただきました。
ありがとうございます。認知度の一意見として、参考にさせて
いただきます。
私の無知はおいておいて、「オブジェクト指向」という方に注目してください。
コメントありがとうございます。
CAD設計において、オブジェクト指向の考え方がどのように
活かせるのかが、ぴんときません。(オブジェクト指向は万物に
活かせるだろうと言われればそれまでですが)
もし、よろしければご教授いただけますか?
> オブジェクト指向の考え方がどのように
> 活かせるのかが、
> ぴんときません
だからこそ勉強しろ、という意味だったのでは?と、言ったらそれまでなので、ちょっとだけ補足します。
AutoCADはすでにオブジェクト指向の考え方を実装しているようです。この場合のオブジェクト指向というのは、オブジェクト指向設計のことを言います(建築の設計、とは直接関係ありません)。
プログラムを書けるようになる必要はありませんが、休日などにオブジェクト指向プログラミングに触れてみると良いでしょう。
丁寧なコメントありがとうございます。
こちら側で、その後少し話を聞く機会があったのですが、オブジェクト指向の話とは、主旨が違うようでした。
しかし、AutoCADがオブジェクト指向の考え方を実装しているというお話が聞け、個人的に関心を持ちました。
私はCAD使い屋ではありませんが、オブジェクト指向は少しだけ
勉強をしていました。しかし、まだまだ理解不足であるので、勉強
していきたいと思います。
貴重なご意見ありがとうございました。