Open Document Example (C#)
This example shows how to programmatically open a document and set the
SOLIDWORKS working directory.
//---------------------------------------------------------------------------
// Preconditions:
// 1. Verify that the specified document to open exists.
// 2. Open the Immediate window.
//
// Postconditions:
// 1. Opens the specified document.
// 2. Sets the SOLIDWORKS working directory to the document directory.
// 3. Examine the Immediate window.
//---------------------------------------------------------------------------
using
Microsoft.VisualBasic;
using
System;
using
System.Collections;
using
System.Collections.Generic;
using
System.Data;
using
System.Diagnostics;
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using
System.Runtime.InteropServices;
namespace
SetWorkingDirectory_CSharp.csproj
{
partial
class
SolidWorksMacro
{
ModelDoc2
doc;
int
fileerror;
int
filewarning;
public
void Main()
{
swApp.Visible = true;
// Get the current working
directory before opening the document
Debug.Print("Current
working directory is " + swApp.GetCurrentWorkingDirectory());
doc = swApp.OpenDoc6("C:\\Program
Files\\SOLIDWORKS Corp\\SOLIDWORKS\\samples\\tutorial\\api\\chair.sldprt",
(int)swDocumentTypes_e.swDocPART,
(int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"",
ref
fileerror, ref
filewarning);
// Opening a document with
SldWorks::OpenDoc6 does not set the working directory
Debug.Print("Current
working directory is still " + swApp.GetCurrentWorkingDirectory());
// Set the working directory to
the document directory
swApp.SetCurrentWorkingDirectory(doc.GetPathName().Substring(0,
doc.GetPathName().LastIndexOf("\\")));
Debug.Print("Current
working directory is now " + swApp.GetCurrentWorkingDirectory());
}
public
SldWorks
swApp;
}
}