Hide Table of Contents

Get DimensionStyle Names and Options Example (VBA)

This example shows how to get the names and options of the DimensionStyles in a document and how to export the current view of the drawing to a PNG file.

' Preconditions:
' 1. Create a VBA macro in a software product in which VBA is
'    embedded.
' 2. Copy and paste this example into the Visual Basic IDE.
' 3. Add a reference to the DraftSight type library,
'    install_dir\bin\dsAutomation.dll.
' 4. Open the Immediate window.
' 5. Start DraftSight.
' 6. Run the macro.
' Postconditions:
' 1. Specified document is opened.
' 2. The document's DimensionStyle names and options are printed to
'    the Immediate window.
' 3. The current view of the drawing is exported to a PNG file.
' 4. To verify step 3, open
'    C:\ProgramData\Dassault Systemes\DraftSight\Examples\B-44563.PNG
'    using an application like Microsoft Paint.
Option Explicit
    Sub main()    
        Dim dsApp As DraftSight.Application        
        'Connect to DraftSight application
        Set dsApp = GetObject(, "DraftSight.Application")        
        'Abort any command currently running in DraftSight
        'to avoid nested commands
        'Open document
        Dim dsDoc As DraftSight.Document
        Dim docName As String
        docName = "c:\ProgramData\Dassault Systemes\DraftSight\Examples\B-44563.DWG"
        Set dsDoc = dsApp.OpenDocument2(docName, dsDocumentOpenOption_e.dsDocumentOpen_Default, dsEncoding_e.dsEncoding_Default)        
        If dsDoc Is Nothing Then
            MsgBox ("Specified document did not open. Check path and file name.")
        End If        
        'Get DimensionStyle manager
        Dim dsDimStyleManager As DraftSight.DimensionStyleManager
        Set dsDimStyleManager = dsDoc.GetDimensionStyleManager()        
        'Get DimensionStyles and options for document
        Dim dsDimensionStyles As Variant
        dsDimensionStyles = dsDimStyleManager.GetDimensionStyles()
        Dim index As Long
        If IsArray(dsDimensionStyles) Then
            For index = 0 To UBound(dsDimensionStyles) - 1
                Dim dsDimensionStyle As Object
                Set dsDimensionStyle = dsDimensionStyles(index)
                Debug.Print ""
                Debug.Print "Name of DimensionStyle: " & dsDimensionStyle.Name
                'Print DimensionStyle's options
                PrintDimensionStyleOptions dsDimensionStyle
        End If        
        'Export current view of drawing to PNG
        Dim dsExportDocument As DraftSight.DocumentExporter
        Dim exportFileName As String
        Dim status As Boolean
        Set dsExportDocument = dsDoc.GetDocumentExporter()
        exportFileName = "C:\ProgramData\Dassault Systemes\DraftSight\Examples\B-44563.PNG"
        dsExportDocument.ExportToPng exportFileName, status
        Debug.Print ""
        If status Then
            Debug.Print "Drawing exported as " & exportFileName & "."
            Debug.Print "Export of drawing to PNG failed!"
        End If        
End Sub        
Function PrintDimensionStyleOptions(ByRef dsDimensionStyle As DraftSight.DimensionStyle)
    'Angular DimensionStyle options
    Dim dsDimensionStyleAngularDimensionOptions As DraftSight.DimensionStyleAngularDimensionOptions
    Set dsDimensionStyleAngularDimensionOptions = dsDimensionStyle.GetDimensionStyleAngularDimensionOptions()
    Debug.Print "  Angular DimensionStyle options:  "
    Debug.Print "    Precision: " & dsDimensionStyleAngularDimensionOptions.Precision
    Debug.Print "    Format: " & dsDimensionStyleAngularDimensionOptions.Format
    Debug.Print "    Hide leading zeroes: " & dsDimensionStyleAngularDimensionOptions.HideLeadingZeroes
    Debug.Print "    Hide trailing zeroes: " & dsDimensionStyleAngularDimensionOptions.HideTrailingZeroes    
    'Dual DimensionStyle options
    Dim dsDimensionStyleDualDimensionOptions As DraftSight.DimensionStyleDualDimensionOptions
    Set dsDimensionStyleDualDimensionOptions = dsDimensionStyle.GetDimensionStyleDualDimensionOptions()
    Debug.Print "  Dual DimensionStyle options:  "
    Debug.Print "    Precision: " & dsDimensionStyleDualDimensionOptions.Precision
    Debug.Print "    Format: " & dsDimensionStyleDualDimensionOptions.Format
    Debug.Print "    Hide leading zeroes: " & dsDimensionStyleDualDimensionOptions.HideLeadingZeroes
    Debug.Print "    Hide trailing zeroes: " & dsDimensionStyleDualDimensionOptions.HideTrailingZeroes    
    'Fit DimensionStyle options
    Dim dsDimensionStyleFitOptions As DraftSight.DimensionStyleFitOptions
    Set dsDimensionStyleFitOptions = dsDimensionStyle.GetDimensionStyleFitOptions()
    Debug.Print "  Fit DimensionStyle options:  "
    Debug.Print "    Placement of text: " & dsDimensionStyleFitOptions.FitDimensionText
    Debug.Print "    Entity to move outside Dimension's extension lines: " & dsDimensionStyleFitOptions.FitGeometry
    Debug.Print "    Hide arrows: " & dsDimensionStyleFitOptions.HideArrows
    Dim dimensionScale As dsDimensionScale_e
    Dim scaleFactor As Double
    dsDimensionStyleFitOptions.GetDimensionScale dimensionScale, scaleFactor
    Debug.Print "    Scale factor: " & scaleFactor    
    'Linear DimensionStyle options
    Dim dsDimensionStyleLinearDimensionOptions As DraftSight.DimensionStyleLinearDimensionOptions
    Set dsDimensionStyleLinearDimensionOptions = dsDimensionStyle.GetDimensionStyleLinearDimensionOptions()
    Debug.Print "  Linear DimensionStyle options:  "
    Debug.Print "    Precision: " & dsDimensionStyleLinearDimensionOptions.Precision
    Debug.Print "    Format: " & dsDimensionStyleLinearDimensionOptions.Format
    Debug.Print "    Hide leading zeroes: " & dsDimensionStyleLinearDimensionOptions.HideLeadingZeroes
    Debug.Print "    Hide trailing zeroes: " & dsDimensionStyleLinearDimensionOptions.HideTrailingZeroes    
    'Tolerance DimensionStyle options
    Dim dsDimensionStyleToleranceOptions As DraftSight.DimensionStyleToleranceOptions
    Set dsDimensionStyleToleranceOptions = dsDimensionStyle.GetDimensionStyleToleranceOptions()
    Debug.Print "  Tolerance DimensionStyle options:  "
    Debug.Print "    Precision: " & dsDimensionStyleToleranceOptions.Precision
    Debug.Print "    Minimum value: " & dsDimensionStyleToleranceOptions.MinimumValue
    Debug.Print "    Maximum value: " & dsDimensionStyleToleranceOptions.MaximumValue
    Debug.Print "    Hide leading zeroes: " & dsDimensionStyleToleranceOptions.HideLeadingZeroes
    Debug.Print "    Hide trailing zeroes: " & dsDimensionStyleToleranceOptions.HideTrailingZeroes    
End Function

Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

Subject:   Feedback on Help Topics
Page:   Get DimensionStyle Names and Options Example (VBA)
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:


We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again

Web Help Content Version: API Help (English only) 2024 SP02

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.