You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Inventor API导出带AutoCAD颜色索引的DWG文件?

解决Inventor Design Automation API导出带AutoCAD颜色索引的DWG文件问题

要实现导出带有AutoCAD颜色索引(ACI)的DWG文件,可通过修改导出配置INI文件或直接在API的NameValueMap中设置参数两种方式实现,具体方案如下:

方案一:修改DWG导出INI文件

你当前代码已通过Export_Acad_IniFile指定了INI文件路径,只需在该INI文件的[Export]节中添加以下配置项,即可开启ACI颜色索引:

[Export]
UseACIColorMapping=1
  • 1表示启用AutoCAD颜色索引,0表示关闭
  • 保留INI文件中原有其他导出配置,确保格式正确

方案二:直接通过API的NameValueMap设置参数

若不想依赖外部INI文件,可直接在代码中给options对象添加对应键值对:

if (translatorAddIn.get_HasSaveCopyAsOptions(drawingDocument, translationContext, options))
{
    // 启用AutoCAD颜色索引
    options.set_Value("Use_ACI_Color_Mapping", true);
    // 按需添加其他导出配置,比如指定DWG版本等
}

注意:不同Inventor版本的API键名可能略有差异,若上述键名无效,可通过以下代码遍历所有可用导出选项,确认准确键名:

// 遍历输出所有可用选项的键名与对应值
for (int i = 1; i <= options.Count; i++)
{
    string key = options.Name[i];
    Logger.LogTrace($"选项键名:{key},当前值:{options.Value[key]}");
}

修改后的完整代码示例

结合你的现有逻辑,调整后的导出代码如下:

public string ExportDwg(DrawingDocument drawingDocument, string rootPath) {
    var sessionDir = FileService.CleanOutputPath(drawingDocument.FullFileName);
    var outputFilePath = Path.Combine(sessionDir, "result.dwg");

    drawingDocument.Update();

    try
    {
        var translatorAddIn = GetAddIn<TranslatorAddIn>(DWG_TRANSLATOR_ADD_IN_ID);

        var translationContext = _inventorServer.TransientObjects.CreateTranslationContext();
        translationContext.Type = IOMechanismEnum.kFileBrowseIOMechanism;

        var options = _inventorServer.TransientObjects.CreateNameValueMap();

        // 方案一:使用配置INI文件(需确保INI包含UseACIColorMapping=1)
        // var iniPath = Path.Combine(rootPath, "exportdwg.ini");
        // if (translatorAddIn.get_HasSaveCopyAsOptions(drawingDocument, translationContext, options))
        // {
        //     options.set_Value("Export_Acad_IniFile", iniPath);
        // }

        // 方案二:直接通过API设置参数
        if (translatorAddIn.get_HasSaveCopyAsOptions(drawingDocument, translationContext, options))
        {
            options.set_Value("Use_ACI_Color_Mapping", true);
            // 可选:设置DWG版本
            // options.set_Value("Export_Acad_Version", "R2021");
        }

        var dataMedium = _inventorServer.TransientObjects.CreateDataMedium();
        dataMedium.FileName = outputFilePath;

        translatorAddIn.SaveCopyAs(
            drawingDocument,
            translationContext,
            options,
            dataMedium
        );

        return outputFilePath;
    }
    catch (Exception e)
    {
        // 补充异常处理逻辑
        Logger.LogError($"DWG导出失败:{e.Message}");
        return null;
    }
}

内容的提问来源于stack exchange,提问作者Sebastian Köenig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:33:13