Hide Table of Contents

Rotate Move Face Feature Example (VBA)

This example shows how to rotate (draft) a Move Face feature by changing its XYZ location and rotation angles.

'----------------------------------------------------------------------------
' Preconditions:
' 1. Open a part document that contains a Move Face feature named Move Face1.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Rotates (drafts) the Move Face feature.
' 2. Examine the Immediate window.
'----------------------------------------------------------------------------

Option Explicit

 

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swModelDocExt As SldWorks.ModelDocExtension

Dim swSelMgr As SldWorks.SelectionMgr

Dim swFeat As SldWorks.Feature

Dim swMoveFaceFeatData As SldWorks.MoveFaceFeatureData

Dim varPara As Variant

Dim newPara(5) As Double

Dim newVarPara As Variant

Dim boolstatus As Boolean

Dim PI As Double

Dim i As Long

 

Sub main()

 

' Set PI

PI = 4 * Atn(1)

 

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swSelMgr = swModel.SelectionManager

Set swModelDocExt = swModel.Extension

 

' Select, get, and access Move Face feature

boolstatus = swModelDocExt.SelectByID2("Move Face1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)

Set swFeat = swSelMgr.GetSelectedObject6(1, -1)

Set swMoveFaceFeatData = swFeat.GetDefinition

swMoveFaceFeatData.AccessSelections swModel, Nothing

 

' Get current XYZ origin and rotation angles of Move Face feature

Debug.Print "Before rotating Move Face feature..."

' 1 radian = 180º/p = 57.295779513º or approximately 57.3º

Debug.Print "  Draft angle of Move Face feature: " & swMoveFaceFeatData.Angle * 57.3 & " degrees"

Debug.Print "  XYZ origin (first 3) and rotation angles (last 3)"

varPara = swMoveFaceFeatData.TriadRotationParameters

For i = LBound(varPara) To UBound(varPara)

    Debug.Print "    " & (varPara(i))

Next i

 

' New XYZ location and rotation angles for Move Face feature

newPara(0) = 0#

newPara(1) = 0#

newPara(2) = 0#

newPara(3) = 2 * PI / 180 ' Convert radians to degrees

newPara(4) = 2 * PI / 180 ' Convert radians to degrees

newPara(5) = 0#

newVarPara = newPara

 

' Rotate the Move Face feature

swMoveFaceFeatData.TriadRotationParameters = newVarPara

Debug.Print " "

Debug.Print "After rotating Move Face feature..."

Debug.Print "  Draft angle of Move Face feature: " & swMoveFaceFeatData.Angle * 57.3 & " degrees"

Debug.Print "  XYZ origin (first 3) and rotation angles (last 3)"

newVarPara = swMoveFaceFeatData.TriadRotationParameters

For i = LBound(newVarPara) To UBound(newVarPara)

    Debug.Print "    " & (newVarPara(i))

Next i

 

' Modify the Move Face feature

swFeat.ModifyDefinition swMoveFaceFeatData, swModel, Nothing

 

End Sub

 



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

 
*Email:  
Subject:   Feedback on Help Topics
Page:   Rotate Move Face Feature Example (VBA)
*Comment:  
*   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:

x

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
x

Web Help Content Version: API Help (English only) 2018 SP05

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.