https://dev.opencascade.org/release
下载OCCT官方编译好的工程 (occt-vc143-64.zip)
将以下目录配置到环境变量中:
...\occt-vc143-64\win64\vc14\bin
所有第三方库(3rdparty-vc14-64)的dll放到一个目录中并配入环境变量,我这里全部放到 3rdparty-vc14-64-dll 目录。
打开 ...\OCCT-7_8_0\samples\CSharp\CSharp.sln 工程。
(1)右键->属性->C++目录->包含目录 (...\OCCT-7_8_0\inc)
(2)右键->属性->C++目录->库目录 (...\occt-vc143-64\win64\vc14\lib)
(3)右键->属性->链接器->输入->附加依赖项 (将库目录下的*.lib文件全部填入)
包含目录:指存放C++头文件(*.hxx)的目录路径。
库目录:指存放静态数据链接库(*.lib)文件的目录路径。
打开 CSharp 示例工程 (OCCT-7_8_0\samples\CSharp\CSharp.sln)
在 OCCTProxy.cpp 文件中添加个生成并导出 Cube 的方法,并重新生成 OCCTProxy.dll 供 IE_WPF_WinForms 工程使用。
void ExportCube()
{
const Standard_CString theFileName = "D:\\cube.stp";
// 创建一个边长为100毫米的立方体,中心在原点
Standard_Real length = 100.0;
TopoDS_Shape box = BRepPrimAPI_MakeBox(length, length, length).Shape();
TopoDS_Compound aComp;
BRep_Builder aBuilder;
aBuilder.MakeCompound(aComp);
aBuilder.Add(aComp, box);
STEPControl_StepModelType aType = STEPControl_AsIs;
IFSelect_ReturnStatus aStatus;
STEPControl_Writer aWriter;
// 使用原始形状
aStatus = aWriter.Transfer(aComp, STEPControl_AsIs);
// 导出文件名为 cube.stp
aWriter.Write(theFileName);
}
修改 IE_WPF_WinForms 工程中的 MainWindow.xaml 文件,添加一个导出 Cube 的菜单项。
//菜单->导出Cube
private void ExportCube_Click(object sender, RoutedEventArgs e)
{
if (ActiveViewer != null)
{
ActiveViewer.View.ExportCube();
}
}
用第三方软件查看导出的step模型文件。