【问题标题】:Autodesk Inventor API Material Property ChangeAutodesk Inventor API 材料属性更改
【发布时间】:2013-07-02 00:40:47
【问题描述】:

我正在使用 vb.net 进行 Inventor API 编程。我需要使用 api 更改材料并获取更新的体积。我这样编码。

Dim oDoc As PartDocument
        oDoc = inventorApp.ActiveDocument

        Dim oDTProps As PropertySet
        oDTProps = oDoc.PropertySets.Item("{32853F0F-3444-11d1-9E93-0060B03C1CA6}")
        Dim oDesignerProp As Inventor.Property
        oDesignerProp = oDTProps.ItemByPropId( _
        PropertiesForDesignTrackingPropertiesEnum.kMaterialDesignTrackingProperties)
        oDesignerProp = oDTProps.Item("Material")
        oDesignerProp.Value = "Titanium"
        oDoc.Update()

但在属性中,材料名称已更改,但并未更新质量和体积。 有人知道为什么吗?

【问题讨论】:

    标签: vb.net vba vb.net-2010 autodesk autodesk-inventor


    【解决方案1】:

    您必须找到材料并将其分配给组件定义。

            var app =(Application) System.Runtime.InteropServices.Marshal.GetActiveObject("Inventor.Application");
            var doc = app.ActiveDocument;
            var partDoc = (PartDocument)doc;
            var compDef = partDoc.ComponentDefinition;
            var mass1 = compDef.MassProperties.Mass;
            var mat =
                (from Material material in partDoc.Materials
                 where material.Name == "Titan"
                 select material).First();
    
            partDoc.ComponentDefinition.Material = mat;
    
            if (mat.StyleLocation == StyleLocationEnum.kLibraryStyleLocation)
                mat.ConvertToLocal();
    
            var mass2 = compDef.MassProperties.Mass;
    

    【讨论】:

      猜你喜欢
      • 2015-08-31
      • 1970-01-01
      • 2021-09-11
      • 2019-06-16
      • 1970-01-01
      • 2014-11-06
      • 2018-02-07
      • 2021-12-12
      • 2013-08-14
      相关资源
      最近更新 更多