Example #1
0
        public Cluster()
            : base(entTypes.Sketch)
        {
            if (I.aDoc().DocumentType != DocumentTypeEnum.kPartDocumentObject)
            {
                return;
            }
            MyXML  xmlInterface = new MyXML("ClusterInterface.xml");
            MyForm F            = new MyForm(xmlInterface, "Кластер");

            F.f.ShowDialog();
            if (F.xmls.Count != 2)
            {
                return;
            }
            xml = F.xmls[1];
            Dictionary <string, string> dic = new Dictionary <string, string>();

            xml.set("val", F.cbs[0].Text);
            ClusterData.startx = 0; ClusterData.starty = 0;
            xml.getInt("countX", ref ClusterData.countX); xml.getInt("countY", ref ClusterData.countY);
            xml.getDouble("D", ref ClusterData.D, ClusterData.tol); xml.getDouble("dx", ref ClusterData.dx, ClusterData.tol);
            xml.getDouble("dy", ref ClusterData.dy, ClusterData.tol);  xml.getInt("rotate", ref ClusterData.rotate);
            foreach (var item in xml.elem.Elements())
            {
                data.Add(new ClusterData(new MyXML(item)));
            }
//             if (ClusterData.rotate == 1)
//             {
//                 data.Insert(0, data[1]);
//                 data.Remove(data[2]);
//             }
            doc     = I.aDoc() as PartDocument;
            compDef = doc.ComponentDefinition;
            ps      = compDef.Sketches[compDef.Sketches.Count];
            if (ps.Consumed)
            {
                return;
            }
            psOut             = compDef.Sketches.Add(ps.PlanarEntity);
            psOut.OriginPoint = ps.OriginPoint;
            if (ps.AxisEntity != null)
            {
                psOut.AxisEntity = ps.AxisEntity;
            }
            psOut.AxisIsX = ps.AxisIsX;
            psOut.NaturalAxisDirection = ps.NaturalAxisDirection;
            get();
        }
Example #2
0
 public ClusterData(MyXML xml)
 {
     name = xml.elem.Name.ToString();
     //xml.getDouble("D", ref D, tol);
     xml.getDouble("x", ref x, tol);
     xml.getDouble("y", ref y, tol);
     xml.getDouble("l", ref l, tol);
     if (startx < x)
     {
         startx = x;
     }
     if (starty < y)
     {
         starty = y;
     }
     //xml.getDouble("dx", ref dx, tol); xml.getDouble("dy", ref dy, tol);
 }
Example #3
0
        public void txt()
        {
            string fn = I.aDoc().FullFileName;

            fn = fn.Replace(".ipt", "(Кластер).txt");
            using (System.IO.StreamWriter sw = System.IO.File.CreateText(fn))
            {
                int cx = (countX * ClusterData.countX) * data.Count / 2;
                int cy = (countY * ClusterData.countY) * data.Count / 2;
                if (data.Count == 2)
                {
                    cy = countY * ClusterData.countY;
                }
                double a = 0;
                xml.getDouble("area", ref a, 1);
                sw.Write("Кластер: " + MyXML.getAtt(xml.elem, "val") + "\n");
                sw.Write("Количество ударов: " + cx * cy / (ClusterData.countX * ClusterData.countY) + "\n");
                sw.Write("Количество отверстий по горизонтали: " + cx + " шт.\n");
                sw.Write("Количество отверстий по вертикали: " + cy + " шт.\n");
                sw.Write("Общее количество отверстий: " + cx * cy + " шт.\n");
                sw.Write("Площадь: " + (cx * cy * a).ToString("##.####") + "мм2.");
            }
        }