Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
draftsight / opt / dassault-systemes / DraftSight / APISDK / Create_PolygonMesh_Example_VBNET.htm
Size: Mime:
<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>
	'&nbsp;&nbsp;&nbsp;&nbsp;<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>
	'&nbsp;&nbsp;&nbsp;&nbsp;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>
	&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Blue">Sub</span><span style="color:Black"> 
	Main()<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Connect to DraftSight application<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Blue">Dim</span><span style="color:Black"> 
	dsApp = GetObject(, </span><span style="color:#a31515">&quot;DraftSight.Application&quot;</span><span style="color:Black">)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dsApp.<b>AbortRunningCommand</b>() ' </span>
	abort any command currently running in DraftSight to avoid nested commands<span style="color:Black"><br>
	<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Get active document<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(</span><span style="color:#a31515">&quot;There 
	are no open documents in DraftSight.&quot;</span><span style="color:Black">)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Blue">Return<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Blue">End</span><span style="color:Black">
	</span><span style="color:Blue">If<br>
	<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Get 
	model space<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Get Sketch Manager<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'PolygonMesh parameters<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -2.82842712474619, 0, -2.82842712474619, -3.69551813004515, 0, 
	-1.53073372946036, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -4, 0, 0, 0, 0, -4, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -0.76536686473018, -1.32565429614237, -3.69551813004515, 
	-1.4142135623731, -2.44948974278318, -2.82842712474619, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -1.84775906502257, -3.20041258076506, -1.53073372946036, -2, 
	-3.46410161513776, 0, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0, 0, -4, 0.765366864730179, -1.32565429614237, -3.69551813004515, 
	_<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.41421356237309, -2.44948974278318, -2.82842712474619, 
	1.84775906502257, -3.20041258076506, -1.53073372946036, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2, -3.46410161513776, 0, 0, 0, -4, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.53073372946036, 0, -3.69551813004515, 2.82842712474619, 0, 
	-2.82842712474619, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.69551813004515, 0, -1.53073372946036, 4, 0, 0, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0, 0, -4, 0.76536686473018, 1.32565429614237, -3.69551813004515, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.4142135623731, 2.44948974278318, -2.82842712474619, 
	1.84775906502257, 3.20041258076506, -1.53073372946036, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2, 3.46410161513775, 0, 0, 0, -4, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -0.765366864730179, 1.32565429614237, -3.69551813004515, 
	-1.41421356237309, 2.44948974278318, -2.82842712474619, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -1.84775906502257, 3.20041258076506, -1.53073372946036, -2, 
	3.46410161513776, 0}<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Add PolygonMesh<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Make PolygonMesh continuous from 
	the last row to the first row<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsPolygonMesh.<b>MClosed</b> =
	</span><span style="color:Blue">True<br>
	<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Zoom 
	to fit<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Print PolygonMesh properties<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintParameters(dsPolygonMesh)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Blue">End</span><span style="color:Black">
	</span><span style="color:Blue">Sub<br>
	<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(Environment.NewLine &amp; </span>
	<span style="color:#a31515">&quot;Polygon mesh parameters...&quot;</span><span style="color:Black">)<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Print common entity parameters<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;Handle 
	= &quot;</span><span style="color:Black"> &amp; Convert.ToString(dsPolygonMesh.<b>Handle</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;Color = &quot;</span><span style="color:Black"> 
	&amp; dsPolygonMesh.Color.<b>GetNamedColor</b>())<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;Erased = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>Erased</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;Layer = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>Layer</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;LineScale = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>LineScale</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;LineStyle = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>LineStyle</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;LineWeight = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>LineWeight</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;Visible = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>Visible</b>))<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsPolygonMesh.<b>GetBoundingBox</b>(x1, 
	y1, z1, x2, y2, z2)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:Blue">String</span><span style="color:Black">.Format(</span><span style="color:#a31515">&quot;BoundingBox: 
	({0},{1},{2}) and ({3},{4},{5})&quot;</span><span style="color:Black">, x1, y1, 
	z1, x2, y2, _<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z2))<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Print PolygonMesh parameters<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;FitSmooth 
	= &quot;</span><span style="color:Black"> &amp; Convert.ToString(dsPolygonMesh.<b>FitSmooth</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;NDensity = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>NDensity</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;MDensity = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>MDensity</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;NClosed = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>NClosed</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;MClosed = &quot;</span><span style="color:Black"> 
	&amp; Convert.ToString(dsPolygonMesh.<b>MClosed</b>))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;MVertexCount = &quot;</span><span style="color:Black"> 
	&amp; dsPolygonMesh.<b>GetMVertexCount</b>())<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;NVertexCount = &quot;</span><span style="color:Black"> 
	&amp; dsPolygonMesh.<b>GetNVertexCount</b>())<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Green">'Print PolygonMesh coordinates<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:#a31515">&quot;Coordinates 
	of polygon mesh vertices:&quot;</span><span style="color:Black">)<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsPolygonMesh.<b>GetVertexCoordinate</b>(vertexIndex, 
	x, y, z)<br>
	<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print(</span><span style="color:Blue">String</span><span style="color:Black">.Format(</span><span style="color:#a31515">&quot;Vertex({0}): 
	({1},{2},{3})&quot;</span><span style="color:Black">, vertexIndex, x, y, z))<br>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color:Blue">Next<br>
	</span><span style="color:Black">&nbsp;&nbsp;&nbsp;&nbsp;</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>