- 締切済み
2次元Cadのプログラム作成方法
- 2次元Cadのプログラムを作成するためには、適切な本や参照資料が必要です。
- 現在の2DCadは多機能になっていますが、イメージの表現や変更が容易な機能が欲しいと思われます。
- 初めてプログラムを組み始める人には、高校程度の電子回路の知識があれば十分です。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
趣味としてなら面白いが。実用にはならないでしょう。 実用を目指すならカーネルの利用を考えたほうが現実的でしょう。 もう今は無くなったはずだけどリコーのデザインベースとか比較的安価なものもあるしフリーのツールキットもあるのか? 実は私もPCの前、ワンボードキットの時代から考え、数学の勉強からしましたけど挫折しました、 山口さんの「CAD工学 (情報数理シリーズ)とか http://www.amazon.co.jp/CAD%E5%B7%A5%E5%AD%A6-%E6%83%85%E5%A0%B1%E6%95%B0%E7%90%86%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%B1%B1%E5%8F%A3-%E5%AF%8C%E5%A3%AB%E5%A4%AB/dp/4563014931
質問者殿は、チャレンジ精神あふれる方なのだろうなぁと思いました。 (お若い方なら、その好奇心が御自身を鍛えます。頑張って下さい。) さて、かつて私も若い頃、同じような事を考えたことがあります。 まだパソコンが8bit機の時代(PC-8001の頃ね)、 テクニカルイラストレーション(等角投影図)を作図させたくて、 マシン語の勉強を始めました。 i8080/8085やZ-80等、80系は何とかこなせるようになり、 仕事で制御プログラムを担当できるまでになりました。3年程要しました。 (後に、i80286/287までは、使えるようになりました。) (モトローラは、6809まで扱いました。) 結局、等角投影図は、CADAMの2.5次元作図機能で充分だし、 会社で導入し始めた3D-CADで事は足りるしで、 テクニカルイラストシステムの自作計画は、断念しました。 後に、MS-DOS上のデータベースシステムで経理ソフト一式を作ったり、 Novellのネットワーク環境でシステムを運用したり、 現在のWin環境で、一通りの事が出来るのも、当時の勉強の成果だと 懐かしく思い出したりするわけです。 頑張って下さい。勉強は決して無駄にはなりません。 以下、真面目なプログラミング上のアドバイス。 > 高校程度の電子回路の知識しかなく、初めてプログラムを組み始める者 そうであれば、先ずは何かの言語で簡単なプログラムを組む練習を。 BASICでもCでも構いません。 CADプログラムを構築する際には、 1)プログラムは、必ずデータ構造を意識して行いましょう。 どんなデータ構造にするかが、鍵です。よく考えましょう。 2)自分が使うものだからと疎かにせずに、 外部設計を充分に吟味しましょう。使い勝手の良さが、正否を分けます。 3)内部設計は、大枠を決めてから細かいところへ歩を進めるのか、 細部を考えてから全体を詰めていくのか、二通りの進め方があります。 どちらも適宜にバランス良く進めましょう。 トップダウンもボトムアップも、どっちもやってみるのが良いです。 良いものが出来たら、公開して下さい。 シェアウェアにして、そこそこ儲けられるかもしれません。 その日を夢見て、チャレンジして下さい。
>>Cadのプログラム入門 はまずないでしょうね CADは一般利用ソフトではないから ホビーでは3DCGソフト モデラ のほうが売れる 資格詐欺でCADが有名になっただけで、 本来は技術屋以外は知るべきものではない 似非設計者や技術者の恩恵 >>今の時代は3Dが脚光を浴び、2Dは多種存在し、... 実は3Dのほうが簡単だったりする APIが充実してるから DX3D や OPEN-GL なにせ座標を入れるだけで 表示も回転も縮小もすべてAPIが用意されてる CADはOPEN-GL使ってる場合が多いけど DirectXを使ったほうが作りやすいと思う dirextX SDK 使い方 でググルといやなほどで出てきます 私はDX5で挑戦したけどXPにあがったとき、内部構造がむちゃくちゃ変わったのでそのとき挫折しました DX2Dの廃止とかさまざま、頂点バッファって?その当時のグラボも対応してなかったし まあ、本当に0から作る必要はなく オープンソースのBlender http://wbs.nsf.tc/blender.html#blender2 なんか用意されてるしね(ほかにもある) ↑ 3DCGソフトウェアですが、寸法で入力できるようにすればりっぱなCADになります 2DCADで有名なJW-CAD(DOS版は名作だった) どこぞにはった 3DCGモデラ の メタセコ ・ 六角 ・ DOGA などは素人が作ったものです 3DCGソフト http://ja.wikipedia.org/wiki/3DCG%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2#.E5.9B.BD.E7.94.A3 3DCAD http://ja.wikipedia.org/wiki/CAD DirectX SDK http://msdn.microsoft.com/ja-jp/directx/aa937788.aspx OPENGL SDK http://www.asahi-net.or.jp/~yw3t-trns/opengl/extensions/index.htm 開発環境 無料版 勉強するだけならこれ http://www.microsoft.com/japan/msdn/vstudio/express/ MSDN オンラインヘルプ http://msdn.microsoft.com/ja-jp/default.aspx DirextX書籍 http://www.amazon.co.jp/exec/obidos/ASIN/4797341874/itousoftlab-22 OPENGL書籍 http://www.amazon.co.jp/exec/obidos/ASIN/4777513432/itousoftlab-22 2Dやりたいのになんで3Dと思われるかもしれませんが だまされたと思って使って見るとわかるよ >>自分も3Dの利便性を でたぶん誤解されていると思うが >>複雑と思っている3Dのプログラミング 近頃の2Dのゲームは 見かけ上 2Dですがプログラムでは3Dです 単にZを0にしてるだけ Dx5→Dx7に移ったときにDX3Dに統合(っというかDX2Dは廃止)された ↑ 私はここで挫折 (3DCADもどきを作っていたが DXF(3d)を読み込んで表示させるところまでは 一日でできた) たとえばcad上で 横にスクロールさせるプログラムを考えると 一度画面を消して 再作画させるプログラムを作らないといけない リフレッシュスレートがどうのこうの 表示できる範囲は(画面から外れた領域は)などいろいろ考えなければならない DX3Dの場合 http://marupeke296.com/DXG_No56_CameraBaseTrans.html ↑ 視点移動 視点位置とカメラ位置をずらすコマンドが用意されているので それを実行するだけでいい (ハード的に全自動でやってくれる) どのくらい簡単なのか http://marupeke296.com/DXGSmp_No2_2DPoly.html ↑ このくらいのプログラムで 2D板ポリゴンが出現し、回転拡大縮小しながら頂点を虹色に変化するプログラムができてしまいます これがある意味Windowsの怖いところなんですがね 表示系は、ほとんどすべてこのくらいのプログラムでできてしまう
補足
読ませていただき、いろいろ考えました。覚悟はしてますが、やることたくさんありそうだなと。一通りの流れを列記していただき、感謝しております。 要点を書いていただきながら、出先のパソコンからうまくログインできず返事が遅くなり、すみません。これから時間をかけて、一つ一つ調べて見ます。 早々にアドバイスをいただきありがとうございました。 >>APIが充実していること、DirectXを使ったほうが作りやすいとのご意見には、方針が見えてきて、ありがたいです。ぜひ参考にさせていただきます。 >>2Dやりたいのになんで3D これについては、そのとうりだと思います。3Dも含めて調べてみます。 発想時のイメージと立体的な図面の比較において、自分も3Dの利便性を少し知ってます。 理由は当初の必要性が2Dで十分との事もあり、その上複雑と思っている3Dのプログラミングについては、自分にとって思い及ばぬところのものだったわけです。