Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Surely others have run up against this issue and there is an elegant solution hiding somewhere out there... If anyone can point me in the right direction much appreciated!
I have found that running a Global Interference Analysis will include use cases such as fasteners in the returns... There is an interference detected where the solid geometry outside of the cosmetic thread on an external thread and the solid geometry inside of the cosmetic thread on an internal thread. It seems a bit much to ask users to sift through the returns and determine which detected interferences are "real" and which to ignore... never mind calling ModelCheck into the game.
Initially I had hoped that the Creo Interference analysis would exclude volumes between corresponding cosmetic threads, or at least provide an option to do so. Not that I can find.
I had high hopes for either or both of part level simplified reps and multi-body modeling... I thought maybe I could have an "interference_check" simp rep baked into bolts, screws and stud fittings... Would have to remove the material and add it back in because the Master Rep wants all of the features and this seems a bit clunky.
Could run the interference check in a "no_fasteners" assembly simplified rep, but this introduces risk of missing a real problem.
So how are others approaching this? Insights and ideas are greatly appreciated.
Thanks!
Well, the analysis IS correct, properly modeled, there IS that interference. There is no way for the system to know it has to do with threads, because it would show that same interference even if the cosmetic threads weren't there. They could probably do some coding saying ignore internal threads made by the HOLE command, but it would do nothing for the male threads. So, if they could also make fasteners exempt, that still wouldn't fix the issue with large threads that weren't fasteners. Easy fix? Put all fasteners on a rules-based layer (like I have), and suppress the fasteners by layer. Think that's about all you can do.
The thing you are asking for (a simple comparison to see if the interference volume is within 2 cosmetic threads) seems so obvious to us who use the software all the time, but PTC PMs that spec the software don't use it, they dabble only, so they don't think about the implications. That means we have to find these convoluted workarounds. Well, here's one for you.
Most of the time I just coast through the interference checks and ignore the fasteners. However, if I know I'll be doing a lot of checking, and a lot of fasteners, I'll use these relations. Works well for cuts that pose as holes (just modify the diameter), but if you use the "HOLE" features, then you'll need to add a cut to consume the inside area where the threads are. Drive the diameter with a relation.
In the PART - create these relations. I paste this whole thing with a long list of common bolt sizes I use. (Sometimes I'll delete the ones I know are not applicable in this part.) Yes, it creates a lot of extra parameters, which is part of why it's convoluted. Oh well. Save the relations, then open it up again and delete the first one, Holethreads=1. That assigns it within the model, but removes it from the relations so it can be assigned at the assembly level. It will give an error if you past in the relations without that one the first time. (I know, it's just a backward way of establishing a parameter.)
In the ASSEMBLY - create these relations. The :X number is the part assignment so it carries the requirement for threads or for clearance (line to line) to the parts.
In the Assembly you can change the one parameter - either in the relations like here (or in parameters or program) - then regenerate. For Hole features where you add a cut to consume the thread area, when you regenerate with "material size for threads" you will get this error on regen. Just ignore it.
If you do interference checks a lot, then it's worth the effort, IMHO. Anyway, it's a workaround.
It's a hassle, but it's not that bad if you save all the relations in a text file so you can just cut and paste then change the dim params to make it work. Especially with a lot of patterned holes, it saves verification time. Also, if you have a lot of fasteners in large assemblies where zooming in and out for verification is a hassle for interference checks.
I suppose you could do that, but why not take the much simpler route of easily suppressing all the fasteners?
Totally depends on the situation. If you're concerned about holes not lining up properly from model to model or if you're concerned about possible interference from the bolts being too long or heads sticking out in the wrong place or any other interference with the fasteners, then suppressing them only hides the problems. If some fasteners are in tapped holes and others with nuts and washers, suppressing fasteners can get you in trouble. It also depends on how much you trust others that might be working on some of the parts -- will they contemplate everything others are doing as they make changes?
Every project is different. What I suggested above is one more tool to use if it addresses a need.
@ByDesign is on the same page as I am, although I doubt I would add all of the parameters and relations... I am fairly close to a solution concept with part level simplified reps. The challenge lies in the Master Rep that seems disallow the exclusion of any feature. I will be doing some deeper exploration into Multi-Body and seeing if I can use the cosmetic thread to split the body (for now assume a convention of external threads get excluded). Early trials require something other than the cosmetic thread to reference (like a quilt or body/cut that references the cosmetic thread. Assume the Mater Rep is full major diameter with cosmetic thread for external threaded parts, then a secondary solid needs to get added back in... This violates the "no buried features" best practice... (at least it used to be). Seems more cumbersome than it needs to be.
The other option might be some API work to extend the global interference or to a pass to trim the returns, evaluating if the interference is between two cosmetic thread pairs... That last bit is the "Ideal Solution" because it would flag if one side is missing an intended thread.
It's either/or. Either you WANT to show interference with fasteners, including the head, or you don't. You COULD make family table instances of all the parts with female threads actually have holes the Major Diameter (with no cosmetic threads) instead of the Minor Diameter so all you would see is interference if the head of a fastener or the length of it interferes, but that's a lot of trouble, IMO way more than it's worth. Run the analysis with the fasteners, see what you get, then suppress them (easily - by layer) and compare the results. Simple, easy.
The more I think of it, the more I like the idea of an instance meant for interference analysis. Assuming the cosmetic thread is actually the right Major Diameter, you could have a part instance with an extra series of flat-bottomed holes using the cosmetic thread diameter to the depth of the cosmetic thread. Swap out the real instance for this one, do the analysis, swap it back, and you're done.
I'm not aware of anything out of the box like in other CAD packages - see Solidworks, for example. Note how some thought was put into the competing solution - and a M10x1.5 coarse bolt that was mated to a M10x1.25 fine threaded hole is flagged in their process.
I suppose if you use PTC software and the intelligent fastener extension (IFX), then the issue is somewhat solved by the automated process of creating the clearance / tapped holes to match the fastener, but that still does not solve the issue of not detecting fastener heads interfering with the structure...
So my conclusion: you are forced to come up with some hacky work-arounds. For example, maintain a custom library of fasteners that have a "no interference" variant in which the cosmetic thread region is removed from the solid and then do a swap-out using interchange assemblies.
Maybe it was already obvious, but I just thought of it: you can "solidify" the cosmetic thread surface and remove that volume from the solid:
I suppose another thing to consider is whether you need to worry about the fastener parts at all?
I.e., "prepare" for the interference check by turning your parts with internal holes into the "no-interference" versions where their cosmetic thread volumes are removed...
Anyway, good luck! and do let us know how you solved the issue.