Community
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Allow creating several parameters one after the other, then naming them afterward

Allow creating several parameters one after the other, then naming them afterward

I often try to hit the "Add parameter" button multiple times in a row, because I know I need a certain number of parameters, and I just want to get them created and then start filling in their information, almost like a spreadsheet. However, Inventor doesn't allow this because it requires a name for the parameter before moving forward. Hitting "Add parameter" multiple times does nothing, and if you try to hit Enter before giving a name, Inventor throws an error.

 

I suggest that new user parameters should be given a default name, e.g. "Param1", "Param2", and so on. After hitting "Add parameter", the entire default name would be selected, allowing you to immediately type in a desired name like you can now. However, you could instead choose to keep the default name for now, and go straight into setting its value or creating the next parameter, whatever works best with your workflow.

 

This would make it quicker and easier to create parameters in the way that works best for you.

 

It would also be more consistent with most creation operations in Inventor (new part, new feature, new sheet, new View Rep, and on and on) which don't force you to provide a name up front, but instead start with a default name, and allow you to provide a more descriptive one whenever you're ready.

 

Related idea: Improved keyboard navigation in Parameters window 

6 Comments
Mirtchii
Advocate

This is really a must which will improve our productivity a lot.

I meet the same problem like this for countless of times.

Thank you for proposing this idea

nickada
Advocate

My biggest complaint about creating parameters is that one must use the drop down menu to enter the Unit/Type. For example, you can't just type ft.

DRoam
Mentor

Hi @nickada, actually you can just type it. After clicking the Unit/Type cell, you can go ahead and type the units you want into the "Unit Specification" field, then hit Enter. This is pretty much equivalent from a functional perspective to typing the value straight into the table; it just looks different.

 

EDIT: That said, you have a great point when it comes to keyboard navigation. If you tab over to the Unit/Type field, we currently have to hit Enter or Spacebar to bring up the Unit Type dialog before we can type in the desired unit. It would be nice to type the desired unit straight into the cell, as you suggested. I'm not sure how they could provide a UI mechanism for doing either/or (typing straight into the cell, OR opening the Unit Type dialog), but it would definitely be nice if we could do either. Great point, thanks for bringing it up.

nickada
Advocate

Hi @DRoam, I did not explain very well. When I'm creating parameters, I'm in keyboard mode, as if I'm using Excel. I type in the parameter name, then Tab to unit type, but then I'm required to use the mouse to click on the box. Yes, I can type in the Unit/Type, but I need to click on the box first. I can complete the rest of the parameter's values using the keyboard, but I'm forced to use the mouse to click on the Unit/Type box (of course, unless it's the default value).

FINET_Laurent
Advisor

Can't agree  more with this idea. 😃

Genicee
Advocate

I made a small macro that creates parameters. 

image.pngimage.png

Option Explicit

Private Sub btnGenerate_Click()

    Dim partDoc As PartDocument
    Set partDoc = ThisApplication.ActiveDocument

    Dim userParams As UserParameters
    Set userParams = partDoc.ComponentDefinition.PARAMETERS.UserParameters
    
    On Error Resume Next

    Dim oParam As Parameter
    Dim i As Integer

    For i = 0 To (txtEnd.Value) - 1
       Set oParam = userParams.AddByExpression(txtStart.Text & "_" & i, "1 in", kDefaultDisplayLengthUnits)
    Next i
        
End Sub

Private Sub txtEnd_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii >= 48 And KeyAscii <= 57 Then
    Debug.Print "number"
Else
    Debug.Print "other"
    KeyAscii = 0
End If
End Sub

Private Sub txtStart_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If (KeyAscii < 65 Or KeyAscii > 90) And (KeyAscii < 97 Or KeyAscii > 122) Then KeyAscii = 0
End Sub

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report