コード例 #1
0
        static void Main(string[] args)
        {
            ISldWorks swApp;

            try {
                var progId = "SldWorks.Application";
                swApp = Marshal2.GetActiveObject(progId) as ISldWorks;
            } catch (COMException e) {
                swApp         = new SldWorks();
                swApp.Visible = true;
            }

            // If file paths aren't correctly specified, warn the user and exit
            if (args.Length != 2)
            {
                Console.Error.Write("Incorrect number of arguments");
                return;
            }

            string ext = Path.GetExtension(args[0]);

            if (ext != Path.GetExtension(args[1]))
            {
                Console.Error.Write("File types don't match");
                return;
            }

            int filetype_int;

            switch (ext)
            {
            case ".SLDPRT":
                filetype_int = 1;                         // swDocPART
                break;

            case ".SLDASM":
                filetype_int = 2;                         // swDocASSEMBLY
                break;

            default:
                filetype_int = 0;                         // swDocNONE
                break;
            }

            int openDocOptions = 1;             // swOpenDocOptions_Silent
            int fileError      = 0;
            int fileWarning    = 0;

            // open the second window first to tile properly
            swApp.OpenDoc6(
                args[1],                          // FileName
                filetype_int,                     // Type
                openDocOptions,                   // Options
                "",                               // Configuration
                ref fileError,                    // Errors
                ref fileWarning                   // Warnings
                );
            if (fileError != 0)
            {
                Console.Error.Write("Encountered error opening file: "
                                    + fileError.ToString());
            }
            else if (fileWarning != 0)
            {
                Console.WriteLine("Encountered warning opening file: "
                                  + fileWarning.ToString());
            }
            swApp.OpenDoc6(
                args[0],                          // FileName
                filetype_int,                     // Type
                openDocOptions,                   // Options
                "",                               // Configuration
                ref fileError,                    // Errors
                ref fileWarning                   // Warnings
                );
            if (fileError != 0)
            {
                Console.Error.Write("Encountered error opening file: "
                                    + fileError.ToString());
            }
            else if (fileWarning != 0)
            {
                Console.WriteLine("Encountered warning opening file: "
                                  + fileWarning.ToString());
            }
            // Arrange Windows to vertical tiling
            swApp.ArrangeWindows(2);
        }