by Luke Davenport
I seem to be creating a lot of small iLogic macros & utilities these days.
My natural aversion to CAD repetition will sometimes lead me to spend 30 mins writing some code that saves 30 seconds J. In such a case I simply need 61 blog readers to make use of the code once, and the balance of efficiency is restored to the world.
So for today’s subject….
Have you ever produced an iLogic assembly, taken a copy of it (using your preferred method for copying an entire assembly – see this excellent article by Paul Munford on this topic http://bit.ly/phpe2d), and then attempted to use all your beautiful iLogic code in the copied assembly, only to get a message like this:
So what’s happened here? Well during the copy operation you’ve renamed your parts, and now the iLogic code is looking for the old part names instead of the new ones……
So do I have to ‘Find and Replace’ every single reference to a component in my iLogic rules to get the rules working again??
The important thing to remember is that iLogic rules reference the browser name, NOT the name of the actual part or assembly document underneath it. And if that browser name is ever manually overwritten, that manual overwrite will ‘stick’ forever.
So all you need to do is rename the browser nodes (this would be ‘HOUSING’, ‘WORM GEARS’ etc in the example assembly in the screenshot above) in the assembly, and then the name displayed will be frozen, even after the assembly is copied (and hence the actual referenced files are named differently). It’ll also stick if the component is replaced – another common iLogic operation.
The only slight gripe is that the manual rename can take a while for a large assembly, so hence this iLogic rule – it’ll rename the nodes and then rename them back to their current name, automatically fixing the names forever for you.
Check out the code below. There’s no video for this – just try it out next time you create a fancy iLogic assembly.