Frage

Ist es möglich, CAD / CAM-Software zu tun, ohne C ++ verwenden? Meine Firma entwickelt ihre Software mit C / C ++, aber das war mehr als 10 Jahren. Heute gibt es eine Menge von Legacy-Code, die uns zwingen, Schalt würde, um loszuwerden, aber ich frage mich, was die tatsächlichen Risiken. Wir haben eine Menge mathematischer Algorithmen zur Berechnung von Werkzeugwegen, Feature-Erkennung und Simulation und 3D-Rendering und ich frage mich, ob C # können alle, dass Griffe ohne großen Leistungsverlust.

Ist es eine Utopie solcher Algorithmen in c # neu zu schreiben oder nur die Sprache mit UI beschäftigen. Wir sprechen hier nicht über die Entwicklung von Spielen hier (Halo 3 oder Call Of Duty), so wie viel Verarbeitung ist CAD / CAM wirklich braucht?

Kann jemand mich aufklären zu diesem Thema? Die meisten meiner Kollegen sind hardcore C ++ Programmierer und obwohl ich in c ++ programmiere ich liebe .NET, aber ich habe eine harte Zeit mit .NET, um sie nicht zu der Basis UI verkaufen. Ist es sinnvoll zu prüfen, um .NET in einem solchen Feld wechseln, oder ist es einfach nicht eine kluge Idee?

Danke

War es hilfreich?

Lösung

Wenn Sie eine Menge von Legacy-Code, der neu geschrieben werden müßte, ich sehe es nicht wirtschaftlich sinnvoll zu machen, um eine andere Sprache zu wechseln. Auch wenn es Gewinne aus der Verwendung eine andere Sprache zu haben waren (was fraglich ist), die Kosten für das Testen und Debuggen von dem neuen Code würde mehr als sie überwinden. Sie haben auch ein Entwicklungsteam, die Experten in C ++. Es wäre ein großer Produktivitätsabfall, während sie kam die neue Sprache Geschwindigkeit auf.

Andere Tipps

C # Kann Interop mit C ++ Code. Sie können das Schreiben neuer Code in C # beginnen und haben es vorhandenen c ++ Code aufrufen, wenn nötig. Es wäre nicht nur für die Benutzeroberfläche sein. Schauen Sie in C ++ / CLI und den C # Interop Methoden, um Informationen über die Verwendung von vorhandenen c ++ Code mit neu C # -Code.

Auch fragte ich eine ähnliche Frage hier: C # Leistung für Proxy Server (vs C ++)

CAD / CAM-Anwendungen ziemlich rechenintensiv sind, und die Geschwindigkeit wird auf jeden Fall eines der Kriterien sein für ein Paket auszuwählen, so würde ich auf eine langsamere Sprache bewegter vorsichtig sein.

Sie müssen zum Schalten Sprache sehr sorgfältig über die Gründe denken. Ist es, weil Sie C nicht mögen ++, oder weil C # wird echte Vorteile bringen. Es ist sehr wahrscheinlich, Ihre Anwendung zu verlangsamen. Schauen Sie sich die C ++ C # Geschwindigkeitsvergleiche.

Computersprache Benchmarks Spiel C ++ vs C #

In meiner bescheidenen Meinung nach, würden Sie besser dran, alle der Berechnung von Werkzeugwegen in C ++ zu halten, und wenn Sie wirklich muss einen Code über in eine andere Sprache verschieben, verschieben Sie sie in einer Skriptsprache über die der Benutzer leicht bearbeiten, ohne Neukompilierung.

Ich verwende CAD / CAM-Anwendungen jeden Tag bei der Arbeit, und es gibt eine Reihe von Dingen in der Benutzeroberfläche, die mir auf die Nerven zu bekommen. Sie würden einfache Korrekturen, wenn ich nur an der Quelle bekommen.

Wenn Ihr Unternehmen macht eine CAD / CAM-Anwendung, die eine Benutzeroberfläche in einer Skriptsprache geschrieben hat, die ich zwicken (Lua, Python etc.), ich werde eine Kopie kaufen.

Hugo

Hier finden Sie aktuelle pythonocc . Seine bietet Ihnen ein Python-Modul, das die CAD-Kernel Opencascade wickelt. Opencascade ist der einzige Industrie Stärke Open-Source-Kernel mir bewusst bin. Nette Features sind STEP und IGES-Unterstützung und die Fähigkeit, FEM-Netze von BRep Daten zu erzeugen.

Eine andere Sache, die Sie beachten müssen, Plattformunabhängigkeit ist - wenn es eine Möglichkeit gibt, dass Sie / Sie Unternehmen benötigen, um Ihre CAD-Software auf Linux / Unix (Natürlich für bussiness Entscheidung) zu migrieren, wird es sehr schmerzhaft sein. Derzeit noch C ++ mit MFC / Win32 Anrufe gaben uns viele Kopfschmerzen ...

Die Open Design Alliance Bibliothek ist plattformübergreifend. Sie haben vor kurzem eine Beta-Version von der .NET-Version ihrer Bibliothek. Siehe meine Antwort href="https://stackoverflow.com/questions/169390/open-source-cad-drawing-dwg-library-in-c/206456#206456"> Open-Source-CAD-Zeichnung (DWG) Bibliothek für weitere Details.

Nachdem das nun gesagt, dass ich mit den anderen Antworten stimmen hier - wenn es nicht kaputt ist, repariere es nicht, sowohl den Code und die Programmierer. MSFT verwenden noch C ++, wie die ODA tut - ihre Code-Basis in C ++ stammt und für .NET gewickelt

.
scroll top