实施步骤
准备工作
操作步骤
通过以下示例代码将一个模型文件从一种CAD格式转换为另一种CAD格式。
通过使用通用的ModelData_ModelReader和ModelData_ModelWriter,您可以处理任何支持格式的导入和导出。
- 创建一个ModelData_ModelReader。
ModelData_ModelReader aReader;
- (可选)设置读(Reader)参数。
STEP_ReaderParameters aSTEPReaderParams; aSTEPReaderParams.PreferredBRepRepresentationType() = STEP_ReaderParameters::AdvancedBRep; aReader.SetReaderParameters (aSTEPReaderParams); JT_ReaderParameters aJTReaderParams; aJTReaderParams.LayerConversionMode() = JT_ReaderParameters::LayerFilter; aReader.SetReaderParameters (aJTReaderParams);
- 读取模型数据并将其数据读取到ModelData_Model对象。
ModelData_Model aModel; if (!aReader.Read (aSource, aModel)) { cerr << "Failed to open and convert the file " << aSource << endl; return 1; }
- (可选)访问ModelData_Model对象,并在进一步的转换和操作中使用它。
cout << "Model name: " << aModel.Name().ToUTF8().Data() << endl; cout << "Number of roots: " << aModel.NumberOfRoots() << endl;
- 创建一个ModelData_ModelWriter。
ModelData_ModelWriter aWriter;
- (可选)设置写(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);
- 将模型数据转换为选定的格式(指定文件扩展名)并保存。
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。