Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
syafiqfarhan
975 Views, 4 Replies

Inventor Drawing Sheet - view scale

Hi, 

Is that possible to make this scale view on for the active sheet?

 

Dim oDrawDoc As DrawingDocument = ThisDrawing.Document
Dim oSheet As Sheet
Dim oSheets As Sheets
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oScale As Double

oScale = InputBox("Enter Desired Scale", "Scaler", "1")

oSheets = oDrawDoc.Sheets
For Each oSheet In oSheets
   oViews = oSheet.DrawingViews
   For Each oView In oViews	
       If oView.ScaleFromBase = False Then
           oView.Scale = oScale
       End If
   Next
Next

 

Tags (1)
Labels (1)
A.Acheson
in reply to: syafiqfarhan

Here is a link to API help for ActiveSheet property and syntax. Just remove the loop through the sheets and on the active sheet loop through the views. 

Dim oSheet As Sheet = oDrawDoc.ActiveSheet
oViews = oSheet.DrawingViews

For Each oView In oViews
If oView.ScaleFromBase = False Then
oView.Scale = oScale
End If

Next

 

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
syafiqfarhan
in reply to: A.Acheson

@A.Acheson I had tried to remove the loop but I show an error. Please share full code here, so I can check where is my mistake. Thanks!

A.Acheson
in reply to: syafiqfarhan

Here you go. Error were likely declarations in the wrong place. Hopefully you can check this tested one to see where it went wrong. 

 

Dim oDrawDoc As DrawingDocument = ThisDrawing.Document
Dim oSheet As Sheet
Dim oSheets As Sheets
Dim oView As DrawingView
Dim oViews As DrawingViews
Dim oScale As Double

oScale = InputBox("Enter Desired Scale", "Scaler", "1")

oSheet = oDrawDoc.ActiveSheet
oViews = oSheet.DrawingViews

For Each oView In oViews	
   If oView.ScaleFromBase = False Then
       oView.Scale = oScale
   End If
Next

 

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
syafiqfarhan
in reply to: A.Acheson

@A.Acheson This time working fine. Only 1 sheet change the scale. Thanks a lot.