本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:2次元Cadのプログラムの作成方法教えてください。)

2次元Cadのプログラム作成方法

2023/10/18 04:46

このQ&Aのポイント
  • 2次元Cadのプログラムを作成するためには、適切な本や参照資料が必要です。
  • 現在の2DCadは多機能になっていますが、イメージの表現や変更が容易な機能が欲しいと思われます。
  • 初めてプログラムを組み始める人には、高校程度の電子回路の知識があれば十分です。
※ 以下は、質問の原文です

2次元Cadのプログラムの作成方法教えてください。

2010/06/10 01:08

マイクロキャダム、オートキャドを10年ほど会社の仕事で使ってきました。双方に、優れているところがあると思って使っておりますが、なれてくると自分でもCadのプログラムを作ってみたいと思うようになり、膨大なプログラム量になるとは思いつつ、仕事の励みになるだろうと思い挑戦したいと思っております。
高校程度の電子回路の知識しかなく、初めてプログラムを組み始める者に適切な本と参照に値するプログラム等有れば、教えて頂けませんでしょうか。

ジュンク堂で半日探しましたがCadのプログラム入門相当本すら見つけられず、参考書の当たりも付けられない状態です。

今の時代は3Dが脚光を浴び、2Dは多種存在し、選択に戸惑うところですが、発想における表現は2Dが基本であり、現在驚くほど多機能にはなっても、もう少しイメージを容易に表現、変更、展開させる一連の機能が欲しいと思っております。お願いします。

回答 (3件中 1~3件目)

2010/06/14 07:46
回答No.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

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2010/06/13 18:08
回答No.2

質問者殿は、チャレンジ精神あふれる方なのだろうなぁと思いました。
(お若い方なら、その好奇心が御自身を鍛えます。頑張って下さい。)

さて、かつて私も若い頃、同じような事を考えたことがあります。
まだパソコンが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)内部設計は、大枠を決めてから細かいところへ歩を進めるのか、
  細部を考えてから全体を詰めていくのか、二通りの進め方があります。
  どちらも適宜にバランス良く進めましょう。
  トップダウンもボトムアップも、どっちもやってみるのが良いです。
良いものが出来たら、公開して下さい。
シェアウェアにして、そこそこ儲けられるかもしれません。
その日を夢見て、チャレンジして下さい。

2010/06/10 02:39
回答No.1

>>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の怖いところなんですがね
表示系は、ほとんどすべてこのくらいのプログラムでできてしまう

補足

2010/06/16 02:34

読ませていただき、いろいろ考えました。覚悟はしてますが、やることたくさんありそうだなと。一通りの流れを列記していただき、感謝しております。

要点を書いていただきながら、出先のパソコンからうまくログインできず返事が遅くなり、すみません。これから時間をかけて、一つ一つ調べて見ます。
早々にアドバイスをいただきありがとうございました。

>>APIが充実していること、DirectXを使ったほうが作りやすいとのご意見には、方針が見えてきて、ありがたいです。ぜひ参考にさせていただきます。

>>2Dやりたいのになんで3D
これについては、そのとうりだと思います。3Dも含めて調べてみます。
発想時のイメージと立体的な図面の比較において、自分も3Dの利便性を少し知ってます。
理由は当初の必要性が2Dで十分との事もあり、その上複雑と思っている3Dのプログラミングについては、自分にとって思い及ばぬところのものだったわけです。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。