ILogic & Vault

ILogic & Vault

RiccardoSighinolfi
Contributor Contributor
1,107 Views
10 Replies
Message 1 of 11

ILogic & Vault

RiccardoSighinolfi
Contributor
Contributor

 

I hope I'm writing in the right section.

 

We use Inventor23, Vault Pro23, we manage the release cycle of files in vault.

 

I always often create ILogic rules which, based on model/assembly parameters, create a new custom property and compile it automatically.

 

The problem is that I have to apply these new ILogic rules to all the vault file archive, released and unreleased.

I tried with the migration but it's a very long process, to be done with dozens of files at a time, which takes up a workstation for whole days. Even if I were to get to the bottom of it maybe after 4/5 months a new need arises and you have to start all over again...

 

I ask you if a similar need has ever occurred to you and if you have any solution or workaround to recommend

 

Thanks for your help

0 Likes
Accepted solutions (1)
1,108 Views
10 Replies
Replies (10)
Message 2 of 11

Frederick_Law
Mentor
Mentor

You manually migrate each file?

Take a look at Task Scheduler 2023.

You can setup to migrate overnight or on weekend.

First, test with 10-20 files.

Check and make sure everything works then run it on a few folders to see how long it'll take.

Message 3 of 11

CStilesCARE
Advocate
Advocate

Here are a few things I'm thinking. Perhaps one or more might be useful in your situation.

  1. Is it really necessary for ALL vaulted files to have these new custom properties pushed to them? Does this include archived and/or obsolete files? If you can minimize the number of files needing to be updated, that always saves some time.
    1. I say this because if you need to migrate large numbers of files (especially if you've been using your latest Inventor version for a while), that indicates that they may not be used all that regularly and there may be minimal benefit to updating all at once (compared to time invested to do so).
  2. For the files where it is necessary to update, does the update need to be done as it's own separate action? Could you get away with just adding it in as a step to do the next time files are checked-out for other reasons?
  3. If you need to do a bunch together, as @Frederick_Law says, Task Scheduler can be your best friend! You can create jobs for migrating groups of files and set them to run overnight and/or while people are away from their computers.

One note:

I don't know if you're adding internal rules to files or running an external rule on them. If the former, it might be easier to change to an external rule and setup event triggers to have it run "before save" on all files (or all specified). That way you don't need to copy it into each one.

 

CStilesCARE_0-1677527926277.png

Message 4 of 11

pcrawley
Advisor
Advisor

I've done it a few times, and it was never a "quick" process.  We typically added the new data in batches starting with Library and Content Center parts (because they get used "everywhere" and don't typically break any "Released data = no editing" rules), then current "live" projects, and finally legacy projects.  You can use Task Scheduler, but I found it painful finding and fixing the failures. 

 

Editing/updating anything already in a released state as the power to unleash some spectacular demonstrations of anger and indignation in a design office...  I'd support the idea that two drawings of the same revision showing different information is bad (and therefore you could argue that changing legacy released designs is pointless).  But luckily that's not my problem!

 

  1. Add the new iProperty to any file (and check it in if you like - the next step works on models inside or outside Vault)
  2. In Vault, create a user defined property (UDP) and map it to the iProperty created above.  During the mapping, make sure to select "Yes" in the create column.  Exact process is outlined here.  
  3. Use Vault's Search to find all files needing the new iProperty information.  (I'm guessing it will only be files of a certain category or type.)
  4. Use Vault's Edit Properties to populate the data.

If you are going to edit released data, make sure you have a dedicated Vault user profile with those permissions.

 

Where the property is a concatenation of data or other iProperties, you can copy/paste the information you already have into Excel (multi-select works from the Edit Properties dialog).  Do your data manipulation there to create the new property - then paste the entire column straight back into the waiting Edit Properties dialog.

 

If you break it down like that, you know you will have captured all "work in progress" with your first pass, and depending on your bravery, legacy data will follow.  Since the new iProperty is now mapped in Vault, you can create a saved search to report any missing properties and fix those up when you have time.  

 

The other process simply involved an external iLogic rule run "Before Save" which checks all the required iProperties are present before saving.  The same rule can add the missing iProperty.  The only downside to this approach was that the new property would only appear on edited files, which meant the new iProperty was slow to propagate through the data, and it didn't touch anything legacy (which pleased some people immensely!).

Peter
Message 5 of 11

RiccardoSighinolfi
Contributor
Contributor

Hi pineapple.law1972

Sorry I wasn't clear enough, of course I use the Task Scheduler.

But 55,000 files are really a lot to migrate even with the TM

Thanks anyway for the advice

Message 6 of 11

RiccardoSighinolfi
Contributor
Contributor

Hello CStilesCARE

 

1- yes, I have to update most of the files. We don't produce to order but in series so there are so many "active" files and we also provide assistance and spare parts for discontinued projects so I have to update most of the files. There are definitely some of the 55,000 files in our vault that are definitely out of production but the TaskManager doesn't allow you to filter them except by folder, in my case I have mixed folders of active and inactive files, like the engines reside in one folder those out of production have a certain tag but I can't exclude them from migration with task manager.

 

2 No, unfortunately I have to update all the files immediately, for example I added an ILogic rule that creates 3 properties for me: Dimension X, Dimension Y and Dimension Z, this is essential to add to all part and together files so as to give the logistics department visibility of each individual component. The rules I created in the last month are 3 or 4 of the same nature.

 

Yes I use triggers and most rules of this type are of course "before save".


Thanks for the help

0 Likes
Message 7 of 11

RiccardoSighinolfi
Contributor
Contributor

Hi pcrawley

 

I knew to find someone who shared my same pain.

Everything you write is correct, unfortunately I have to create the new IPropeties with an ILogic rule when saving as it depends on the parameters of the model itself.

 

So I have to open, save and archive them...

I'm using the migration with the task manager but it's a truly infinite operation on the entire archive .... as I wrote above I am forced to perform it on all files ....

 

Among other things also on tables and presentations even if this is useless...


Because if I add 1000 folders at a time to the TM I should manually select the ipt format for each folder and then have it rerouted for the iams (which then also reprocesses the ipts since I have to uncheck "ignore already migrated files" if I decide that the rule applies to all iam).

 

This thing is making adding these new ipropreties unworkable.

0 Likes
Message 8 of 11

pcrawley
Advisor
Advisor

I'd go back to your logistics department and explain that it's a fundamental change on (at least) 55,000 files - and that's just your legacy files which have been 'fit for purposes' to date.  If you work for a company where you have cross-departmental charging, this'll be a nice income stream!

 

Unfortunately, there is no shortcut, and unless you can spare a competent Inventor & Vault user to work on it full time, I would set the expectation with your colleagues that this will take days - not minutes.  It is an achievable task though, and if it only adding dimension X, Y, & Z information, you can do that with an external iLogic rule. (Search "ilogic OrientedMinimumRangeBox".)  That doesn't help you with the Vault side of things, and while I (like all "inventor Feedback/Beta" members) am bound by the Autodesk's NDA so I can't say anything here, I would suggest you might try and delay this project a couple of months.

 

Given the request is driven by another department, get them to prioritise which data is updated first.  Maybe then they'll appreciate the size of the task.  Best of luck - I feel your pain!!

Peter
Message 9 of 11

CStilesCARE
Advocate
Advocate

It might be easier also to separate migration out as it's own task. From what you said, it seems like something that needs to be done regardless.

 

Otherwise, I agree that it's a pretty big task to complete and will take a while, especially if only one computer can work on it at a time.

 

If I were to try and tackle it, I might (at least temporarily) set an event trigger to run an external rule before save on ALL models (for creating all custom parameters, etc), and then either setup task manager batches to check-out and update/rebuild, or even just check-out batches manually (maybe create temporary assemblies and throw a bunch of others inside) and do a save so it triggers the rule to run on every one of them.

 

If you haven't already done so, it might be worth setting up the rule (or a similar one) to run ALL the time for everyone, so at least files being worked on going forward have less changes to make.

You could save/control the external rule in Vault and then either:

  1. setup everyone's event triggers to run it; or
  2. create an internal rule in model files (update templates and inject into existing) that runs before save and essentially just points to the external rule to run.
Message 10 of 11

Frederick_Law
Mentor
Mentor

@RiccardoSighinolfi wrote:

Hi pineapple.law1972

Sorry I wasn't clear enough, of course I use the Task Scheduler.

But 55,000 files are really a lot to migrate even with the TM

Thanks anyway for the advice


I think I migrate 60GB a few times when upgrade IV.

All projects, CC, hardware libraries.

Migrate all ipt first, then iam, then idw.  Over night after work.

So yes, it might take awhile.

Message 11 of 11

swalton
Mentor
Mentor
Accepted solution

Are you familiar with iLogicCodeInjector or the iLogicRuleBatch tool?

 

Both let you push ilogic from a source file to many target files. 

 

CodeInjector

https://github.com/MegaJerk/iLogicCodeInjector/blob/master/README.md

CodeInjector lets you set Event Triggers in the target files, but is no longer under active development. 

 

iLogicRuleBatch Tool

https://apps.autodesk.com/INVNTOR/en/Detail/Index?id=7381718697722491251

This tool is from Autodesk, but does not let you set Event Triggers for the new rules.

 

I don't know if your existing files need to be migrated for either tool to work.  

 

Steve Walton
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Inventor 2025
Vault Professional 2025