Using iLogic, you can embed rules as objects directly into part, assembly, and drawing documents. The rules determine and drive parameter and attribute values for your design. With this kind of rules-driven design, you can define behavior of the attributes, features and components of a model. Knowledge is saved and stored directly in the documents the same way geometric design elements are stored. iLogic rules can make use of custom parameter types available in Autodesk Inventor, like text, true/false and multi-value lists. These parameter types allow rules that involve more than numeric input values. The new possibilities really are irresistible:
1.) Components and Management Behavior
New iLogic assembly functions make it easier for you to write rule code to add, modify, and delete components and constraints:
- Components.Add: Ensures the component exists and that it has specified properties.
- Components.AddiPart: Creates or updates an occurrence using an iPart factory and specification of a member.
- ThisAssembly.BeginManage and ThisAssembly.EndManage: Both allow you to delete components without specifically calling Components.Delete. If you have set the parameter for a component in the assembly to True or False, then it will be added or updated if True and deleted or not updated if False. iLogic makes sure that a component is present only if it is labeled as True. Every time a BeginManage/EndManage block runs, you must call a function to add only the components you want included in that block.
2.) Document Units Geometry
There are new functions which use document-units instead of database-units for the coordinate values and objects representing points, vectors, and matrices. These objects can be used to specify the location and orientation of components created by Components.Add and related functions. Use ThisDoc.Geometry.Point() or similar functions to create the objects.
3.) Assembly Add Constraints Functions
The new iLogic Relationships (Add) functions allow you to create an iLogic assembly with occurrences and constraints generated by a rule. The rule will regenerate or update the content if any of the relevant parameter values are changed.
4.) Capture Current State Commands
The Capture Current State command has been enhanced to support:
- Capture Current State (Components.Add): Captures the state of the selected components using Components.Add. Ignores related constraints.
- Capture Current State (Components Constraints.Add): Captures the state of the selected components and related constraints using Components.Add.
- Capture Current State (Constraints.Add): Captures the state of the selected constraints using Constraints.Add. Only available if the file contains a constraint.
- Capture Current State (Patterns.Add): Captures the state of the selected pattern. Available if the file contains an assembly pattern.
Multi-select components in the Model tree in the Rule Editor to capture the state of multiple components all at once. If you are capturing constraints between components, this ensures they are only captured once.
5.) Assign Name Will Identify Geometry for Contraints
You can now assign names to faces and edges and then create a rule that adds the constraint(s) directly to the face or edge with the assigned name. There is no associativity between the assigned name and the Rule Editor. If you change an assigned name in a part file, you will need to recreate the rule or manually change the assigned name in the rule editor.
6.) Help for Functions
Help for iLogic functions and arguments are now available from the iLogic API Reference help node. In the reference, you can also find information on the functions supported in iLogic. For help with commands and rules see To Work with Rules in iLogic.