无C+的CAD/CAM+; 在不必使用C++的情况下,可以做CAD/CAM软件吗?我的公司用c/c++开发了他们的软件,但那是十多年前的事了。今天,有很多遗留代码需要转换,这会迫使我们摆脱,但我想知道实际的风险是什么。我们有很多用于刀具轨迹计算、特征识别和模拟以及3D渲染的数学算法,我想知道C#是否能够在不损失大量性能的情况下处理所有这些问题

无C+的CAD/CAM+; 在不必使用C++的情况下,可以做CAD/CAM软件吗?我的公司用c/c++开发了他们的软件,但那是十多年前的事了。今天,有很多遗留代码需要转换,这会迫使我们摆脱,但我想知道实际的风险是什么。我们有很多用于刀具轨迹计算、特征识别和模拟以及3D渲染的数学算法,我想知道C#是否能够在不损失大量性能的情况下处理所有这些问题,c#,c++,vb.net,cad,C#,C++,Vb.net,Cad,用c语言重写这样的算法是乌托邦,还是该语言只处理UI。 我们这里不是在谈论游戏开发(Halo 3或使命召唤),那么CAD/CAM真正需要多少处理 有谁能在这件事上启发我吗?我的同事大多是硬核C++程序员,虽然我在C++中编程,我喜欢.NET,但是我很难把.NET卖给他们,而不是基本的UI。在这样一个领域中考虑切换到.NET是否有意义,或者这不是一个明智的想法?< /P> 谢谢如果您有大量需要重写的遗留代码,我认为切换到其他语言在商业上没有意义。即使使用另一种语言(这是值得怀疑的)会有好处,测试和

用c语言重写这样的算法是乌托邦,还是该语言只处理UI。 我们这里不是在谈论游戏开发(Halo 3或使命召唤),那么CAD/CAM真正需要多少处理

有谁能在这件事上启发我吗?我的同事大多是硬核C++程序员,虽然我在C++中编程,我喜欢.NET,但是我很难把.NET卖给他们,而不是基本的UI。在这样一个领域中考虑切换到.NET是否有意义,或者这不是一个明智的想法?< /P>
谢谢

如果您有大量需要重写的遗留代码,我认为切换到其他语言在商业上没有意义。即使使用另一种语言(这是值得怀疑的)会有好处,测试和调试新代码的成本也会超过它们。你也有一个C++开发团队。当他们加快使用新语言的速度时,生产率将大幅下降

< P> C可以与C++代码交互。您可以在C语言中开始编写新代码,并在需要时调用现有的C++代码。它不必只是为了用户界面。查看C++/CLI和C++的互操作方法,以了解如何使用新的C代码编写现有的C++代码。p> 此外,我在这里问了一个类似的问题:

CAD/CAM应用程序需要大量计算,速度肯定是选择软件包的标准之一,因此我会小心使用速度较慢的语言

你需要非常仔细地考虑转换语言的原因。是因为你不喜欢C++,还是因为C语言会带来真正的好处。这很可能会降低应用程序的速度。检查C++的C++速度比较。

我认为,最好保留C++中所有的工具路径计算,如果你真的必须把任何代码移到另一种语言,就把它移到一个脚本语言,用户可以很容易地编辑它,而不必重新编译。 我每天都在工作中使用CAD/CAM应用程序,UI中有很多东西让我很紧张。如果我能找到源代码,它们将是简单的修复

如果你的公司制作了一个CAD/CAM应用程序,它有一个用脚本语言编写的UI,我可以调整它(Lua、Python等),我会买一个副本


雨果

< P>你需要考虑的是平台无关性——如果有可能你/你的公司需要迁移你的CAD软件到LINU/UNIX(当然,为了商业决策),那将是非常痛苦的。目前,即使是C++与MFC/Win32调用,也给我们带来了很多的麻烦。

< P>开放式设计联盟库是跨平台的。他们最近推出了.NET版本的测试版图书馆。有关更多详细信息,请参阅我对的回答


话虽如此,我同意这里的其他答案——如果它没有损坏,就不要修复它,无论是代码还是编码人员。MSFT仍然使用C++,ODA也一样,它们的代码库源于C++,并被包装为.NET.< /P> < P>查看。它为您提供了一个包装OpenCASCADE CAD内核的python模块。据我所知,OpenCASCADE是唯一一个具有行业优势的开源内核。很好的功能是STEP和IGES支持,以及从BRep数据生成FEM网格的能力。

Debian Sempron不是benchmarks游戏网站上最新的测量工具!只有在真正发生危机时,才能重写遗留代码。例如,当您的主要语言/平台供应商即将推广另一种语言/平台时,就会出现这样的危机。例如,如果微软决定将它的C++工具链转交给.NET,则可能发生这种情况。为了开发C.C.C.NET中的CAD/CAM应用程序,请参见:也用于开发CAD/CAM Web应用程序: