예제 #1
0
 void SetStringAttribute(string name, string value)
 {
     if (!string.IsNullOrEmpty(value))
     {
         _body.SetStringAttribute(name, value);
     }
 }
예제 #2
0
        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");
            }
        }