三维模型另存DWG如何设置DWG版本

最近有个朋友问及当另存三维模型为DWG的时候,如何设置DWG的版本。产品功能如下图所示:

三维模型另存DWG如何设置DWG版本_第1张图片

如果工程图*.idw另存为DWG,是由一个*.ini文件来配置,而三维模型*.ipt, *iam 只看到对应的translator对象,但不知道如何配置其中的参数。后来网络一检索,发现早在2011年我们团队的专家Brian就写了对应的博客。特转发供大家参考。

原文链接:http://modthemachine.typepad.com/my_weblog/2011/05/saving-3d-dwg-using-the-dwg-translator.html

核心代码:

Public Sub SaveCopyAsDWG3D() 
    ' 获取对应的Translator.  
    Dim DWGAddIn As TranslatorAddIn 
    Set DWGAddIn = ThisApplication.ApplicationAddIns.ItemById( _ 
                         "{C24E3AC2-122E-11D5-8E91-0010B541CD80}") 

    ' 获取当前零件或装配文档. 
    Dim doc As Document  
    Set doc = ThisApplication.ActiveDocument  

    Dim transObjs As TransientObjects 
    Set transObjs = ThisApplication.TransientObjects 

    ' 设置导出文件 
    Dim context As TranslationContext 
    Set context = transObjs.CreateTranslationContext 
    context.Type = kFileBrowseIOMechanism 

    ' 获取可操作的选项 
    Dim options As NameValueMap 
    Set options = transObjs.CreateNameValueMap 
    If DWGAddIn.HasSaveCopyAsOptions(doc, context, options) Then 
        ' 设置导出样式.  
        options.Value("Solid") = True      ' 导出 solids.  
        options.Value("Surface") = False   ' 导出 surfaces.  
        options.Value("Sketch") = False    ' 导出 sketches. 
        
        ' 设置导出DWG的版本. 
        ' 23 = ACAD 2000 
        ' 25 = ACAD 2004 
        ' 27 = ACAD 2007 
        ' 29 = ACAD 2010  
        options.Value("DwgVersion") = 29 
    End If 

    ' 设置导出文件名. 
    Dim oDataMedium As DataMedium 
    Set oDataMedium = transObjs.CreateDataMedium 
    oDataMedium.filename = "c:\temp\DWGOutTest.dwg" 

    ' 调用SaveCopyAs 
    Call DWGAddIn.SaveCopyAs(doc, context, options, oDataMedium) 
End Sub








你可能感兴趣的:(Inventor)