将DWG特定层导入到草图

API提供了DWG  Translator addin,用来将DWG导入到Inventor文件。其中提供了多个可选项,以控制在导入时的设置。从2013开始,多了一个选项SelectedLayers,用来指定导入哪些层的实体。用法很简单,例如,导入单个层 
oOptions.Add "SelectedLayers", "Layer1"
导入多个层:
oOptions.Add "SelectedLayers", "Layer1,Layer2"  

以下是一个简单的代码样例。它在零件文档新建一个草图,将一个DWG文件中Layer1层的实体导入

Sub ImportDWGIntoSketch() 
    'DWG translator 
    Dim oDwg As TranslatorAddIn 
    Set oDwg = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC2-122E-11D5-8E91-0010B541CD80}") 
    Dim oData As DataMedium 
    Dim oContext As TranslationContext 
    Dim oOptions As NameValueMap 
    Set oData = ThisApplication.TransientObjects.CreateDataMedium 
    Set oContext = ThisApplication.TransientObjects.CreateTranslationContext 
    Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap 
    ' Specify a DWG file to import it into sketch, please change the path name as needed 
    oData.FileName = "C:\Temp\mytest.dwg" 
    Dim oDoc As PartDocument 
    Set oDoc = ThisApplication.Documents.Add(kPartDocumentObject) 
    'add a new sketch 
    Dim oSk As PlanarSketch 
    Set oSk = oDoc.ComponentDefinition.Sketches.Add(oDoc.ComponentDefinition.WorkPlanes(3))
    oSk.Edit 
    oContext.Type = kFileBrowseIOMechanism 
    oContext.OpenIntoExisting = oSk 

    ' Specify the layers to import 
  oOptions.Add "SelectedLayers", "Layer1"  
  ‘oOptions.Add "SelectedLayers", "0,Layer2"  
    oOptions.Add "InvertLayersSelection", False ' Set if import the selected layers in above setting 
    ' Set the ConstrainEndPoints 
    oOptions.Add "ConstrainEndPoints", True 
    ' Specify the units of DWG file 
    oOptions.Add "FileUnits", "Millimeters" 
    Call oDwg.Open(oData, oContext, oOptions, oDoc) 
End Sub




评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值