This example shows how to get and set command options.
'------------------------------------------------------------ ' 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: ' install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll. ' 4. Open the Immediate window. ' 5. Start DraftSight and open a document. ' 6. Run the macro. ' ' Postconditions: Specified command option values are returned, set, and ' printed to the Immediate window. Results of setting specified command ' option values are also printed to the Immediate window. '---------------------------------------------------------------- Imports DraftSight.Interop.dsAutomation Module Module1 Sub Main()
Dim dsApp As Application Dim dsDoc As Document
'Connect to DraftSight dsApp = GetObject(, "DraftSight.Application") dsApp.AbortRunningCommand() ' abort any command currently running in DraftSight to avoid nested commands
'Get active document dsDoc = dsApp.GetActiveDocument() If Not dsDoc Is Nothing Then Dim boolCommand As Boolean Dim doubleCommand As Double Dim int16Command As Integer Dim int32Command As Long Dim int8Command As Long Dim xint2DCommand As Integer Dim yint2DCommand As Integer Dim xint3DCommand As Integer Dim yint3DCommand As Integer Dim zint3DCommand As Integer Dim valueStringCommand As String = "" Dim getResult As dsGetCommandOptionResult_e Dim setResult As dsSetCommandOptionResult_e
'Boolean 'Get and set whether to enable drawing boundary 'Tools > Options > Drawing Settings > Behavior > Drawing Boundary > Enable drawing boundary dsDoc.GetCommandOptionBool(dsCommandOptionBool_e.dsCommandOptionBool_EnblDlDm, boolCommand, getResult) Debug.Print("Get drawing boundary value: " & boolCommand) boolCommand = True dsDoc.SetCommandOptionBool(dsCommandOptionBool_e.dsCommandOptionBool_EnblDlDm, boolCommand, setResult) Debug.Print("Set drawing boundary value: " & boolCommand) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'Double 'Get and set dimension tolerance precision 'Tools > Options > Drafting Styles > Dimension > Tolerance > Tolerance settings > Precision dsDoc.GetCommandOptionDouble(dsCommandOptionDouble_e.dsCommandOptionDouble_SetTDmMin, doubleCommand, getResult) Debug.Print("Get dimension tolerance precision: " & doubleCommand) doubleCommand = 2.0# dsDoc.SetCommandOptionDouble(dsCommandOptionDouble_e.dsCommandOptionDouble_SetTDmMin, doubleCommand, setResult) Debug.Print("Set dimension tolerance precision: " & doubleCommand) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'Int16 'Get and set units for inserting entities 'Tools > Options > System Options > Drawing File Defaults > Block insertion units > Units for inserting entities dsDoc.GetCommandOptionInt16(dsCommandOptionInt16_e.dsCommandOptionInt16_SetActBlkInsUnt, int16Command, getResult) Debug.Print("Get units for inserting entities: " & int16Command) int16Command = 4 dsDoc.SetCommandOptionInt16(dsCommandOptionInt16_e.dsCommandOptionInt16_SetActBlkInsUnt, int16Command, setResult) Debug.Print("Set units for inserting entities: " & int16Command) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'Int32 'Get and set the elapsed time between saving and backing up documents 'Tools > Options > System Options > Auto-save & Backup > Auto-save/backups > Save document every nn minutes dsDoc.GetCommandOptionInt32(dsCommandOptionInt32_e.dsCommandOptionInt32_SetSvTm, int32Command, getResult) Debug.Print("Get elapsed time between saving and backing up documents: " & int32Command) int32Command = 15 dsDoc.SetCommandOptionInt32(dsCommandOptionInt32_e.dsCommandOptionInt32_SetSvTm, int32Command, setResult) Debug.Print("Set elapsed time between saving and backing up documents: " & int32Command) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'Int8 'Get and set whether dual dimensions display leading zeros, trailing zeros, 0', and 0" 'Tools > Options > Drafting Styles > Dimension > Dual Dimension > Zeroes display dsDoc.GetCommandOptionInt8(dsCommandOptionInt8_e.dsCommandOptionInt8_SetDlDmZroDsp, int8Command, getResult) Debug.Print("Get whether dual dimensions display leading zeros, trailing zeros, 0 feet, and 0 inches: " & int8Command) int8Command = 0 dsDoc.SetCommandOptionInt8(dsCommandOptionInt8_e.dsCommandOptionInt8_SetDlDmZroDsp, int8Command, setResult) Debug.Print("Set whether dual dimensions display leading zeros, trailing zeros, 0 feet, and 0 inches: " & int8Command) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'2D Point 'Get and set horizontal and vertical snap spacing for the pointer device 'Tools > Options > User Preferences > Drafting Options > Pointer Control > Snap Settings > Spacing > Horizontal Snap spacing and Vertical Snap spacing dsDoc.GetCommandOptionPoint2D(dsCommandOptionPoint2d_e.dsCommandOptionPoint2d_SetSnpSpc, xint2DCommand, yint2DCommand, getResult) Debug.Print("Get pointer's horizontal and vertical snap values: " & xint2DCommand & ", " & yint2DCommand) xint2DCommand = 15.0# yint2DCommand = 15.0# dsDoc.SetCommandOptionPoint2D(dsCommandOptionPoint2d_e.dsCommandOptionPoint2d_SetSnpSpc, xint2DCommand, yint2DCommand, setResult) Debug.Print("Set pointer's horizontal and vertical snap values: " & xint2DCommand & ", " & yint2DCommand) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'3D Point 'Get and set the base point for inserting a drawing dsDoc.GetCommandOptionPoint3D(dsCommandOptionPoint3d_e.dsCommandOptionPoint3d_SetBase, xint3DCommand, yint3DCommand, zint3DCommand, getResult) Debug.Print("Get base point for inserting a drawing: " & xint3DCommand & ", " & yint3DCommand & ", " & zint3DCommand) xint3DCommand = 1.0# yint3DCommand = 0.0# zint3DCommand = 0.0# dsDoc.SetCommandOptionPoint3D(dsCommandOptionPoint3d_e.dsCommandOptionPoint3d_SetBase, xint3DCommand, yint3DCommand, zint3DCommand, setResult) Debug.Print("Set base point for inserting a drawing: " & xint3DCommand & ", " & yint3DCommand & ", " & zint3DCommand) Debug.Print("Set result: " & setResult) Debug.Print(" ")
'String 'Get and set name of project dsDoc.GetCommandOptionString(dsCommandOptionString_e.dsCommandOptionString_LgcyPROJECTNAME, valueStringCommand, getResult) Debug.Print("Get project name: " & valueStringCommand) valueStringCommand = "New project name" dsDoc.SetCommandOptionString(dsCommandOptionString_e.dsCommandOptionString_LgcyPROJECTNAME, valueStringCommand, setResult) Debug.Print("Set project name: " & valueStringCommand) Debug.Print("Set result: " & setResult) Debug.Print(" ") Else Debug.Print("There are no open documents in DraftSight.") End If End Sub End Module