• C#实现NX组件替换功能


            /// <summary>
            /// 替换组件
            /// </summary>
            /// <param name="replacedInstance">被替换的组件实例</param>
            /// <param name="part">目标组件</param>
            static void ReplaceComponent(Tag replacedInstance, string part)
            {
                if ((NXOpen.Tag.Null == replacedInstance) || string.IsNullOrEmpty(part.Trim()))
                {
                    return;
                }
                
                string part_name = "";
                string refset_name = "";
                string instance_name = "";
                double[] origin = new double[3];
                double[] csys_matrix = new double[9];
                double[,] transform = new double[4, 4];
    
                //获取被替换组件相关数据
                theUfSession.Assem.AskComponentData(replacedInstance, out part_name, out refset_name, out instance_name, origin, csys_matrix, transform);
    
                //获取被替换组件父
                Tag replacedParentInstance = theUfSession.Assem.AskParentOfInstance(replacedInstance);
    
                //移除组件
                theUfSession.Assem.RemoveInstance(replacedInstance);
    
                Tag outInstance = NXOpen.Tag.Null;
                NXOpen.UF.UFPart.LoadStatus error_status;
    
                //添加目标组件
                theUfSession.Assem.AddPartToAssembly(replacedParentInstance, part, refset_name, instance_name, origin, csys_matrix, -1, out outInstance, out error_status);
    
                //保存修改
                bool anyPartsModified = false;
                PartSaveStatus saveStatus;
                theSession.Parts.SaveAll(out anyPartsModified, out saveStatus);
            }
    作者:快雪
    本文版权归作者所有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    判断二分图的染色法
    dfs框架
    codeforces 158c
    省选总结
    云盘
    KMP
    二分
    【又想多了】 听 怎样成为高手-罗辑思维 记录
    小刘(第二版)
    UVA 1594:Ducci Sequence (模拟 Grade E)
  • 原文地址:https://www.cnblogs.com/kuaixue/p/14323721.html
Copyright © 2020-2023  润新知