Working with geometry (IModeler) using SOLIDWORKS API

Edit ArticleEdit Article
Comments

SOLIDWORKS models geometry API
SOLIDWORKS models geometry API

SOLIDWORKS API provides a low level access to geometry generation and processing via IModeler interface.

This interface allows to manipulate the geometry on a kernel level:

  • Create surfaces from boundary representation (BREP) data
  • Create curves
  • Trim curves and surfaces

Geometry API is most commonly used to generate and modify bodies in Macro Features.

This section contains examples of working with geometry (adding, editing) using SOLIDWORKS API.

Previewing Temp Geometry

Temporary geometry is invisible and resides in memory. However it can be very useful to preview the geometry to troubleshoot. Below are code snippets allowing to preview different types of temp geometry

Previewing Curves

Curves can be previewed by converting them into the temp wire bodies which can be displayed in the graphics area.

PreviewCurves swModel, swCurve1, swCurve2, swCurve3
...
Sub PreviewCurves(model As SldWorks.ModelDoc2, ParamArray curves() As Variant)
    
    Dim i As Integer
    Dim swPreviewBody() As SldWorks.Body2
    
    If Not IsEmpty(curves) Then
        
        ReDim swPreviewBody(UBound(curves))
        
        For i = 0 To UBound(curves)
            Dim swCurve As SldWorks.Curve
            Set swCurve = curves(i)
            Set swPreviewBody(i) = swCurve.CreateWireBody()
            swPreviewBody(i).Display3 model, RGB(255, 255, 0), swTempBodySelectOptions_e.swTempBodySelectOptionNone
        Next
        
    End If
    
    Stop
    
    If Not IsEmpty(curves) Then
        For i = 0 To UBound(curves)
            Set swPreviewBody(i) = Nothing
        Next
    End If
    
End Sub

Notifications

All articles and code at CodeStack are now open-source and hosted on GitHub. If you want to contribute by modifying existing articles and code snippets, submitting new ones, reporting errors and bugs etc. please follow this blog post for more information. We appreciate any contribution.


Product of Xarial Product of Xarial