As my head title says, I need to downscale whole assembly if its possible. If not, its no problem for me to downscale every single part separately (apx. 30pcs) and then put it together again but I need to downscale it with all its modeling history - sketches, planes and other geometry. I can't select them when using DERIVE function.
I'm open to every proposal
This really matter to me, because I will need to work with derived model and adjust it.
I know this would be possible to achieve by writting an ilogic program that just goes through each parameter one by one and multiplies them by a scale factor (I'm not quite sure how to command ilogic to run a rule on every existing parameter but I am sure there is a way).
Alternatively, for each part, you could open the parameters dialogue and go through each parameter one by one and paste a scale factor (for example paste '*0.5' after every existing dimension).
Maybe even link the parameters to a spreadsheet and use Excel to quickly modify every dimension by a set scale factor.
Within the part environment you can scale down a part using this little bit of code (make sure 'don't run automatically' in the Options section of the ilogic dialogue is selected and you update the part after running the rule)
On Error Resume Next
For i = 0 To 200
It will work if all your parameters are named using the defualt format up to 200 (d0, d1... d200). If you have complex parts, it will need adjusting so that it doesn't multiply angles by the scale factor. I am sure there is a much better way of getting inventor to run a rule on every parameter but I am not sure how.
It will be possible to do this within the assembly environment, with a code that is capable of adjusting the parameters in each parts one by one.
It's not just angles that you have to avoid-- if any parameters are equations based on other parameters you'll get crazy results, too. A very common example would be "d12 / 2 ul"-- you don't want that one multiplied by a scale factor since it's already included in d12.
I'm afraid there's no Easy button on this one; it depends entirely on the geometry involved.
Would it not be possible to use a function which only multiplies parameters by the scale factor if they are numeric and do not contain 'deg'?
I know there will then be problems with values such as '190mm - d11' (as the value '190mm' would need to be multiplied by the scale factor but 'd11' needs to remain as it is) but maybe if the ilogic rule comes accross one of these values, it could trigger an input box to then manually change the value of the parameter in question.
I'm sure it would be possible to write a program/macro/rule that would do the job for 75% of cases, but I'm just going through several scenarios in my head that would be really tough to do manually, let alone trying to automate. If the automated thing got it wrong on only one parameter, you could end up with a trashed model and a really difficult "needle in a haystack" search for the problem. But for relatively simple models, I think this could be done.
Inventor 2012 Certified Professional
Please click "Accept as Solution" if this response answers your question.
Inventor Professional 2013 SP1.1 Update 1
Windows XP Pro 32-bit, SP3
HP EliteBook 8730w; 4 GB RAM; Core™ 2 Duo T9400 2.53 GHz; Quadro FX2700M
SpaceExplorer/SpaceNavigator NB, driver 3.7.18
still waiting for a foreshortened radius dimensioning tool in Drawing Manager
What about if the program replaces the 'Equation' field of the parameter with the 'Nominal Value' field before multiplying any values by the scale factor. Is it possible to access the Nominal Value field within ilogic?
Thanks for very qiuck answer, but unfortunately none of your solutions works for me.
I dont think I can downscale a 3D model just by multiplication its parameters. I does not make any sence to me.
In spite of the fact,that this is really heavy going solution I tried to do it with two part.
First (the simple one) became smaller, but not according to my scale factor (0,5). Total high of the part decreased to a number not much smaller than original value.
Second part (very complicated part) showed me an error log.
I changed the parameters manually, but i dont think this is the reason.
yes, that's what I did. I multiplied only values in mm and I also skipped the values dxx/ x ul. This solution is maybe possible only for simple parts, but definitely not for bigger ones. sample in attachment
You last picture shows a single part which could be table driven.
Possibly look at Solid-Body modeling, which one "master" body controls the parts