一般的三维图形程序都使用C++开发,很少有使用C#的。并不是因为C++效率有多高,而是因为没有合适的C#图形控件使用。C#开发程序,只能用一个字来形容:爽!二个字:倍爽!
那能不能用C#开发三维程序也倍爽呢?答案是肯定的。
由于公司需要开发一个三维应用,完全用C#+OpenGL/Direct3D开发又不太现实,毕竟公司主营不是搞三维的,希望能有一个能拿来就能使用的三维绘图控件。经过一番的googe和baidu,找到几款支持.Net的三维图形控件,经过一番对比和使用,最终选用AnyCAD的.Net图形控件。AnyCAD三维图形控件主要的优势在于支持建模(类似CAD的三维造型)、显示和支持三维的文件格式(STEP,IGES,STL,DXF等),根据API的名字就能知道怎么使用。只要稍微有点三维的概念,就能上手使用了。当然根据控件提供的例子,很容易就能改造一个。
主要的建模功能:
l 三维的球、立方体、圆柱体、圆锥等常见的三维几何形状
l 二维的线、多折线、圆弧、椭圆弧、Spline等2D几何形状
l 支持布尔运算
l 支持拉伸、扫略、loft等等CAD的建模方式
三维显示
l 内置视图的旋转、缩放、平移,基本上不用任何设置就能用
l 支持选择:点、线、面,能方便的从选择集中得到几何对象
l 设置点、线、面的显示样式,支持透明,自定义的材质
WinForm控件
l 拖到窗体上,运行程序就能看到显示的效果。使用太方便了。
支持的CAD格式
l STEP,IGES,STL,DXF
l 遗憾的是不支持DWG,如果支持就更完美了
控件的功能比较多,不能一一的列举,上面是我们能用到功能。另外,这个控件有免费版和专业版,免费的版本比较老,功能没有收费的多,但对于小的应用也够用了。