Solid Edge Framework Type Library
Variables Collection
Members 
Description
A collection of Variable objects.
Example
Imports System
Imports System.Runtime.InteropServices

Namespace Examples
    Friend Class Program
        <STAThread>
        Shared Sub Main(ByVal args() As String)
            Dim application As SolidEdgeFramework.Application = Nothing
            Dim document As SolidEdgeFramework.SolidEdgeDocument = Nothing
            Dim variables As SolidEdgeFramework.Variables = Nothing
            Dim variableList As SolidEdgeFramework.VariableList = Nothing

            Try
                ' See "Handling 'Application is Busy' and 'Call was Rejected By Callee' errors" topic.
                OleMessageFilter.Register()

                ' Attempt to connect to a running instance of Solid Edge.
                application = DirectCast(Marshal.GetActiveObject("SolidEdge.Application"), SolidEdgeFramework.Application)

                document = CType(application.ActiveDocument, SolidEdgeFramework.SolidEdgeDocument)

                variables = CType(document.Variables, SolidEdgeFramework.Variables)

                Dim pFindCriterium As String = "*"
                Dim NamedBy As Object = SolidEdgeConstants.VariableNameBy.seVariableNameByBoth
                Dim VarType As Object = SolidEdgeConstants.VariableVarType.SeVariableVarTypeBoth
                Dim CaseInsensitive As Object = False

                ' Execute query.
                variableList = CType(variables.Query(pFindCriterium, NamedBy, VarType, CaseInsensitive), SolidEdgeFramework.VariableList)

                For i As Integer = 1 To variableList.Count
                    Dim item = variableList.Item(i)

                    ' Determine the runtime type of the object.
                    Dim itemType = item.GetType()
                    Dim objectType = CType(itemType.InvokeMember("Type", System.Reflection.BindingFlags.GetProperty, Nothing, item, Nothing), SolidEdgeFramework.ObjectType)

                    Select Case objectType
                        Case SolidEdgeFramework.ObjectType.igDimension
                            Dim dimension = CType(item, SolidEdgeFrameworkSupport.Dimension)
                        Case SolidEdgeFramework.ObjectType.igVariable
                            Dim variable = CType(item, SolidEdgeFramework.variable)
                    End Select
                Next i
            Catch ex As System.Exception
                Console.WriteLine(ex)
            Finally
                OleMessageFilter.Unregister()
            End Try
        End Sub
    End Class
End Namespace
using System;
using System.Runtime.InteropServices;

namespace Examples
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            SolidEdgeFramework.Application application = null;
            SolidEdgeFramework.SolidEdgeDocument document = null;
            SolidEdgeFramework.Variables variables = null;
            SolidEdgeFramework.VariableList variableList = null;

            try
            {
                // See "Handling 'Application is Busy' and 'Call was Rejected By Callee' errors" topic.
                OleMessageFilter.Register();

                // Attempt to connect to a running instance of Solid Edge.
                application = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application");

                document = (SolidEdgeFramework.SolidEdgeDocument)application.ActiveDocument;

                variables = (SolidEdgeFramework.Variables)document.Variables;

                string pFindCriterium = "*";
                object NamedBy = SolidEdgeConstants.VariableNameBy.seVariableNameByBoth;
                object VarType = SolidEdgeConstants.VariableVarType.SeVariableVarTypeBoth;
                object CaseInsensitive = false;

                // Execute query.
                variableList = (SolidEdgeFramework.VariableList)variables.Query(pFindCriterium, NamedBy, VarType, CaseInsensitive);

                for (int i = 1; i <= variableList.Count; i++)
                {
                    var item = variableList.Item(i);

                    // Determine the runtime type of the object.
                    var itemType = item.GetType();
                    var objectType = (SolidEdgeFramework.ObjectType)itemType.InvokeMember("Type", System.Reflection.BindingFlags.GetProperty, null, item, null);

                    switch (objectType)
                    {
                        case SolidEdgeFramework.ObjectType.igDimension:
                            var dimension = (SolidEdgeFrameworkSupport.Dimension)item;
                            break;
                        case SolidEdgeFramework.ObjectType.igVariable:
                            var variable = (SolidEdgeFramework.variable)item;
                            break;
                    }
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                OleMessageFilter.Unregister();
            }
        }
    }
}
See Also

Variables Members