Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
<html>
<head>
<title>Create PolygonMesh Example (VB.NET)</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
<meta name=MS-HKWD content="VB.NET examples">
<meta name=MS-HKWD content="VB.NET examples,PolygonMeshes">
</head>
<body>
<h1>Create PolygonMesh Example (VB.NET)</h1>
<p>This example shows how to create a PolygonMesh.</p>
<div style="font-family:Monospace; font-size: 10pt; background-color: white;">
<p class="APICODE"><span style="color:Green">
'-------------------------------------------------------------<br>
' Preconditions:<br>
' 1. Create a VB.NET Windows console project.<br>
' 2. Copy and paste this project into the VB.NET IDE.<br>
' 3. Add a reference to:<br>
' <i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b>.<br>
' 4. Add references to <b>System</b> and <b>System.Windows.Forms</b>.<br>
' 5. Open the Immediate window.<br>
' 6. Start DraftSight and open a document.<br>
' 7. Click Start Debugging.<br>
'<br>
' Postconditions: <br>
' 1. A PolygonMesh is created and zoomed to fit.<br>
' 2. All PolygonMesh parameters are printed to the Immediate<br>
' window.<br>
'------------------------------------------------------------<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Collections.Generic<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Text<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
DraftSight.Interop.dsAutomation<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Runtime.InteropServices<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Windows.Forms<br>
</span><span style="color:Blue">Imports</span><span style="color:Black">
System.Diagnostics<br>
<br>
</span><span style="color:Blue">Module</span><span style="color:Black">
Module1<br>
</span><span style="color:Blue">Sub</span><span style="color:Black">
Main()<br>
</span><span style="color:Green">'Connect to DraftSight application<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsApp = GetObject(, </span><span style="color:#a31515">"DraftSight.Application"</span><span style="color:Black">)<br>
dsApp.<b>AbortRunningCommand</b>() ' </span>
abort any command currently running in DraftSight to avoid nested commands<span style="color:Black"><br>
<br>
<br>
</span><span style="color:Green">'Get active document<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsDoc </span><span style="color:Blue">As</span><span style="color:Black">
Document = dsApp.<b>GetActiveDocument</b>()<br>
</span><span style="color:Blue">If</span><span style="color:Black">
dsDoc </span><span style="color:Blue">Is</span><span style="color:Black">
</span><span style="color:Blue">Nothing</span><span style="color:Black">
</span><span style="color:Blue">Then<br>
</span><span style="color:Black"> MessageBox.Show(</span><span style="color:#a31515">"There
are no open documents in DraftSight."</span><span style="color:Black">)<br>
</span><span style="color:Blue">Return<br>
</span><span style="color:Black"> </span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">If<br>
<br>
</span><span style="color:Black"> </span><span style="color:Green">'Get
model space<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsModel </span><span style="color:Blue">As</span><span style="color:Black">
Model = dsDoc.<b>GetModel</b>()<br>
<br>
</span><span style="color:Green">'Get Sketch Manager<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsSketchMgr </span><span style="color:Blue">As</span><span style="color:Black">
SketchManager = dsModel.<b>GetSketchManager</b>()<br>
<br>
</span><span style="color:Green">'PolygonMesh parameters<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
coordinatesArray </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Double</span><span style="color:Black">() =
</span><span style="color:Blue">New</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">() {0, 0,
-4, -1.53073372946036, 0, -3.69551813004515, _<br>
-2.82842712474619, 0, -2.82842712474619, -3.69551813004515, 0,
-1.53073372946036, _<br>
-4, 0, 0, 0, 0, -4, _<br>
-0.76536686473018, -1.32565429614237, -3.69551813004515,
-1.4142135623731, -2.44948974278318, -2.82842712474619, _<br>
-1.84775906502257, -3.20041258076506, -1.53073372946036, -2,
-3.46410161513776, 0, _<br>
0, 0, -4, 0.765366864730179, -1.32565429614237, -3.69551813004515,
_<br>
1.41421356237309, -2.44948974278318, -2.82842712474619,
1.84775906502257, -3.20041258076506, -1.53073372946036, _<br>
2, -3.46410161513776, 0, 0, 0, -4, _<br>
1.53073372946036, 0, -3.69551813004515, 2.82842712474619, 0,
-2.82842712474619, _<br>
3.69551813004515, 0, -1.53073372946036, 4, 0, 0, _<br>
0, 0, -4, 0.76536686473018, 1.32565429614237, -3.69551813004515, _<br>
1.4142135623731, 2.44948974278318, -2.82842712474619,
1.84775906502257, 3.20041258076506, -1.53073372946036, _<br>
2, 3.46410161513775, 0, 0, 0, -4, _<br>
-0.765366864730179, 1.32565429614237, -3.69551813004515,
-1.41421356237309, 2.44948974278318, -2.82842712474619, _<br>
-1.84775906502257, 3.20041258076506, -1.53073372946036, -2,
3.46410161513776, 0}<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
mVertexCount </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Integer</span><span style="color:Black"> = 6<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
nVertexCount </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Integer</span><span style="color:Black"> = 5<br>
<br>
</span><span style="color:Green">'Add PolygonMesh<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
dsPolygonMesh </span><span style="color:Blue">As</span><span style="color:Black">
PolygonMesh = dsSketchMgr.<b>InsertPolygonMesh</b>(mVertexCount,
nVertexCount, coordinatesArray)<br>
<br>
</span><span style="color:Green">'Make PolygonMesh continuous from
the last row to the first row<br>
</span><span style="color:Black"> dsPolygonMesh.<b>MClosed</b> =
</span><span style="color:Blue">True<br>
<br>
</span><span style="color:Black"> </span><span style="color:Green">'Zoom
to fit<br>
</span><span style="color:Black"> dsApp.<b>Zoom</b>(dsZoomRange_e.dsZoomRange_Fit,
</span><span style="color:Blue">Nothing</span><span style="color:Black">,
</span><span style="color:Blue">Nothing</span><span style="color:Black">)<br>
<br>
</span><span style="color:Green">'Print PolygonMesh properties<br>
</span><span style="color:Black"> PrintParameters(dsPolygonMesh)<br>
</span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">Sub<br>
<br>
</span><span style="color:Black"> </span><span style="color:Blue">Sub</span><span style="color:Black">
PrintParameters(</span><span style="color:Blue">ByVal</span><span style="color:Black">
dsPolygonMesh </span><span style="color:Blue">As</span><span style="color:Black">
PolygonMesh)<br>
Debug.Print(Environment.NewLine & </span>
<span style="color:#a31515">"Polygon mesh parameters..."</span><span style="color:Black">)<br>
<br>
</span><span style="color:Green">'Print common entity parameters<br>
</span><span style="color:Black"> Debug.Print(</span><span style="color:#a31515">"Handle
= "</span><span style="color:Black"> & Convert.ToString(dsPolygonMesh.<b>Handle</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Color = "</span><span style="color:Black">
& dsPolygonMesh.Color.<b>GetNamedColor</b>())<br>
Debug.Print(</span><span style="color:#a31515">"Erased = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>Erased</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Layer = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>Layer</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LineScale = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>LineScale</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LineStyle = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>LineStyle</b>))<br>
Debug.Print(</span><span style="color:#a31515">"LineWeight = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>LineWeight</b>))<br>
Debug.Print(</span><span style="color:#a31515">"Visible = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>Visible</b>))<br>
<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
x1 </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Double</span><span style="color:Black">, y1
</span><span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, z1 </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double<br>
</span><span style="color:Black"> </span><span style="color:Blue">Dim</span><span style="color:Black">
x2 </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Double</span><span style="color:Black">, y2
</span><span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, z2 </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double<br>
</span><span style="color:Black"> dsPolygonMesh.<b>GetBoundingBox</b>(x1,
y1, z1, x2, y2, z2)<br>
Debug.Print(</span><span style="color:Blue">String</span><span style="color:Black">.Format(</span><span style="color:#a31515">"BoundingBox:
({0},{1},{2}) and ({3},{4},{5})"</span><span style="color:Black">, x1, y1,
z1, x2, y2, _<br>
z2))<br>
<br>
</span><span style="color:Green">'Print PolygonMesh parameters<br>
</span><span style="color:Black"> Debug.Print(</span><span style="color:#a31515">"FitSmooth
= "</span><span style="color:Black"> & Convert.ToString(dsPolygonMesh.<b>FitSmooth</b>))<br>
Debug.Print(</span><span style="color:#a31515">"NDensity = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>NDensity</b>))<br>
Debug.Print(</span><span style="color:#a31515">"MDensity = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>MDensity</b>))<br>
Debug.Print(</span><span style="color:#a31515">"NClosed = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>NClosed</b>))<br>
Debug.Print(</span><span style="color:#a31515">"MClosed = "</span><span style="color:Black">
& Convert.ToString(dsPolygonMesh.<b>MClosed</b>))<br>
Debug.Print(</span><span style="color:#a31515">"MVertexCount = "</span><span style="color:Black">
& dsPolygonMesh.<b>GetMVertexCount</b>())<br>
Debug.Print(</span><span style="color:#a31515">"NVertexCount = "</span><span style="color:Black">
& dsPolygonMesh.<b>GetNVertexCount</b>())<br>
<br>
</span><span style="color:Green">'Print PolygonMesh coordinates<br>
</span><span style="color:Black"> Debug.Print(</span><span style="color:#a31515">"Coordinates
of polygon mesh vertices:"</span><span style="color:Black">)<br>
</span><span style="color:Blue">For</span><span style="color:Black">
vertexIndex </span><span style="color:Blue">As</span><span style="color:Black">
</span><span style="color:Blue">Integer</span><span style="color:Black"> = 0
</span><span style="color:Blue">To</span><span style="color:Black">
dsPolygonMesh.<b>GetVerticesCount</b>() - 1<br>
</span><span style="color:Blue">Dim</span><span style="color:Black">
x </span><span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, y </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double</span><span style="color:Black">, z </span>
<span style="color:Blue">As</span><span style="color:Black"> </span>
<span style="color:Blue">Double<br>
</span><span style="color:Black"> dsPolygonMesh.<b>GetVertexCoordinate</b>(vertexIndex,
x, y, z)<br>
<br>
Debug.Print(</span><span style="color:Blue">String</span><span style="color:Black">.Format(</span><span style="color:#a31515">"Vertex({0}):
({1},{2},{3})"</span><span style="color:Black">, vertexIndex, x, y, z))<br>
</span><span style="color:Blue">Next<br>
</span><span style="color:Black"> </span><span style="color:Blue">End</span><span style="color:Black">
</span><span style="color:Blue">Sub<br>
<br>
End</span><span style="color:Black"> </span><span style="color:Blue">Module</span></div>
</body>
</html>