void SetStringAttribute(string name, string value) { if (!string.IsNullOrEmpty(value)) { _body.SetStringAttribute(name, value); } }
public static void SetEactElectrode(Snap.NX.Body body, ref Snap.NX.Face topFace, ref Snap.NX.Face baseFace, ref Snap.NX.Point basePoint) { var faces = body.Faces.ToList(); //清空相关属性 if (body.IsHasAttr(EactElectrode.EACT_ELECT_GROUP)) { body.DeleteAttributes(Snap.NX.NXObject.AttributeType.String, EactElectrode.EACT_ELECT_GROUP); } faces.ToList().ForEach(u => { if (u.IsHasAttr(EactElectrode.EACT_ELECT_GROUP)) { u.DeleteAttributes(Snap.NX.NXObject.AttributeType.String, EactElectrode.EACT_ELECT_GROUP); } if (u.IsHasAttr(EactElectrode.BASE_BOT)) { u.DeleteAttributes(Snap.NX.NXObject.AttributeType.String, EactElectrode.BASE_BOT); } if (u.IsHasAttr(EactElectrode.BASE_TOP)) { u.DeleteAttributes(Snap.NX.NXObject.AttributeType.String, EactElectrode.BASE_TOP); } }); if (topFace != null && baseFace != null && basePoint != null)//手动 { } else//自动 { Snap.Position basePos = new Snap.Position(); GetEactElectrode(body, ref topFace, ref baseFace, ref basePoint, ref basePos); if (basePoint == null && baseFace != null) { basePoint = Snap.Create.Point(baseFace.GetCenterPoint()); basePoint.Layer = body.Layer; basePoint.Color = System.Drawing.Color.Green; } } //赋属性 if (topFace != null) { topFace.SetStringAttribute(EactElectrode.BASE_BOT, "1"); } if (baseFace != null) { baseFace.SetStringAttribute(EactElectrode.BASE_TOP, "1"); } if (basePoint != null) { var guid = Guid.NewGuid().ToString(); body.SetStringAttribute(EactElectrode.EACT_ELECT_GROUP, guid); basePoint.SetStringAttribute(EactElectrode.EACT_ELECT_GROUP, guid); } if (topFace != null && baseFace != null && basePoint != null) { body.SetStringAttribute(ElectrodeInfo.EACT_SPECIALSHAPED, "1"); } }