Get Break Line Data Example (C#)
This example shows how to get information on all break lines in a view.
//----------------------------------------------------------------------------
// Preconditions:
// 1. Create or open a drawing with one or more views that contain
// one or more break lines.
// 2. Open an Immediate Window.
//
// Postconditions: Inspect the Immediate Window.
// ---------------------------------------------------------------------------
using
SolidWorks.Interop.sldworks;
using
SolidWorks.Interop.swconst;
using System;
using
System.Diagnostics;
namespace
GetBreakline_CSharp.csproj
{
partial
class
SolidWorksMacro
{
DrawingDoc
Draw;
View
swActiveView;
int
Size;
int
Breaks;
object
info;
Double[]
infoArray;
public
void Main()
{
Draw = (DrawingDoc)swApp.ActiveDoc;
long
count = 0;
count = Draw.GetViewCount();
Debug.Print("There
are " + count +
" views in this drawing including the sheet view.");
long
i = 0;
long
j = 0;
swActiveView = (View)Draw.GetFirstView();
// get the sheet
swActiveView = (View)swActiveView.GetNextView();
// get the first view
for
(i = 0; i <= count - 2; i++)
{
Debug.Print("View
" + (i + 1));
Breaks = swActiveView.GetBreakLineCount2(out
Size);
Debug.Print("
Number of breaks is " + Breaks);
Debug.Print("
Size of break line data array is " + Size);
if
(!(Breaks == 0))
{
info = swActiveView.GetBreakLineInfo2();
infoArray = (Double[])info;
// Break line information
Debug.Print("
First break line:");
Debug.Print("
Break line style: " + infoArray[0]);
Debug.Print("
Break line color: " + infoArray[1]);
Debug.Print("
Break line linetype: " + infoArray[2]);
Debug.Print("
Break line linestyleindex: " + infoArray[3]);
Debug.Print("
Break line lineweight: " + infoArray[4]);
Debug.Print("
Break line layerid: " + infoArray[5]);
Debug.Print("
Break line layerOverride: " + infoArray[6]);
Debug.Print("
Number of line segments in this break line: " +
infoArray[7]);
Debug.Print("
Number of arcs in this break line: " +
infoArray[8]);
// Start and end point data
for all segments in this break line
//
and data for other break lines in this view
Debug.Print("");
Debug.Print("
Start and end point data for the break line above");
Debug.Print("
and data for other break lines in this view:");
for
(j = 9; j <= Size - 1; j++)
{
Debug.Print(" "
+ infoArray[j]);
}
}
swActiveView = (View)swActiveView.GetNextView();
}
}
public
SldWorks
swApp;
}
}