• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    Autodesk Inventor Customization

    Reply
    Contributor
    gmetcalfe
    Posts: 17
    Registered: ‎08-11-2010
    Accepted Solution

    Call iLogic rule from add-in

    342 Views, 5 Replies
    06-29-2011 05:20 AM

    Is there a way to directly call an iLogic rule from within an add-in?

     

    I have written an add-in that manipulates parameters in various sub-assemblies and now need to call various iLogic rules which the designers have written to act on the parameter changes.

     

    ta

     

    Gav

    Please use plain text.
    Employee
    Posts: 932
    Registered: ‎02-24-2009

    Re: Call iLogic rule from add-in

    06-29-2011 10:31 AM in reply to: gmetcalfe

    The rules should run automatically when the parameters change.  Is that not working the way you expect?  If so, it is possible to run rules explicitly from an add-in.  Is your add-in in VB.NET or C#?  What version of Inventor?



    Mike Deck
    Software Developer
    DLS - Mechanical Design
    Autodesk, Inc.

    Please use plain text.
    Contributor
    gmetcalfe
    Posts: 17
    Registered: ‎08-11-2010

    Re: Call iLogic rule from add-in

    06-30-2011 12:39 AM in reply to: MjDeck

    Sorry we are running 2011 (although I am testing in 2011 & 2012) and the add-in is written in c#. So far the rules are not running automatically but I would like more control and call the rules directly if possible anyway. Longer term the "Don't run automatically" will be set in all the rules.

     

    thanks

     

    Gav

    Please use plain text.
    Distinguished Contributor
    Posts: 132
    Registered: ‎04-14-2005

    Re: Call iLogic rule from add-in

    06-30-2011 07:31 AM in reply to: gmetcalfe

    Here's the way I've run rules using C#

     

    //For Rules in documents
    int rVal = 0;
    iLogicRule iRule = iLogicAutomationObject.GetRule(IVDocument, ruleName);
    if (iRule != null) { rVal = iLogicAutomationObject.RunRuleDirect(iRule);
    
    //For external rules
    int rVal = 0;
    rVal = iLogicAutomationObject.RunExternalRule(IVDocument, ruleName);

     

    Rodney Thomas
    Design Engineer / Programmer
    A & A Manufacturing

    Support a Q & A For CAD Users: Stack Exchange Proposal
    Please use plain text.
    Employee
    Posts: 932
    Registered: ‎02-24-2009

    Re: Call iLogic rule from add-in

    06-30-2011 07:55 AM in reply to: gmetcalfe

    Here's a sample C# class that links to the automation interface in the iLogic addin, and has functions to run rules.   A disadvantage of this direct linking method is that you need separate versions of your addin for Inventor 2011 and 2012.

     If you don't want separate versions, you can use COM late binding instead.  That requires more (and messier) code.

     



    Mike Deck
    Software Developer
    DLS - Mechanical Design
    Autodesk, Inc.

    Please use plain text.
    Contributor
    gmetcalfe
    Posts: 17
    Registered: ‎08-11-2010

    Re: Call iLogic rule from add-in

    06-30-2011 08:08 AM in reply to: gmetcalfe

    Perfect. Thanks very much.

    Please use plain text.