Get Drawing Sheets' Properties (C#)
This example shows how to get the properties of a drawing's sheets.
//-----------------------------------------------------------
// Preconditions: Specified drawing document exists.
//
// Postconditions: None.
//
//
NOTE: Drawing
sheet properties are
// printed to
the Immediate Window.
//-----------------------------------------------------------
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
namespace ExampleCS.csproj
{
using
SwDocumentMgr;
using
System.Diagnostics;
partial
class SolidWorksMacro
{
public
void Main()
{
SwDocumentMgr.SwDMClassFactory
swClassFact;
SwDocumentMgr.SwDMApplication
docMgrApp;
SwDocumentMgr.SwDMDocument13
docDrw;
SwDocumentMgr.SwDmDocumentOpenError
res;
swClassFact
= new SwDMClassFactory();
docMgrApp
= swClassFact.GetApplication("your_license_key");
string
sDocFileName;
sDocFileName
= "C:\\Program Files\\SolidWorks Corp\\SolidWorks\\samples\\tutorial\\advdrawings\\foodprocessor.slddrw";
docDrw
= (SwDMDocument13)docMgrApp.GetDocument(sDocFileName,
SwDmDocumentType.swDmDocumentDrawing, true, out res);
string[]
sheetNameVar;
int
sheetCount;
sheetCount
= docDrw.GetSheetCount();
sheetNameVar
= (string[])docDrw.GetSheetNames();
string
sheetName;
int
sheetNameCount;
for
(sheetNameCount = 0; sheetNameCount <= sheetNameVar.Length - 1; sheetNameCount++)
{
string
formatName;
swSheetFormatPathResult
status1;
sheetName
= sheetNameVar[sheetNameCount];
status1
= (swSheetFormatPathResult)docDrw.GetSheetFormatPath(sheetName,
out formatName);
Debug.Print(sheetName
+ " ---- " + formatName + "\n");
swSheetPropertiesResult
status2;
object
formatPropObj;
status2
= (swSheetPropertiesResult)docDrw.GetSheetProperties(sheetName,
out formatPropObj);
double[]
formatProp = (double[])formatPropObj;
double
para;
para
= formatProp[0];
string
paperSize;
GetPaperSize(para,
out paperSize);
Debug.Print("Paper
Size = " + paperSize);
Debug.Print("size
= " + formatProp[1] + " x " + formatProp[2]);
Debug.Print("Scale
= " + formatProp[3] + " : " + formatProp[4]);
bool
boolData;
boolData
= false;
if
((formatProp[5] == 1))
{
boolData
= true;
}
Debug.Print("FirstAngle
= " + boolData);
string
templateSize;
para
= formatProp[6];
GetTemplateSize(para,
out templateSize);
Debug.Print("Template
Size = " + templateSize);
boolData
= false;
if
((formatProp[7] == 1))
{
boolData
= true;
}
Debug.Print("TemplateVisible
= " + boolData);
Debug.Print("===========================================");
}
docDrw.CloseDoc();
}
///
<summary>
///
The SldWorks swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
#region
Helper Functions
public
void GetPaperSize(double inpNum, out string outPaperType)
{
if
((inpNum == 0))
{
outPaperType
= "swDwgPaperAsize";
}
else
if ((inpNum == 1))
{
outPaperType
= "swDwgPaperAsizeVertical";
}
else
if ((inpNum == 2))
{
outPaperType
= "swDwgPaperBsize";
}
else
if ((inpNum == 3))
{
outPaperType
= "swDwgPaperCsize";
}
else
if ((inpNum == 4))
{
outPaperType
= "swDwgPaperDsize";
}
else
if ((inpNum == 5))
{
outPaperType
= "swDwgPaperEsize";
}
else
if ((inpNum == 6))
{
outPaperType
= "swDwgPaperA4size";
}
else
if ((inpNum == 7))
{
outPaperType
= "swDwgPaperA4sizeVertical";
}
else
if ((inpNum == 8))
{
outPaperType
= "swDwgPaperA3size";
}
else
if ((inpNum == 9))
{
outPaperType
= "swDwgPaperA2size";
}
else
if ((inpNum == 10))
{
outPaperType
= "swDwgPaperA1size";
}
else
if ((inpNum == 11))
{
outPaperType
= "swDwgPaperA0size";
}
else
{
outPaperType
= "swDwgPapersUserDefined";
}
}
public
void GetTemplateSize(double inpNum, out string outTemplateType)
{
if
((inpNum == 0))
{
outTemplateType
= "swDwgTemplateAsize";
}
else
if ((inpNum == 1))
{
outTemplateType
= "swDwgTemplateAsizeVertical";
}
else
if ((inpNum == 2))
{
outTemplateType
= "swDwgTemplateBsize";
}
else
if ((inpNum == 3))
{
outTemplateType
= "swDwgTemplateCsize";
}
else
if ((inpNum == 4))
{
outTemplateType
= "swDwgTemplateDsize";
}
else
if ((inpNum == 5))
{
outTemplateType
= "swDwgTemplateEsize";
}
else
if ((inpNum == 6))
{
outTemplateType
= "swDwgTemplateA4size";
}
else
if ((inpNum == 7))
{
outTemplateType
= "swDwgTemplateA4sizeVertical";
}
else
if ((inpNum == 8))
{
outTemplateType
= "swDwgTemplateA3size";
}
else
if ((inpNum == 9))
{
outTemplateType
= "swDwgTemplateA2size";
}
else
if ((inpNum == 10))
{
outTemplateType
= "swDwgTemplateA1size";
}
else
if ((inpNum == 11))
{
outTemplateType
= "swDwgTemplateA0size";
}
else
if ((inpNum == 12))
{
outTemplateType
= "swDwgTemplateCustom";
}
else
{
outTemplateType
= "swDwgTemplateNone";
}
}
#endregion
}
}