NW中创建接口的方法

比如需要创建InwOaPropertyVec、InwOaProperty、InwGUIPropertyNode2等,则可以使用下面的通用方法进行创建。

public static T NewObject<T>(this InwOpState10 state)
{
    try
    {
        Type type = typeof(T);
        string value = "eObjectType_" + type.Name;
        nwEObjectType eType = (nwEObjectType)Enum.Parse(typeof(nwEObjectType), value, true);
        T t = (T)state.ObjectFactory(eType, null, null);
        return t;
    }
    catch (Exception ex)
    {
        return default(T);
    }
}

示例

InwOaPropertyVec vec = ComApiBridge.State.NewObject();
InwOaProperty prop = ComApiBridge.State.NewObject();
InwGUIPropertyNode2 node = ComApiBridge.State.NewObject();

常规
InwOaPropertyVec pVec = (InwOaPropertyVec)ComApiBridge.State.ObjectFactory(nwEObjectType.eObjectType_nwOaPropertyVec, null, null);

它可以创建的对象很多,nwEObjectType枚举中的对象都可以创建。

public enum nwEObjectType
{
      eObjectType_Reserved = 0,
      eObjectType_nwLBox3f = 1,
      eObjectType_nwLPos3f = 2,
      eObjectType_nwLVec3f = 3,
      eObjectType_nwNvViewPoint = 4,
      eObjectType_nwNvCamera = 5,
      eObjectType_nwOpAnimView = 6,
      eObjectType_nwOpAnonView = 7,
      eObjectType_nwOpComment = 8,
      eObjectType_nwOpCutView = 9,
      eObjectType_nwOpFolderView = 10,
      eObjectType_nwOpView = 11,
      eObjectType_nwLRotation3f = 12,
      eObjectType_nwOaClipPlane = 13,
      eObjectType_nwLUnitVec3f = 14,
      eObjectType_nwLPlane3f = 15,
      eObjectType_nwOpSelectionSet = 16,
      eObjectType_nwOaPath = 17,
      eObjectType_nwOpSelection = 18,
      eObjectType_nwOclClashTest = 19,
      eObjectType_nwOaProperty = 20,
      eObjectType_nwOaSpotLight = 21,
      eObjectType_nwOaPointLight = 22,
      eObjectType_nwOaDistantLight = 23,
      eObjectType_nwLTransform3f = 24,
      eObjectType_nwOaNat64Attribute = 25,
      eObjectType_nwOaNameAttribute = 26,
      eObjectType_nwOaTextAttribute = 27,
      eObjectType_nwOaURLAttribute = 28,
      eObjectType_nwOaMaterial = 29,
      eObjectType_nwOaPropertyAttribute = 30,
      eObjectType_nwOpFind = 31,
      eObjectType_nwOpFindCondition = 32,
      eObjectType_nwOpFindSpec = 33,
      eObjectType_nwOpUserSelectionTreeSpec = 34,
      eObjectType_nwOpUserFindSpec = 35,
      eObjectType_nwURL = 36,
      eObjectType_nwURLOverride = 37,
      eObjectType_nwSmartTagsOpts = 38,
      eObjectType_nwOaPropertyVec = 39,
      eObjectType_nwOaPublishAttribute = 40,
      eObjectType_nwOpSelectionSetFolder = 41
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值