Get Sheet in Multi-sheet Drawing Example (C#)
This example shows how to get each sheet in a multi-sheet drawing document
regardless whether the sheet is loaded.
//----------------------------------------------
// Preconditions:
// 1. Click File >
Open.
// 2. Open:
// <SolidWorks_install_dir>\samples\tutorial\advdrawings\foodprocessor.slddrw
// 3. Select Selected
and Sheet1 in Select
sheets to load.
// 4. Click Open.
// 5. Run the macro.
//
// Postconditions: Only Sheet1 is loaded.
//
// NOTE: Because this drawing document is used by a
// SolidWorks online tutorial, do not save any
// changes when closing the document.
//----------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
namespace SheetDrawingDocCSharp.csproj
{
partial
class SolidWorksMacro
{
public
void Main()
{
ModelDoc2
swModel = default(ModelDoc2);
DrawingDoc
swDraw = default(DrawingDoc);
string[]
vSheetName = null;
int
i = 0;
bool
bRet = false;
string
sheetName;
swModel
= (ModelDoc2)swApp.ActiveDoc;
swDraw
= (DrawingDoc)swModel;
//
Get the sheets in the drawing document
vSheetName
= (string[])swDraw.GetSheetNames();
//
Traverse the sheets and determine whether
//
they're loaded
for
(i = 0; i < vSheetName.Length; i++)
{
sheetName
= (string)vSheetName[i];
bRet
= swDraw.ActivateSheet(sheetName);
Sheet
swSheet = default(Sheet);
swSheet
= (Sheet)swDraw.get_Sheet(vSheetName[i]);
if
((swSheet.IsLoaded()))
{
Debug.Print(vSheetName[i]
+ " is loaded.");
}
else
{
Debug.Print(vSheetName[i]
+ " is not loaded.");
}
}
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
}
}