4

C++ を使用せずに CAD/CAM ソフトウェアを実行することは可能ですか? 私の会社は c/C++ でソフトウェアを開発しましたが、それは 10 年以上前のことです。現在、切り替えることで削除せざるを得ないレガシー コードがたくさんありますが、実際のリスクはどのようなものか疑問に思っていました。ツールパスの計算、フィーチャの認識とシミュレーション、3D レンダリングのための数学的アルゴリズムが多数ありますが、パフォーマンスを大幅に低下させることなく、C# でそれらすべてを処理できるかどうか疑問に思っていました。

そのようなアルゴリズムを C# で書き直すのはユートピアなのか、それともその言語は UI のみを扱うべきなのか。ここではゲーム開発 (Halo 3 や Call Of Duty) について話しているわけではないので、CAD/CAM は実際にどのくらいの処理を必要とするのでしょうか?

誰かがこの問題について私に教えてもらえますか? 私の同僚のほとんどは筋金入りの C++ プログラマーであり、私は C++ でプログラミングしていますが、.NET は大好きですが、基本的な UI 以外に .NET を彼らに売り込むのに苦労しています。そのような分野で .NET への切り替えを検討することは理にかなっていますか?それとも単に賢明ではないのでしょうか?

ありがとうございました

4

6 に答える 6

12

書き直す必要のあるレガシー コードがたくさんある場合、別の言語に切り替えることはビジネス上意味がないと思います。別の言語を使用することで得られる利益があったとしても (これは疑問です)、新しいコードのテストとデバッグのコストはそれを上回るものです。また、C++ の専門家である開発チームもいます。彼らが新しい言語に慣れるまでは、生産性が大幅に低下するでしょう。

于 2009-01-16T19:49:38.680 に答える
3

C# C++ コードと相互運用できます。C# で新しいコードの作成を開始し、必要に応じて既存の C++ コードを呼び出すことができます。UIだけでなくても構いません。既存の C++ コードを新しい C# コードで使用する方法については、C++/CLI と C# 相互運用メソッドを参照してください。

また、ここで同様の質問をしました: C# Performance For Proxy Server (vs C++)

于 2009-01-16T19:54:58.467 に答える
2

CAD/CAM アプリケーションはかなり計算量が多く、速度は間違いなくパッケージを選択する基準の 1 つになるため、遅い言語への移行には慎重になります。

言語を切り替える理由について、非常に慎重に考える必要があります。それは、C++ が好きではないからですか、それとも C# が真のメリットをもたらすからですか。アプリケーションの速度が低下する可能性が非常に高くなります。C++ C# の速度比較を確認してください。

コンピューター言語のベンチマーク ゲーム C++ と C#

私の謙虚な意見では、すべてのツールパス計算を C++ で行った方がよいでしょう。実際にコードを別の言語に移行する必要がある場合は、ユーザーが簡単に編集できるスクリプト言語に移行してください。コンパイル中。

仕事で毎日 CAD/CAM アプリケーションを使用していますが、UI には神経をとがらせるものがたくさんあります。ソースを突き止めることができれば、それらは簡単な修正になります。

あなたの会社が、私が微調整できるスクリプト言語 (Lua、Python など) で書かれた UI を持つ CAD/CAM アプリケーションを作成している場合、コピーを購入します。

ヒューゴ

于 2009-01-16T22:01:32.643 に答える
2

pythonoccを見てください。OpenCASCADE CAD カーネルをラップする python モジュールを提供します。OpenCASCADE は、私が認識している業界で唯一の強力なオープン ソース カーネルです。優れた機能は、STEP および IGES のサポートと、BRep データから FEM メッシュを生成する機能です。

于 2010-07-07T00:17:59.833 に答える
0

もう 1 つ考慮する必要があるのは、プラットフォームの非依存性です。あなた/あなたの会社が CAD ソフトウェアを Linux/Unix に移行する必要がある場合 (もちろん、ビジネス上の決定のために)、それは非常に苦痛です。現在、MFC/Win32 呼び出しを使用する C++ でさえ、多くの頭痛の種でした...

于 2009-02-25T14:10:58.923 に答える