更新时间:2024-11-28 GMT+08:00
分享

实施步骤

准备工作

  1. 开发技能
    • 熟悉C++语言,能够编写C++语言代码。
    • 熟悉CAD建模相关知识。
    • 了解OCCT几何建模相关知识。
    • 了解C++构建相关工具(cmake等)。
  2. 开发环境
    • Windows 10+
      • Visual Studio 2017+或适用于Visual Studio 2017+的Microsoft Visual生成工具
      • CMake 3.7+
    • Linux:
      • gcc g++ gdb
      • CMake 3.7+
  3. 许可准备

    开发和使用DEE SDK需要获取DEE SDK许可文件。

操作步骤

通过以下示例代码将一个模型文件从一种CAD格式转换为另一种CAD格式。

通过使用通用的ModelData_ModelReader和ModelData_ModelWriter,您可以处理任何支持格式的导入和导出。

  1. 创建一个ModelData_ModelReader。

    ModelData_ModelReader aReader;

  2. (可选)设置读(Reader)参数。

    STEP_ReaderParameters aSTEPReaderParams;
    aSTEPReaderParams.PreferredBRepRepresentationType() = STEP_ReaderParameters::AdvancedBRep;
    aReader.SetReaderParameters (aSTEPReaderParams);
    
    JT_ReaderParameters aJTReaderParams;
    aJTReaderParams.LayerConversionMode() = JT_ReaderParameters::LayerFilter;
    aReader.SetReaderParameters (aJTReaderParams);

  3. 读取模型数据并将其数据读取到ModelData_Model对象。

    ModelData_Model aModel;
    if (!aReader.Read (aSource, aModel)) {
        cerr << "Failed to open and convert the file " << aSource << endl;
        return 1;
    }

  4. (可选)访问ModelData_Model对象,并在进一步的转换和操作中使用它。

    cout << "Model name: " << aModel.Name().ToUTF8().Data() << endl;
    cout << "Number of roots: " << aModel.NumberOfRoots() << endl;

  5. 创建一个ModelData_ModelWriter。

    ModelData_ModelWriter aWriter;

  6. (可选)设置写(Writer)参数。

    OBJ_WriterParameters anOBJParams;
    anOBJParams.LengthUnit() = Base_LengthUnit::Base_LU_Centimeters;
    anOBJParams.ToGenerateMtlFile() = true;
    aWriter.SetWriterParameters (anOBJParams);
    
    JT_WriterParameters aJTParams;
    aJTParams.SetFileSplitMode (JT_WriterParameters::PerPart);
    aWriter.SetWriterParameters (aJTParams);

  7. 将模型数据转换为选定的格式(指定文件扩展名)并保存。

    if (!aWriter.Write (aModel, aDest)) {
        cerr << "Failed to convert and write the file to specified format" << aDest << endl;
        return 1;
    }

常见问题

Q:为什么使用SDK时,抛出了许可证相关的异常?

A:请检查许可证的有效性,例如产品名称是否匹配,是否超过有效期限,并使用有效的许可证。

Q:为什么导入文件时,出现异常?

A:请检查文件是否能在指定的路径下查找到,并检查输入文件是否为DEE SDK支持的文件类型。

Q:为什么转换后得到的结果文件中,不包含PMI的信息?

A:此参数在默认情况下被设置为false,如果您需要此信息,请使用Base_WriterParameters::WritePMI()方法更改此项输出参数为true。

相关文档