Generic Features/Parts Question

Generic Features/Parts Question

DonStauffer99
Advocate Advocate
1,765 Views
11 Replies
Message 1 of 12

Generic Features/Parts Question

DonStauffer99
Advocate
Advocate

I have a work flow I'd frequently like to use but I can't figure out how to use Inventor this way.

 

As an example, I'll take aluminum X-extrusion. If you're unfamiliar, I've attached a picture of a short piece of 20/20 X-extrusion:

 

X Extrusion.jpg

The shiny part is 20mm square, and you can get it in various lengths or cut it. The simple way to model this in Inventor is, of course, to sketch the X shape, then extrude the sketch for the length you want. But this is actually 4 identical slots at 90 degree intervals, so sketching a single slot and using a circular pattern in the sketch makes some sense.

 

But it would be useful to have the single slot in its own sketch; you might want to use the slot sketch to extrude a rail to slide into the slot, for example. It would also keep the complication of the slot geometry separate from the complication of the circular pattern. But suppose the sketch doesn't quite match the real object or you start using a different brand of X-extrusion that's shaped slightly differently; or you want to scale everything up or down. You might want to change a dimension, or even change the sketch geometry a little. But you'd want those changes - geometry and parameters - to percolate from the slot sketch to the X sketch. Also, you might want to use the same sketch in multiple parts or even projects, placed in different locations with respect to the context you're using it in, and have geometry corrections update the sketches in all those places. This behavior might even have much more utility when there's more happening in the complex part than a simple circular pattern.

 

So, the goal is to have two general objects available: a more complex object which contains (a reference to) a simpler object.

 

- Changes to the objects update all instances of the objects;

 

- Changes to the more primitive object updates the more complex object (and all instances of both objects);

 

- Parameter changes in instances of the more complex object can affect the contained instance of the primitive (but obviously, not the general primitive object or any other instances of it). For the X-extrusion example, there would be available for placement in parts and/or assemblies a "slot" and an "X"; if "slots" had a "slot width" parameter, changing a corresponding parameter in "X" would change the "slot width" parameter of the "slots", but only in that "X" instance.

 

SKETCH BLOCKS

 

So I explored sketch blocks as a solution, including putting sketch blocks into their own part and deriving from it.

The obvious limitation is they only work with sketches. If all you're doing is extruding the sketch, it's easy to do that each time. But if you add other features you can't encapsulate them in a sketch block. I can live with this limitation, but the worst limitation is parameters: You can parameterize dimensions in a sketch block, but each usage instance doesn't have its own set of parameters. When you derive, it "sort of" does, but when you update the part it uses whatever the parameters are set to in the sketch block part at the time. I've written iLogic code to set the parameters, enable the derivation link, update the derived part, then disable the derivation link again. It kind of works, in a really junky and convoluted way, and it may be the best solution. Putting the code into a DLL might clean things up a bit, but it doesn't seem to be "as intended" to leave the link disabled most of the time.

 

iPARTS & iFEATURES

 

So I delved into iParts and iFeatures. Their parameters are per instance, and they work for solids. The problem with iParts and iFeatures for this purpose are different.

 

With iParts, I could find no way for iParts to percolate parameters up the chain to the more primitive parts (like the slot sketch). Placing an iPart in an assembly requires that you populate the iPart's parameters with hard-coded numbers. It doesn't create regular parameters in the assembly, and if you created user parameters in the assembly first, it doesn't let you use them for the iPart parameter values. If you derive a part from the assembly (with the intention of creating a more complex iPart factory), there's no way for that part to set the primitive iPart's parameters. That's too bad, because otherwise iParts would do it. You can change the geometry and do another "Create iPart", and then when you are in the assembly Manage - Update puts the changed geometry into the already-placed instances in the assembly.

 

Unlike with iParts, I found no way to change an already-placed iFeature; re-extracting the iFeature didn't update already placed instances. This seems to be "by design", according to a forum post entitled "Update of an iFeature doesn't update existing files". Other than that, iFeatures seem to work the way I want. I was able to nest and a parameter specified in the more complex iFeature could affect the part of it from the less-complex iFeature, and the parameter could be changed after placement either by double-clicking the instance or via the regular parameters list. If I'm not mistaken, iFeatures work for sketches as well. But that one limitation evicerates the capability.

 

CONTENT CENTER

 

So I gave up on iParts and iFeatures, and looked at Content Center.

 

Published Content Center features can be placed, and then those instances can be included in other published features. While the parameter names are not preserved, at least for dimensions the placed complex feature will have a model parameter for each dimension in the primitive it includes. This seems to be independent of any other placements of the primitive. Unfortunately, there appears to be no way to include user parameter in a published feature. But that's a limitation I could probably live with.

 

Content Center features can't be updated. They must be republished. As far as I could tell, this requires that you actually explicitly delete the feature from the library using the Content Center Editor, then publish it again as you did the first time. In my testing it appears that the placed instances are orphaned; at least, they show the features before the republishing, and I know of no way to update them to match the republished version.

 

END OF THE ROAD?

Is there anything else I should explore to achieve this fairly basic generic functionality?

0 Likes
1,766 Views
11 Replies
Replies (11)
Message 2 of 12

JDMather
Consultant
Consultant

Too much text for me to read the whole thing, but are you familiar with the Frame Generator?


-----------------------------------------------------------------------------------------
Autodesk Inventor 2019 Certified Professional
Autodesk AutoCAD 2013 Certified Professional
Certified SolidWorks Professional


Message 3 of 12

DonStauffer99
Advocate
Advocate

No, I haven't used Frame Generator.

Most of the text is describing what I tried and how fell short. The problem is described at the beginning.

0 Likes
Message 4 of 12

JDMather
Consultant
Consultant

I started to read again, but sorry, not able to concentrate for now and address each issue as it is presented.

 

What I see is off-the-shelf purchased frame stock.

I would start by creating profiles of the standard sizes and then publish these as Structural Shape profiles which you can then use with the Frame Generator.

 

There are already a plethora of profiles in the Frame Generator.

I recommend that you experiment with the Frame Generator and then revisit your problem statement.


-----------------------------------------------------------------------------------------
Autodesk Inventor 2019 Certified Professional
Autodesk AutoCAD 2013 Certified Professional
Certified SolidWorks Professional


0 Likes
Message 5 of 12

SBix26
Consultant
Consultant

It depends on what you're actually using these T-slot extrusions for (I've never before heard them referred to as "X-extrusions").  If you're using them for frames, then Frame Generator should be high on your list of tutorial topics. 

 

FG requires that a simple profile sketch be extruded to a length, and this extrusion is authored and published as a Structural Shape to the Content Center.  This allows FG to create a frame with various lengths and configurations of structural shapes, defined by a master part.  If different variations of a particular shape can be defined parametrically, then you can publish one file to the Content Center, and its Family Table has all the possible variations defined.

 

For myself, I have authored and published a couple dozen different T-slot extrusions from two different manufacturers, with each variant being its own Content Center entry.  I downloaded the extrusions from the manufacturer, and therefore didn't start with parametric data.  But they work well in FG.

 

If you want to include other features such as slot profiles, this is certainly possible; perhaps using an extruded surface for each slot profile would provide the needed aid for creating mating parts.


Sam B
Inventor Pro 2020.2 | Windows 7 SP1
LinkedIn

Message 6 of 12

DonStauffer99
Advocate
Advocate

Understand, the aluminum was just an example so there was something concrete to talk about. So anything specific to that particular aluminum stock isn't the point. The point is, assuming there was no tool specifically for it, how would one go about using Inventor to produce the most flexible model? I'll look at the frame generator. It's the only idea I have right now.

0 Likes
Message 7 of 12

IgorMir
Mentor
Mentor

I would use iFeature for the slot (just a rectangular cut out - no fancy T-slots and filet).  Should you need to show more then one slot - introduce one more of the same iFeture to the part.

These profiles are well known to me. I used to deal with Item profiles for a number of years. It is a good product indeed.

Cheers,

Igor.

 


@DonStauffer99 wrote:

Understand, the aluminum was just an example so there was something concrete to talk about. So anything specific to that particular aluminum stock isn't the point. The point is, assuming there was no tool specifically for it, how would one go about using Inventor to produce the most flexible model? I'll look at the frame generator. It's the only idea I have right now.


 

 

Web: www.meqc.com.au
0 Likes
Message 8 of 12

DonStauffer99
Advocate
Advocate

As I said, this doesn't address the question.

0 Likes
Message 9 of 12

DonStauffer99
Advocate
Advocate

The question was about implementing a workflow. Frame Generator may be an alternative for a specific situation, but it's not an answer to the workflow question. The aluminum X-extrusion was only an example. This wasn't intended to be a question about building with frames or anything of the kind. It's about modeling using Inventor in a way that's flexible. I outlined the goals in 3 bullet points near the beginning. I almost just left it at that but added an example to try to illustrate. Now I see that was a mistake because everyone seems to think I'm asking how best to model X-extrusion.

0 Likes
Message 10 of 12

IgorMir
Mentor
Mentor

Whatever rocks your boat, Don. The only option you have overlooked in your rather lengthy post was a KISS option. Shall I translate it for you?

Best Regards,

Igor.


@DonStauffer99 wrote:

As I said, this doesn't address the question.


 

Web: www.meqc.com.au
Message 11 of 12

rhasell
Advisor
Advisor

Hi

I know you kicked against sketch blocks, but I think you should explore that a little more, reading through your requirements, sketch blocks tick all the boxes.

 

They can be edited with ease and adjusted to suit a custom configuration, make a copy of the block and add the geometry required to customize each one. Store all your blocks in a library. I don't often derive them, just adds an unnecessary step to the process.

 

Do not discount Frame generator and the content center either, models can be built extremely quickly and efficiently.

 

Example of one of my library files, each extrusion has also been authored and is available in the frame generator when required.

 

extrusions.png

Reg
2026.3
Message 12 of 12

torbjorn_heglum2
Collaborator
Collaborator

It is a bit hard for me to fully understand the workflow you try to achieve. I might be wrong, but it seems to me that you want some sort of two steps of detailing a generic feature.

 

1. A feature 'layout' that sets up main properties of the feature, and

2. A detail feature based on the layout, where you can add tweaks and adjustments. 

 

If the layout is changed this will update the basis of the detail feature, but not the tweaks. And you would have several different level 2 features, based on the same level 1 feature?

 

Again, not sure if this is the correct understanding of your problem, but I don't think such a workflow is supported by Inventor. I have seen other CAD systems that can make what we would call 'i-feature of i-features' in Inventor. I.e  make one generic feature as a basis, and then add a new layer of i-feature on top of this to get some variation controlled by the base, then some 'fine tuning' in the next layered -ifeature. I might be wrong, but I don't think this can be done in Inventor.

 

A possible workaround could be to create this as two parts. First part is a model of the layout, then this is derived into one or more parts where the detail level is added. This level 2 part can be derived into your part as a new body, placed and sized as wanted with direct edit, then added or subtracted to the existing geometry. 

 

Such a workflow will be a bit cumbersome, but might be a way to get two levels of control by geometry and/or parameters. But again, I might be answering another question than you asked...

 

Torbjørn

0 Likes