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_Circular_Pattern_Example_VBNET.htm
Size: Mime:
<html>

<head>
<title>Create Circular Pattern 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,circular patterns">
<meta name=MS-HKWD content="VB.NET examples,Circles">
</head>


<body>
<h1>Create Circular Pattern Example (VB.NET)</h1>
<p>This example shows how to construct a circular pattern of Circles in a 
DraftSight drawing.</p>

<pre>'--------------------------------------------------------------
' Preconditions:
' 1. Create a VB.NET Windows console project.
' 2. Copy and paste this example into the VB.NET IDE.
' 3. Add a reference to:
'    <i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll.
</b>' 4. Start DraftSight and open a drawing document.
' 5. Run the macro.
'
' Postconditions:
' 1. Constructs three Circles.
' 2. Creates a circular pattern using the Circles.
' 3. Zooms the drawing to fit.
' 4. Examine the drawing.
'----------------------------------------------------------------
Imports DraftSight.Interop.dsAutomation
Imports System.Runtime.InteropServices
</pre>
<pre>Module Module1</pre>
<pre>    Sub Main()</pre>
<pre>        Dim dsApp As Application
        Dim dsDoc As Document
        Dim dsModel As Model
        Dim dsSketchManager As SketchManager
        Dim dsCircle1 As Circle
        Dim dsCircle2 As Circle
        Dim dsCircle3 As Circle</pre>
<pre>        'Connect to DraftSight
        dsApp = GetObject(, &quot;DraftSight.Application&quot;)
	dsApp.AbortRunningCommand() ' abort any command currently running in DraftSight to avoid nested commands</pre>
<pre>        'Get active document
        dsDoc = dsApp.<b>GetActiveDocument</b>()
        If Not dsDoc Is Nothing Then</pre>
<pre>            'Get model space
            dsModel = dsDoc.<b>GetModel</b>()</pre>
<pre>            'Get Sketch Manager
            dsSketchManager = dsModel.<b>GetSketchManager</b>()</pre>
<pre>            'Circle parameters
            Dim center1X As Double, center2X As Double, center3X As Double
            center1X = 30.0#
            center2X = 60.0#
            center3X = 90.0#</pre>
<pre>            Dim center1Y As Double, center2Y As Double, center3Y As Double
            center1Y = 30.0#
            center2Y = 60.0#
            center3Y = 90.0#</pre>
<pre>            Dim center1Z As Double, center2Z As Double, center3Z As Double
            center1Z = 0.0#
            center2Z = 0.0#
            center3Z = 0.0#</pre>
<pre>            Dim radius1 As Double, radius2 As Double, radius3 As Double
            radius1 = 10.0#
            radius2 = 10.0#
            radius3 = 10.0#</pre>
<pre>            'Draw the Circles
            dsCircle1 = dsSketchManager.<b>InsertCircle</b>(center1X, center1Y, center1Z, radius1)
            dsCircle2 = dsSketchManager.<b>InsertCircle</b>(center2X, center2Y, center2Z, radius2)
            dsCircle3 = dsSketchManager.<b>InsertCircle</b>(center3X, center3Y, center3Z, radius3)</pre>
<pre>            'Circular pattern parameters
            Dim angleBetween As Double
            angleBetween = 3.14159265358979 / 2  '90 degrees in radians</pre>
<pre>            Dim fillAngle As Double
            fillAngle = 4.71238898 '270 degrees in radians
</pre>
<pre>            Dim totalNumber As Integer
            totalNumber = 4</pre>
<pre>            Dim elementBasePointX As Double
            Dim elementBasePointY As Double
            Dim axisPointX As Double
            Dim axisPointY As Double
            elementBasePointX = 0.0#
            elementBasePointY = 0.0#
            axisPointX = 0.0#
            axisPointY = 0.0#</pre>
<pre>            Dim orientElementsAboutAxis As Boolean
            orientElementsAboutAxis = True</pre>
<pre>            'Prepare list of entity types
            Dim dsEntityTypes(0 To 2) As Integer
            dsEntityTypes(0) = dsObjectType_e.dsCircleType
            dsEntityTypes(1) = dsObjectType_e.dsCircleType
            dsEntityTypes(2) = dsObjectType_e.dsCircleType</pre>
<pre>            'Prepare list of entities
            Dim dsEntities As DispatchWrapper() = New DispatchWrapper(2) {}
            dsEntities(0) = New DispatchWrapper(dsCircle1)
            dsEntities(1) = New DispatchWrapper(dsCircle2)
            dsEntities(2) = New DispatchWrapper(dsCircle3)</pre>
<pre>            'Create circular pattern
            dsSketchManager.<b>PatternCircular</b>(dsBasePatternOn_e.dsBasePatternOn_AngleBetweenAndElementsNumber, angleBetween, fillAngle, totalNumber, elementBasePointX, elementBasePointY, axisPointX, axisPointY, orientElementsAboutAxis, dsEntityTypes, dsEntities)</pre>
<pre>            'Zoom to fit
            dsApp.<b>Zoom</b>(dsZoomRange_e.dsZoomRange_Fit, Nothing, Nothing)
</pre>
<pre>        Else</pre>
<pre>            MsgBox(&quot;There are no open documents in DraftSight.&quot;)</pre>
<pre>        End If

    End Sub</pre>
<pre>End Module</pre>

</body>

</html>