zoukankan      html  css  js  c++  java
  • NX7.5 使用UF_MODL_create_proj_curves创建投影曲线

     1  [DllImport("libufun.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, EntryPoint = "UF_MODL_create_proj_curves")]
     2     internal static extern int _CreateProjCurves(System.IntPtr curveRefs, System.IntPtr faceRefs, int alongFaceNormal, double[] projVector, out NXOpen.Tag projCurveFeature);
     3 
     4     [DllImport("libufun.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, EntryPoint = "UF_MODL_create_list")]
     5     internal static extern int CreateList(out System.IntPtr list);
     6     [DllImport("libufun.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, EntryPoint = "UF_MODL_put_list_item")]
     7     internal static extern int PutListItem(System.IntPtr list, NXOpen.Tag objId);
     8 
     9     internal static System.IntPtr ListFromArray(NXOpen.Tag[] array)
    10     {
    11         System.IntPtr intPtr;
    12         CreateList(out intPtr);
    13         for (int i = 0; i < array.Length; i++)
    14         {
    15             PutListItem(intPtr, array[i]);
    16         }
    17         return intPtr;
    18     }
    19 
    20    /// <summary>
    21    /// 创建投影特征
    22    /// </summary>
    23    /// <param name="curveRefs">需要投影的曲线</param>
    24    /// <param name="faceRefs">投影面</param>
    25    /// <param name="alongFaceNormal">是否使用面的法向</param>
    26    /// <param name="projVector">指定矢量</param>
    27    /// <param name="projCurveFeature">投影的特征</param>
    28     public void CreateProjCurves(NXOpen.Tag[] curveRefs, NXOpen.Tag[] faceRefs, int alongFaceNormal, double[] projVector, out NXOpen.Tag projCurveFeature)
    29     {
    30         System.IntPtr curveRefs2 = ListFromArray(curveRefs);
    31         System.IntPtr faceRefs2 = ListFromArray(faceRefs);
    32         NXOpen.Utilities.JAM.StartUFCall();
    33         int error = _CreateProjCurves(curveRefs2, faceRefs2, alongFaceNormal, projVector, out projCurveFeature);
    34         NXOpen.Utilities.JAM.EndUFCall();
    35         if (error != 0)
    36         {
    37             throw NXOpen.NXException.Create(error);
    38         }
    39     }
  • 相关阅读:
    Java虚拟机--编译那点事儿
    Java虚拟机--常用Java命令(二)
    Java虚拟机--常用Java命令(一)
    Java虚拟机--类加载机制
    Java虚拟机--JIT编译器
    Java虚拟机--垃圾回收机制
    Java虚拟机--对象模型
    Junit测试--多个测试接口如何产生业务联系
    Java虚拟机--内存模型
    Java虚拟机--内存结构
  • 原文地址:https://www.cnblogs.com/bizca/p/6677682.html
Copyright © 2011-2022 走看看