How to push global forms and external rules to other Inventor users, possibly through Vault?

How to push global forms and external rules to other Inventor users, possibly through Vault?

tczerwinskiD78JE
Participant Participant
1,639 Views
3 Replies
Message 1 of 4

How to push global forms and external rules to other Inventor users, possibly through Vault?

tczerwinskiD78JE
Participant
Participant

Hello,

 

I am trying to get an Autodesk Vault system set up for my company and am having an issue figuring out how best to go about getting global forms and external rules pushed to each user and make sure they run for them.  One of the global forms is simply a pop-up box with information boxes to be filled in.  For the global form there is an external rule that each time the file is saved the pop-up appears requesting that information.  

 

I have managed to get these set up and running on my computer but am not sure how to best be able to get these types of setups pushed to all of the other users.  Is there a way to push them through the Vault?  Or would this need to be a more manual operation each person would need to do on their own computer?

0 Likes
1,640 Views
3 Replies
Replies (3)
Message 2 of 4

WCrihfield
Mentor
Mentor

Hi @tczerwinskiD78JE.  This sounds like a good question for your Autodesk solutions provider/reseller.  I don't have Vault yet, but have talked about it with out IT team and our Autodesk supplier reps.  The issue of iLogic rules & forms was one of the big questions I had for them too.  The external iLogic forms are basically saved as XML documents within your DesignData\iLogic\UI folder.  The the external rules are basically text files that you can have a few different possible file extensions for.  You can specify what directory you want to put your external rules in.  I have our DesignData folder, along with all our external forms and external rules stored on a mapped network drive.  Then each of our team members has their Project file and application options File tab settings pointing to those network locations for those resources.  But we don't currently have Vault yet.  Our Autodesk supplier rep said something about a special additional step they could provide in our Vault set-up to accommodate such needs.  Its sounds like this extra resource would contain custom settings for each user, and possibly check out certain special resource files for us automatically when we log in.  I am not a Vault expert, so I don't know the intimate details about how they would accomplish this though.

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 3 of 4

TechInventor20
Advocate
Advocate

Do you guys have a normal server where everyone is working of? or has on their computer?

Then it will be easy. 

Just put the global forms and external rules in that server.

After that you have to change some settings to that route

TechInventor20_0-1663051020884.png

 

0 Likes
Message 4 of 4

ls-4453
Enthusiast
Enthusiast

Here's an example of setting the external rule directory with VBA. This could be translated to any programming language and put into an external program that uses GetObject("Inventor.Application") or similar to get the ActiveX Object for the running Inventor process. This will set your directory as the first one in the list, which contains RulesOnEvents.xml. You can edit that file to modify Event Triggers.

 

For iLogic Forms, if you don't have many you can convert them to Windows Forms, which can reside entirely in iLogic code and don't need any external files.

 

Public Sub SetExternalRuleDirectory()
    Dim Directory As Variant
    Dim Directories() As String
    
    Dim iLogic As ApplicationAddIn
    Set iLogic = ThisApplication.ApplicationAddIns.ItemById("{3bdd8d79-2179-4b11-8a5a-257b1c0263ac}")
    iLogic.Activate
    
    Dim i As Integer
    i = 1
    
    ReDim Preserve Directories(0)
    Directories(0) = "C:\Your\Path\To\iLogic\Rules"
    
    For Each Directory In iLogic.Automation.FileOptions.ExternalRuleDirectories
        If Directory <> "C:\Your\Path\To\iLogic\Rules" And TypeName(Directory) = "String" Then
            ReDim Preserve Directories(i)
            Directories(i) = Directory
            i = i + 1
        End If
    Next
    
    iLogic.Automation.FileOptions.ExternalRuleDirectories = Directories
End Sub

 

If you want to have each user use a local copy of the rules which they must periodically update, the script should first copy the latest iLogic rules from the server and then do the above. Then you can run the script every time the user needs to update.

 

If you want the users to directly use the network copy of the rules, as another user pointed out, you can map a network location to a drive letter and point iLogic at a directory there for your external rules. This can also be automated. This way the users only need to run your script once to set the external rule directory and map the network location and they will always be using the latest rules.

0 Likes