Community
Inventor Forum
Welcome to Autodesk’s Inventor Forums. Share your knowledge, ask questions, and explore popular Inventor topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

User Parameter in Assembly to Select Parts

7 REPLIES 7
Reply
Message 1 of 8
arkelec
1798 Views, 7 Replies

User Parameter in Assembly to Select Parts

Could some kind soul give me a steer as to the best way to achieve the functionality described below with respect to the uploaded assembly file?  I assume iLogic will be used.

 

The assembly is a simple structure, essentially a box with a floor, ceiling, two sides & two ends.  I want to add a function where the length of the the box is selectable from say a parameter with 4 values:

  • 5000mm
  • 7000mm
  • 9000mm
  • 1200mm

This means that the floor, ceiling & sides need to change their length to suit the selected parameter.

Also, the ends need to move to suit the selected parameter.

 

I've added some User Parameters to the ipt files, as this is the usual way I manage such criteria.  But looking at another tutorial, it seems that Model Parameters should be used (is this correct)?

 

I had though I could link the Length Parameter to the relevant fields of an iPart, but this doesn't seem to work.  So, my questions are:

 

Q1 - What is the best way to modify the the length of one or more parts to match a selected parameter in an assembly?

 

Q2 - How do I effect the location of the ends to match a selected parameter in an assembly?

7 REPLIES 7
Message 2 of 8
ToddHarris7556
in reply to: arkelec

This is a very quick overview focused on the *specific* things that you asked about. i.e. This is possibly a bigger discussion about modeling strategy and workflow, but your question was about using iLogic to control part sizes & locations.

 

So in addition to what I show in the Screencast, I should note:

- there are a bunch of good tutorials already out there on iLogic Assemblies. I'd recommend checking out some iLogic part tutorials first, and then some of the Assembly ones. This will give you a good overview of general capabilities, workflow, and options. 

- I'd forgotten that you mentioned controlling iParts. This isn't definitive by any means, but I tend to think of iParts as good candidates for iAssembly configurations. If there are a finite number of parts (Top/Bottom, Side, End) then one option would be to create all of the iPart variants needed, then use iLogic to simply select the appropriate iParts. If this is a manually-created iAssembly model, then the iLogic would simply choose which iAssembly variant you want. In any event, I've not worked with custom iPart members via iLogic.... maybe it seems like a bit of an unnatural act to me. It's probably *doable*, but I'm not sure it makes sense. 

- along the same lines.... I think the simplest approach to controlling part position is to actually use assembly constraints. Sure, it could be done in code, but why would we?

 

 


Todd
Product Design Collection (Inventor Pro, 3DSMax, HSMWorks)
Fusion 360 / Fusion Team
Message 3 of 8
arkelec
in reply to: ToddHarris7556

Thanks Todd.  That was really useful & thank you for taking the time to make that screencast.

The final assembly will be a fair bit more complex than my original file - think shipping container.  There won't be any overlapping parts, either.  Smiley Embarassed

 

I'm not sure constraints is the best way to go with the ends (there will be a number of components that make those up, but I think these could be wrapped up into a separate assembly so could still be only two elements (one at each end).  In any event, I need to up my game in the whole constraints area.

 

One thing that has become immediately apparent is that the selectable user length setting is an oversimplification, which won't directly work.  The quick & dirty method I used in the iParts that I've already created (from another early fixed-length version) was to use a multiplier of the reference length to establish the different length (e.g. 1.4, 1.8 & 2.4 times 5000).  So I need to make this function apply to the various floor, side & roof components as the lengths are all slightly different.  That's my task for today.

 

I also looked up "normalisation" & found this really useful video. 

 

Message 4 of 8
ToddHarris7556
in reply to: arkelec

Glad you found that video - that was actually the one that came to mind when I mentioned it - just didn't have time to go look it up.

 

There are a number of ways to attack the shipping container, and I think the 'best answer probably depends on several factors, including things like:

how many users? Is there a whole workgroup using this tool? One user, generating models for a whole workgroup? Are people creating these things manually right now? Will they continue to after this tool is developed?

 

The reason those things become important is that there's a difference between an 'automation' approach, and a 'generative' approach. 

 

'Automating' an existing model would be useful if you have a properly modeled and constrained parametric model to start with. iLogic can be used to simply pass parameters to the right parts, subassemblies and master assemblies. 

 

'Generating' a model from scratch on the fly probably does give you more flexibility, but if the generated models then look/behave differently than some of your other models, then they might be harder to use by your team. (Assuming they're set up differently). As for the 'in-between' approach... I'm not sure there's any real benefit to going through all the code to generate a model from scratch programmatically if it ended up looking exactly like a manually-generated one.  Just my thought. 

 

In any event..... I would start with a real 'requirements analysis' and list out the exact functionality you'd like out of the back end, and then all the input info you have to work with going in. Getting from here to there is probably pretty straightforward. 

 

 

One example


Todd
Product Design Collection (Inventor Pro, 3DSMax, HSMWorks)
Fusion 360 / Fusion Team
Message 5 of 8
ToddHarris7556
in reply to: arkelec

HERE is another pretty nice example of automating a model.

 

In this one, there's an existing model of a tank, with a Frame Generator support frame/skid package, and some drawings. One simple iLogic form gathers the inputs, which then adjust the tank, the frame, and the drawings.


Todd
Product Design Collection (Inventor Pro, 3DSMax, HSMWorks)
Fusion 360 / Fusion Team
Message 6 of 8
arkelec
in reply to: ToddHarris7556

Thanks again Todd.
You've hit the nail/head with your questions about users etc.
Initially, only me & I have to do "a lot" on the fly. I'm ok with a change in direction if that makes the creation/use easier for me, at least in the short term.

I've done well with the components as far as modifying them to suit the length, although the code might not be the most elegant. And I have a form with a drop-down to pick the various lengths.

What I need to resolve next is the placing of components to points which changes as the length does. I found a post on this forum which might be of use.  In the previous assemblies, I have placed items using co-ordinates as it was easier than using constraints. 

Message 7 of 8
ToddHarris7556
in reply to: arkelec

Fair enough - 

 

I can't (i.e. won't) say that constraints is the *only* way to go at this, but I'll be honest - in *my* mind assembly constraints would be 10x easier and more robust that trying to place parts in specific places with code. That's not to say that it can't be done, but the concept of design intent would suggest to me that 'regardless of how long the bottom part is, the end should line up with it'. Constraints/Joints are easy to set up, and very reliable.

 

HOWEVER

if you really feel strongly about placing them in specific positions, then the discussion probably involves:

- how is each part modeled to begin with? (i.e. is there a consistent reference point/plane? Or are we trying to figure out some geometric boundary to use as a reference?)

- how are you building the model now, manually? How is each part placed?

- could you use iLogic named features or iMates to make placement easier?

etc. etc.

 


Todd
Product Design Collection (Inventor Pro, 3DSMax, HSMWorks)
Fusion 360 / Fusion Team
Message 8 of 8
arkelec
in reply to: ToddHarris7556

Hi Todd, thanks again for your reply.  And again, pertinent questions.

The delay is responding reflects the nature on my work - all change onto a new, more "urgent" project (for which I am about to post another request for help).

 

Back to this topic, another thing that has emerged is differences in the supposedly "common" parts.  They aren't, which of course causes some fairly fundamental issues.

One thing I've been working on this last week is a series of sketches, brought into an assembly which contains work points.  This is then used in another assembly as setting-out for cable segment points.

 

Now concerning constraints, what I'm about to say reflects my lack of working with them & the understanding of the principles.

The various component parts of the container do not have a geometry which seems to lend itself to "mating surfaces".  It strikes me as easier to use absolute co-ordinates.  That said, using a series of work points to reflect common mating points might be the way to go. 

 

In any event, I really need to step back into this project in order to move it forward.

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

Post to forums  

Autodesk Design & Make Report