/// <summary> /// 复制电极 /// </summary> /// <param name="eleCt"></param> /// <param name="workPt"></param> /// <returns></returns> public List <string> LoadEle(NXOpen.Assemblies.Component eleCt, Part workPt) { Matrix3x3 mat; Point3d setPt; List <string> err = new List <string>(); eleCt.GetPosition(out setPt, out mat); ElectrodeSetValueInfo setValue = ElectrodeSetValueInfo.GetAttribute(eleCt); NXOpen.PartLoadStatus partLoadStatus1 = null; string partPath = (eleCt.Prototype as Part).FullPath; try { NXOpen.Assemblies.Component copyCt = workPt.ComponentAssembly.AddComponent(partPath, "None", eleCt.Name, setPt, mat, -1, out partLoadStatus1, true); NXObject obj = AssmbliesUtils.GetOccOfInstance(copyCt.Tag); bool attOk = setValue.SetAttribute(obj); AttributeUtils.AttributeOperation("EleComponentCopy", 1, obj); if (!attOk) { err.Add("写入属性错误!"); } } catch (NXException ex) { err.Add(eleCt.Name + "复制电极错误! " + ex.Message); } return(err); }
/// <summary> /// 装配工件 /// </summary> /// <param name="edm"></param> /// <param name="ct"></param> /// <returns></returns> private List <string> LoadWorkpiece(Part edm, NXOpen.Assemblies.Component ct) { List <string> err = new List <string>(); try { Matrix3x3 mat; Point3d setPt; NXOpen.PartLoadStatus partLoadStatus1 = null; Part pt = ct.Prototype as Part; ct.GetPosition(out setPt, out mat); NXOpen.Assemblies.Component copyCt = edm.ComponentAssembly.AddComponent(pt.FullPath, "None", ct.Name, setPt, mat, -1, out partLoadStatus1, true); } catch (NXException ex) { err.Add("无法装配" + ct.Name + "工件 " + ex.Message); } return(err); }