예제 #1
0
        //line 선택하기---------------------------------------------------------
        private void button1_Click(object sender, EventArgs e)
        {
            sel = null; //action 시작할때 초기화할것!

            if (catia == null)
            {
                MessageBox.Show("Pleace run the CATIA");
                return; //이게 없으면 오류난다.
            }
            if (catia.ActiveDocument == null)
            {
                MessageBox.Show("활성된 문서가 없습니다.");
                return; //이게 없으면 오류난다.
            }

            //line 선택
            sel = catia.ActiveDocument.Selection; /////???

            object[] inputObTyp = { "Line" };
            sel.Clear();
            string status = sel.SelectElement2(inputObTyp, "Select a line", true);

            if (status != "Normal")
            {
                MessageBox.Show("선택한 Line이 없습니다. ");
                return;
            }
            if (sel.Count < 1)
            {
                MessageBox.Show("line를 선택해주세요");
                return;
            }
            //line 이름을 표시한다
            textBox1.Text = ((INFITF.AnyObject)sel.Item(1).Value).get_Name();
        }
예제 #2
0
        //point select
        private void button1_Click(object sender, EventArgs e)
        {
            selOb         = null; //기본의 초기화!!
            textBox1.Text = "";

            IsRunCatDoc(); // //catia 가 실행되어 있는지, 황성되어 있는 document가 있는지

            sel = catia.ActiveDocument.Selection;

            object[] inputObjectType = { "Point" };
            string   Status;

            sel.Clear();
            Status = sel.SelectElement2(inputObjectType, "Select a Point", true);

            if (Status != "Normal" || sel.Count < 1)
            {
                MessageBox.Show("선택한 point가 없습니다.");
                return;
            }

            INFITF.SelectedElement selItem;
            selItem = sel.Item(1);

            textBox1.Text = ((INFITF.AnyObject)selItem.Value).get_Name();
            selOb         = (INFITF.AnyObject)selItem.Value;
        }
예제 #3
0
        //create3Dline--------------------------------------------
        private void button5_Click(object sender, EventArgs e)
        {
            // object[] HpCrd1 = new object[3];
            // object[] HpCrd2 = new object[3];

            try
            {
                sel           = catia.ActiveDocument.Selection;
                HyShpPtCoord1 = (HybridShapeTypeLib.Point)sel.FindObject("CATIAHybridShapePoint");
                //sel = catia.ActiveDocument.Selection;
                HyShpPtCoord2 = (HybridShapeTypeLib.Point)sel.FindObject("CATIAHybridShapePoint");

                //HyShpPtCoord1.GetCoordinates(HpCrd1);
                //HyShpPtCoord1.GetCoordinates(HpCrd2);

                PartDocument       prtDoc = (PartDocument)catia.ActiveDocument;
                Part               prt    = prtDoc.Part;
                HybridBody         hbdy   = prt.HybridBodies.Item(1);
                HybridShapeFactory hfac   = (HybridShapeFactory)prt.HybridShapeFactory;

                INFITF.Reference ref1 = prt.CreateReferenceFromGeometry(HyShpPtCoord1);
                INFITF.Reference ref2 = prt.CreateReferenceFromGeometry(HyShpPtCoord2);

                HybridShapeTypeLib.Line lin = hfac.AddNewLinePtPt(ref1, ref2);
                hbdy.AppendHybridShape(lin);

                prt.Update();
            }
            catch (Exception)
            {
                MessageBox.Show("선택된 정보가 없습니다.");
                return;
            }
        }
예제 #4
0
        //select a plan---------------------------------------
        private void bselPlt_Click(object sender, EventArgs e)
        {
            IsRunCatDoc();

            selOb         = null; //기본의 초기화!!
            textBox3.Text = "";

            sel = catia.ActiveDocument.Selection;

            object[] inputObjectType = { "Plane" };
            string   Status;

            sel.Clear();
            Status = sel.SelectElement2(inputObjectType, "Select a Plane", true);

            if (Status != "Normal" || sel.Count < 1)
            {
                MessageBox.Show("선택한 Plane가 없습니다.");
                return;
            }

            INFITF.SelectedElement selItem;
            selItem = sel.Item(1);

            textBox3.Text = ((INFITF.AnyObject)selItem.Value).get_Name();
            selOb         = (INFITF.AnyObject)selItem.Value;
        }
예제 #5
0
        //point remane
        private void button4_Click(object sender, EventArgs e)
        {
            if (catia == null)
            {
                MessageBox.Show("catia를 실행 해주세요.");
                return;
            }
            if (catia.ActiveDocument == null)
            {
                MessageBox.Show("활성 document가 없습니다.");
                return;
            }
            try
            {
                sel = catia.ActiveDocument.Selection;
                // HybridShapeTypeLib.Point p = (HybridShapeTypeLib.Point)sel.FindObject("Point");
                INFITF.AnyObject p = sel.FindObject("Point");

                textBox1.Text = p.get_Name();

                //string name = textBox1.Text;
            }
            catch (Exception ex)
            {
                MessageBox.Show("선택한 정보가 없습니다.\n" + ex.Message);
                return;
            }

            // p.set_Name();
        }
예제 #6
0
 //Serch for geometrc elements
 private void button7_Click(object sender, EventArgs e)
 {
     try
     {
         sel = catia.ActiveDocument.Selection;
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #7
0
 //line 가져오기-------------------------------------
 private void button3_Click(object sender, EventArgs e)
 {
     try
     {
         sel           = catia.ActiveDocument.Selection;
         lin           = (Line2D)sel.FindObject("CATIALine2D");
         textBox3.Text = lin.get_Name();
     }
     catch (Exception)
     {
         MessageBox.Show("선택한 정보가 없습니다.");
         return;
     }
 }
예제 #8
0
        private void textBox1_MouseClick(object sender, MouseEventArgs e)
        {
            // 카티아가 실행중?
            if (Catia == null)
            {
                //MessageBox.Show("Please run CATIA");
                label3.Text = "Please run CATIA";
                return;
            }

            // 활성 문서가 있는가?
            if (Catia.ActiveDocument == null)
            {
                //MessageBox.Show("활성 문서가 없습니다");
                label3.Text = "활성 문서가 없습니다";
            }
            // 선택 기능 실행

            Sel = Catia.ActiveDocument.Selection;

            Object[] InputObjectType = { "HybridBody" };
            string   Status;

            Sel.Clear();
            Status = Sel.SelectElement2(InputObjectType, "Select a Geometrical Set", false);

            if (Status != "Normal")
            {
                label3.Text = "취소";
                return;
            }

            if (Sel.Count < 1)
            {
                label3.Text = "선택";
                return;
            }

            SelGS         = (HybridBody)Sel.Item(1).Value;
            textBox1.Text = SelGS.get_Name();

            int ptCount = 0;

            for (int i = 1; i <= SelGS.HybridShapes.Count; i++)
            {
                ptCount++;
                Pts.Add(SelGS.HybridShapes.Item(i));
            }
            label4.Text = ptCount + "";
        }
예제 #9
0
        //select an end point
        private void button2_Click(object sender, EventArgs e)
        {
            //obj = null;
            sel = catia.ActiveDocument.Selection;
            sel.Clear();
            object[] inputObjType = { "Point" };
            string   status       = sel.SelectElement2(inputObjType, "Select a end point", false);

            if (status != "Normal" || sel.Count < 1)
            {
                MessageBox.Show("Select a start point.");
                return;
            }
            ptEnd = sel.Item(1).Reference;
        }
예제 #10
0
        private void button1_Click(object sender, EventArgs e)
        {
            // 카티아가 실행중?
            if (Catia == null)
            {
                MessageBox.Show("Please run CATIA");
                return;
            }

            /*
             * // 활성 문서가 있는가?
             * if (Catia.ActiveDocument == null)
             * {
             *  //MessageBox.Show("활성 문서가 없습니다");
             *  label1.Text = "활성 문서가 없습니다";
             * }
             */
            try
            {
                doc = (MECMOD.PartDocument)Catia.ActiveDocument;
            }
            catch (Exception)
            {
                doc = (MECMOD.PartDocument)Catia.Documents.Add("Part");
            }

            try
            {
                Sel = Catia.ActiveDocument.Selection;
            }
            catch (Exception)
            {
                MessageBox.Show("copy할 요소를 선택해주세요");
                return;
            }
            // MessageBox.Show(Sel.Count +" , " + Sel.Count2 +" , " + Sel.Item(1).get_Name() + " , " + Sel.Item(3).get_Name() + " , " + Sel.Item(3).get_Name()/* + " , " + Sel.Item(4).get_Name()*/);

            try
            {
                Sel.Copy();
                MessageBox.Show(Sel.Count + "개 복사 되엇습니다.");
            }
            catch (Exception)
            {
                MessageBox.Show("copy할 요소를 선택해주세요");
                return;
            }
        }
예제 #11
0
        //point2 가져오기------------------------------------
        private void button2_Click(object sender, EventArgs e)
        {
            // object[] arrCoord = new object[2];

            try
            {
                sel = catia.ActiveDocument.Selection;
                p2  = (Point2D)sel.FindObject("CATIAPoint2D");

                p2.GetCoordinates(arrCoord2);
                textBox2.Text = p2.get_Name() + " ( " + arrCoord2[0] + " , " + arrCoord2[1] + " )";
            }
            catch (Exception)
            {
                MessageBox.Show("선택한 정보가 없습니다.");
                return;
            }
        }
예제 #12
0
        private void button2_Click(object sender, EventArgs e)
        {
            // 카티아가 실행중?
            if (Catia == null)
            {
                //MessageBox.Show("Please run CATIA");
                label1.Text = "Please run CATIA";
                return;
            }

            // 활성 문서가 있는가?
            if (Catia.ActiveDocument == null)
            {
                //MessageBox.Show("활성 문서가 없습니다");
                label1.Text = "활성 문서가 없습니다";
            }
            // Point 선택 기능 실행
            INFITF.Selection Sel = null;
            Sel = Catia.ActiveDocument.Selection;

            Object[] InputObjectType = { "Line" };
            string   Status;

            Sel.Clear();
            Status = Sel.SelectElement2(InputObjectType, "Select an Line", false);

            if (Status != "Normal")
            {
                label1.Text = "취소됨";
                return;
            }

            if (Sel.Count < 1)
            {
                label1.Text = "선택했나";
                return;
            }

            //INFITF.SelectedElement SelObj = null; // 아이템 생성
            SelObj = (INFITF.AnyObject)Sel.Item(1).Value;

            textBox2.Text = SelObj.get_Name();
        }
예제 #13
0
        //1.Gs 선택-----------------------------------------------------------
        private void button2_Click(object sender, EventArgs e)
        {
            // 카티아가 실행중?
            if (catia == null)
            {
                MessageBox.Show("Please run the CATIA");
                return;
            }

            // 활성 문서가 있는가?
            if (catia.ActiveDocument == null)
            {
                MessageBox.Show("document를 열어주세요.");
                return;
            }

            try
            {
                // 선택 기능 실행
                sel = catia.ActiveDocument.Selection;
                //Gs만 선택해주라~~

                Object[] intype = { "HybridBody" };
                //sel.Clear();
                string status = sel.SelectElement2(intype, "Select a Geometrical set", true);

                /*The state of the selection command once SelectElement2 returns.
                 *  It can be either "Normal" (the selection has succeeded),
                 *   "Cancel" (the user wants to cancel the VB command,
                 *    which must exit immediately), "Undo" or "Redo".
                 */
                if (status != "Normal")
                {
                    MessageBox.Show("Cancel");
                    return;
                }

                if (sel.Count < 1)
                {
                    MessageBox.Show("GS를 선택해주세요");
                    return;
                }

                // GS이름 표시한다---
                hbdy          = (HybridBody)sel.Item(1).Value;
                textBox1.Text = hbdy.get_Name();

                //point 수 표시한다---
                int ptCount = 0;
                for (int i = 1; i <= hbdy.HybridShapes.Count; i++)  //i=1부타 시작~~
                {
                    ptCount++;
                    Pts.Add(hbdy.HybridShapes.Item(i));
                }
                textBox2.Text = ptCount + "";
            }
            catch (Exception)
            {
                MessageBox.Show("선택된 정보가 없습니다.");
                return;
            }
        }