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

New to Inventor

jeslinakoruth
Participant

New to Inventor

jeslinakoruth
Participant
Participant

I am having some trouble with my code. Any ideas on what is going wrong?

' Prompt the user for the part OD
Dim partOD As Double
partOD = CDbl(InputBox("Enter the Part OD:", "Part OD Input"))

' Set dimensions based on part OD
If partOD > 0 And partOD <= 2.25 Then
    size = 3.5
    sizec = 3.5
    sizeb = 3.5
    sizet = 3.5
ElseIf partOD > 2.25 And partOD <= 3.5 Then
    size = 4.75
    sizec = 4.75
    sizeb = 4.75
    sizet = 4.75
ElseIf partOD > 3.5 And partOD <= 4.5 Then
    size = 6.0
    sizec = 6.0
    sizeb = 6.0
    sizet = 6.0
ElseIf partOD > 4.5 And partOD <= 6.25 Then
    size = 7.75
    sizec = 7.75
    sizeb = 7.75
    sizet = 7.75
ElseIf partOD > 6.25 And partOD <= 8.0 Then
    size = 9.75
    sizec = 9.75
    sizeb = 9.75
    sizet = 9.75
ElseIf partOD > 10 And partOD <= 12 Then
    size = 14.0
    sizec = 14.0
    sizeb = 14.0
    sizet = 14.0
End If

' Set other dimensions based on the sizes
If size = 3.5 Then
    zdiameter = 3.245
    zdiameterc = 3.245
    zdiameterb = 3.245
    zdiametert = 3.245
    maxpindiameter = 1.125
    maxpindiameterc = 1.125
    maxpindiameterb = 1.125
    maxpindiametert = 1.125
ElseIf size = 4.75 Then
    zdiameter = 4.495
    zdiameterc = 4.495
    zdiameterb = 4.495
    zdiametert = 4.495
    maxpindiameter = 1.125
    maxpindiameterc = 1.125
    maxpindiameterb = 1.125
    maxpindiametert = 1.125
ElseIf size = 6.0 Then
    zdiameter = 5.745
    zdiameterc = 5.745
    zdiameterb = 5.745
    zdiametert = 5.745
    maxpindiameter = 1.5
    maxpindiameterc = 1.5
    maxpindiameterb = 1.5
    maxpindiametert = 1.5
ElseIf size = 7.75 Then
    zdiameter = 7.495
    zdiameterc = 7.495
    zdiameterb = 7.495
    zdiametert = 7.495
    maxpindiameter = 1.75
    maxpindiameterc = 1.75
    maxpindiameterb = 1.75
    maxpindiametert = 1.75
ElseIf size = 9.75 Then
    zdiameter = 9.495
    zdiameterc = 9.495
    zdiameterb = 9.495
    zdiametert = 9.495
    maxpindiameter = 1.875
    maxpindiameterc = 1.875
    maxpindiameterb = 1.875
    maxpindiametert = 1.875
ElseIf size = 14.0 Then
    zdiameter = 13.745
    zdiameterc = 13.745
    zdiameterb = 13.745
    zdiametert = 13.745
    maxpindiameter = 2.75
    maxpindiameterc = 2.75
    maxpindiameterb = 2.75
    maxpindiametert = 2.75
End If
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("size").Value = size 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("sizec").Value = sizec 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("sizeb").Value = sizeb 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("sizet").Value = sizet 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiameter").Value = zdiameter 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiameterc").Value = zdiameterc 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiameterb").Value = zdiameterb 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiametert").Value = zdiametert 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxindiameter").Value = maxpindiameter 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxpindiameterc").Value = maxpindiameterc 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxpindiameterb").Value = maxpindiameterb 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxpinDiametert").Value = maxpindiametert 
 
0 Likes
Reply
334 Views
6 Replies
Replies (6)

Frederick_Law
Mentor
Mentor

@jeslinakoruth wrote:

I am having some trouble with my code. Any ideas on what is going wrong?


Would be nice to know what kind of trouble you have with your code.

What is it supposed to do?

0 Likes

A.Acheson
Mentor
Mentor

How long is a piece of string? These are all custom parameters so unless we create them all we won't know what's going on. You direct and we can offer advice. 

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
0 Likes

jeslinakoruth
Participant
Participant

It keeps saying catastrophic error, and it also says value is not double.

0 Likes

jeslinakoruth
Participant
Participant

It's supposed to generate a shape using these dimensions I have edited on the drawing.

0 Likes

jeslinakoruth
Participant
Participant

I created some parameters on the drawing I am generating, but I am confused on how to connect them if needed. I have named them using names such as "size, sizet, zdiameter, etc."

0 Likes

A.Acheson
Mentor
Mentor

I think you might need to offer some more images or clarifications as to what you would like to achieve. 

 

In this section your setting the parameter value to itself using the Inventor API(left) and maybe the Ilogic API ( right). Are you using a local rule or a global rule? Can you share an image? 

ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("size").Value = size 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("sizec").Value = sizec 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("sizeb").Value = sizeb 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("sizet").Value = sizet 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiameter").Value = zdiameter 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiameterc").Value = zdiameterc 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiameterb").Value = zdiameterb 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("zdiametert").Value = zdiametert 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxindiameter").Value = maxpindiameter 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxpindiameterc").Value = maxpindiameterc 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxpindiameterb").Value = maxpindiameterb 
ThisApplication.ActiveDocument.ComponentDefinition.Parameters.Item("maxpinDiametert").Value = maxpindiametert 

 

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
0 Likes