Is there an Add-In or some other way I can get Inventor to quickly show me what the thread data is for a threaded hole? Currently, I have to edit the feature, to be able to read that the hole is a certain thread size. There should be an option in the measure command that allows this. We have measure, angle, area, loop, but no thread ID.
This should really work for all types of threads: holes and external treads, of course they would have to be modeled in inventor, not imported parts.
This becomes a major waste of time, when you are in upper level assemblies and you are placing fasteners into the assembly. You have to drill down to the part level, or change to feature selection, and edit the individual feature.
Joe
Inventor 2012
IV 2012 does its almost automagically... Set it in Application Options >> Assembly tab.
These solutions still require drilling down to the part level. A measure tool would work the best.
And since I have everyones attention, the "show dimensions" on a tapped hole should show the thread data, not the tap drill diameter.
Joe
How would you use a measure tool? The threads are a cosmetic image. The setting I showed is a manual setting that then applies to all files.
"be able to read that the hole is a certain thread size. There should be an option in the measure command that allows this. We have measure, angle, area, loop, but no thread ID."
Actually Tuen Han (someone please correct my spelling) wrote an addin a few years ago that did exactly what you want (I think)
You might be able to search and find it. (after someone tells you hoew to spell his name)
It will probably need updating, especially for 64 bit
Similar to how the thread ID is called out in the drawing. You click on the face which has some thread associated with it and get the info. Not what you have suggested originally. (To look in the browser instead).
Regards,
Igor.
@Dennis_Jeffrey wrote:How would you use a measure tool? The threads are a cosmetic image. The setting I showed is a manual setting that then applies to all files.
Yes, that's another way. I was assuming he wanted the info from the model, not the drawing.
No Dennis, it is not another way. The OP is asking for getting the thread info from the model, not in the drawing. And this functionality is not available in Measure tool yet. It is not a major show stopper for me, but just to keep the record straight...
Regards,
Igor.
@Dennis_Jeffrey wrote:Yes, that's another way. I was assuming he wanted the info from the model, not the drawing.
I agree. The measure tool should be able to tell you the thread size since the thread size has been defined in the model itself, even though it is only an image. It would show you the size of the thread from within the model, without drilling down into the browser or changing from "Assembly" browser view to "Model" browser view or both. When in the the drawing environment, Inventor can find this intormation, why can't the measure tool do the same from within the assembly or part environment? I'm not sure how difficult it would be to write the code, but I know it can be done: where there's a will, there's a way.
Set the selection filter to Feature and double-click on the hole. The Hole dialog opens and shows all the data. Press Esc when you are done.
So, now that many of us agree that this would be a very useful enhancement to the Measure tool, who is going to add it to the wish lists?
What for? Just to top the list up to 10000001 entry?LOL!
Igor.
@sbixler wrote:So, now that many of us agree that this would be a very useful enhancement to the Measure tool, who is going to add it to the wish lists?
Coming from a 'Made Guy' (well known expert or developer), it might get some attention, but from a handful of users? We'll see.
It still feels troubling that there is not an official official (hosted by Autodesk) Wish List, but just a few lists hosted on CAD forums here and there. Out of sight, out of mind strategy, perhaps?
you could save this as an external iLogic rule. it will show the thread info of tapped holes in assemblys. (If you manage to select a ThreadFeature then it will do the same.)
Dim msg As String = "" Dim Feature As PartFeature = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kPartFeatureFilter, "") If (TypeOf Feature Is ThreadFeature) Then Dim threadFeature As ThreadFeature = Feature Dim tapInfo As ThreadInfo = threadFeature.ThreadInfo msg = msg & "ThreadDesignation: " & tapInfo.ThreadDesignation & Constants.vbCrLf msg = msg & "ThreadType: " & tapInfo.ThreadType & Constants.vbCrLf msg = msg & "Class: " & tapInfo.Class & Constants.vbCrLf msg = msg & "RightHanded: " & tapInfo.RightHanded & Constants.vbCrLf msg = msg & "FullTapDepth: " & tapInfo.FullTapDepth & Constants.vbCrLf ElseIf (TypeOf Feature Is HoleFeature) Then Dim hole As HoleFeature = Feature If (hole.Tapped) Then Dim tapInfo As HoleTapInfo = hole.TapInfo msg = msg & "ThreadDesignation: " & tapInfo.ThreadDesignation & Constants.vbCrLf msg = msg & "ThreadType: " & tapInfo.ThreadType & Constants.vbCrLf msg = msg & "Class: " & tapInfo.Class & Constants.vbCrLf msg = msg & "RightHanded: " & tapInfo.RightHanded & Constants.vbCrLf msg = msg & "FullTapDepth: " & tapInfo.FullTapDepth & Constants.vbCrLf Else msg = "Hole is not tapped!" End If Else msg = Feature.Name & " isnt a threaded feature." End If MsgBox(msg, MsgBoxStyle.OkOnly, "Tap info")
Jelte de Jong
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
Blog: hjalte.nl - github.com
FYI, if the feature selected is a patterned tapped hole you get this message.
msg = Feature.Name & " isnt a threaded feature."
@Ray_Feilertnx for the comments.
i changed the code it now also shows the information about patterns
Sub Main() Dim msg As String = "" Dim Feature As PartFeature = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kPartFeatureFilter, "") If (TypeOf Feature Is ThreadFeature) Then Dim threadFeature As ThreadFeature = Feature Dim tapInfo As ThreadInfo = threadFeature.ThreadInfo msg = msg & "ThreadDesignation: " & tapInfo.ThreadDesignation & Constants.vbCrLf msg = msg & "ThreadType: " & tapInfo.ThreadType & Constants.vbCrLf msg = msg & "Class: " & tapInfo.Class & Constants.vbCrLf msg = msg & "RightHanded: " & tapInfo.RightHanded & Constants.vbCrLf msg = msg & "FullTapDepth: " & tapInfo.FullTapDepth & Constants.vbCrLf ElseIf (TypeOf Feature Is HoleFeature) Then Dim hole As HoleFeature = Feature If (hole.Tapped) Then Dim tapInfo As HoleTapInfo = hole.TapInfo msg = getTapInfoString(tapInfo) Else msg = "Hole is not tapped!" End If ElseIf (TypeOf Feature Is RectangularPatternFeature) Then Dim pattern As RectangularPatternFeature = Feature msg = "Pattern '" & Feature.Name & "' contains the following holes:" & Constants.vbCrLf & Constants.vbCrLf For Each patternFeature As PartFeature In pattern.ParentFeatures If (TypeOf patternFeature Is HoleFeature) Then Dim hole As HoleFeature = patternFeature msg = msg & patternFeature.Name & " is a hole with the following thread: " & Constants.vbCrLf If (hole.Tapped) Then Dim tapInfo As HoleTapInfo = hole.TapInfo msg = msg & getTapInfoString(tapInfo) End If msg = msg & Constants.vbCrLf End If Next ElseIf (TypeOf Feature Is CircularPatternFeature) Then Dim pattern As CircularPatternFeature = Feature msg = "Pattern '" & Feature.Name & "' contains the following holes:" & Constants.vbCrLf & Constants.vbCrLf For Each patternFeature As PartFeature In pattern.ParentFeatures If (TypeOf patternFeature Is HoleFeature) Then Dim hole As HoleFeature = patternFeature msg = msg & patternFeature.Name & " is a hole with the following thread: " & Constants.vbCrLf If (hole.Tapped) Then Dim tapInfo As HoleTapInfo = hole.TapInfo msg = msg & getTapInfoString(tapInfo) End If msg = msg & Constants.vbCrLf End If Next Else msg = "Selected feature isnt a threaded feature" End If MsgBox(msg, MsgBoxStyle.OkOnly, "Tap info") End Sub Function getTapInfoString(tapInfo As HoleTapInfo) As String Dim msg As String = "ThreadDesignation: " & tapInfo.ThreadDesignation & Constants.vbCrLf msg = msg & "ThreadType: " & tapInfo.ThreadType & Constants.vbCrLf msg = msg & "Class: " & tapInfo.Class & Constants.vbCrLf msg = msg & "RightHanded: " & tapInfo.RightHanded & Constants.vbCrLf msg = msg & "FullTapDepth: " & tapInfo.FullTapDepth & Constants.vbCrLf Return msg End Function
Jelte de Jong
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
Blog: hjalte.nl - github.com
Perfect! 😀👍