コード例 #1
0
        private void button3_Click(object sender, EventArgs e)
        {
            // Connect to or start Solid Edge.
            YCC_solidedge.getEdgeApplication(ref SEApp, true);


            SolidEdgeAssembly.AssemblyDocument asydoc = (SolidEdgeAssembly.AssemblyDocument)SEApp.ActiveDocument;

            SolidEdgeAssembly.Occurrences occs = (SolidEdgeAssembly.Occurrences)asydoc.Occurrences;
            SolidEdgeAssembly.Occurrence  occ  = (SolidEdgeAssembly.Occurrence)occs.Item(2);

            Array MinRangePoint = Array.CreateInstance(typeof(double), 0);
            Array MaxRangePoint = Array.CreateInstance(typeof(double), 0);

            //object[] w = new object[3];

            occ.GetRangeBox(ref MinRangePoint, ref MaxRangePoint);


            SolidEdgePart.PartDocument ps = (SolidEdgePart.PartDocument)occ.OccurrenceDocument;
            //SolidEdgePart.Models ms = (SolidEdgePart.Models)ps.Models.Item[1];
            SolidEdgePart.Model m = (SolidEdgePart.Model)ps.Models.Item(1);

            SolidEdgeGeometry.Body b = (SolidEdgeGeometry.Body)m.Body;

            SolidEdgeGeometry.Edges ees = (SolidEdgeGeometry.Edges)b.Edges[SolidEdgeGeometry.FeatureTopologyQueryTypeConstants.igQueryAll];
            SolidEdgeGeometry.Edge  ee  = (SolidEdgeGeometry.Edge)ees.Item(1);

            //ee.GetRange(ref MinRangePoint, ref MaxRangePoint);


            b.GetRange(ref MinRangePoint, ref MaxRangePoint);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: tecnicoPOLARIA/SE_POLARIA
        static void Main(string[] args)
        {
            SolidEdgeFramework.Application application  = null;
            SolidEdgePart.PartDocument     partDocument = null;
            SolidEdgePart.Models           models       = null;
            SolidEdgePart.Model            model        = null;
            SolidEdgeGeometry.Body         body         = null;

            try
            {
                // Register with OLE to handle concurrency issues on the current thread.
                SolidEdgeCommunity.OleMessageFilter.Register();

                // Connect to or start Solid Edge.
                application = SolidEdgeCommunity.SolidEdgeUtils.Connect(true, true);

                // Bring Solid Edge to the foreground.
                application.Activate();

                // Get a reference to the active part document.
                partDocument = application.GetActiveDocument <SolidEdgePart.PartDocument>(false);

                if (partDocument != null)
                {
                    models = partDocument.Models;

                    if (models.Count == 0)
                    {
                        throw new System.Exception("No geometry defined.");
                    }

                    model = models.Item(1);
                    body  = (SolidEdgeGeometry.Body)model.Body;

                    Array MinRangePoint = Array.CreateInstance(typeof(double), 0);
                    Array MaxRangePoint = Array.CreateInstance(typeof(double), 0);

                    body.GetRange(ref MinRangePoint, ref MaxRangePoint);
                }
                else
                {
                    throw new System.Exception("No active document.");
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                SolidEdgeCommunity.OleMessageFilter.Unregister();
            }
        }