Beispiel #1
0
        public static Electrode GetElectrode(Snap.NX.Body body)
        {
            Electrode result   = null;
            var       elecName = body.Name;
            var       faces    = body.Faces;
            //顶面
            var topFace = faces.FirstOrDefault(u => u.MatchAttrValue(BASE_BOT, 1));
            //基准面
            var baseFaces = faces.Where(u => u.MatchAttrValue(BASE_TOP, 1)).ToList();
            var baseFace  = baseFaces.FirstOrDefault();

            if (baseFaces.Count > 1)
            {
                baseFace = baseFaces.OrderByDescending(u => Snap.Compute.Perimeter(u)).FirstOrDefault();
            }
            var attrValue = body.GetAttrValue(EACT_ELECT_GROUP);
            //基准点
            var elecBasePoint = Snap.Globals.WorkPart.Points.FirstOrDefault(u => !string.IsNullOrEmpty(attrValue) && u.MatchAttrValue(EACT_ELECT_GROUP, attrValue));

            if (!string.IsNullOrEmpty(elecName) && topFace != null && baseFace != null)
            {
                var model = new EactElectrode();
                model.BaseFace      = baseFace;
                model.TopFace       = topFace;
                model.ElecBasePoint = elecBasePoint;
                model.ElecBody      = body;
                result = model;
                model.AllObject.Add(body);
                if (elecBasePoint != null)
                {
                    model.AllObject.Add(elecBasePoint);
                }
            }
            return(result);
        }
Beispiel #2
0
        public static Electrode GetElectrode(Snap.NX.Body body)
        {
            Electrode result = null;

            result = XKElectrode.GetElectrode(body);
            if (result == null)
            {
                result = UPElectrode.GetElectrode(body);
            }
            if (result == null)
            {
                result = JYElectrode.GetElectrode(body);
            }
            if (result == null)
            {
                result = EactElectrode.GetElectrode(body);
            }
            return(result);
        }