Expansão e personalização de recursos do iLogic

Armazenamento de regras em arquivos externos

É possível inserir regras de iLogic em arquivos externos ao invés de armazená-los no modelo do Inventor. Este método de armazenamento permite que utilize a mesma regra em vários lugares diferentes.

Para armazenar as regras em um arquivo externo, primeiro defina a extensão de arquivo padrão para novos arquivos. A extensão padrão que escolher depende de como deseja editar o arquivo. Por exemplo, é possível definir a extensão padrão para .vb se quiser editar regras no Visual Basic. Uma extensão de .txt permite que edite a regra com um editor de texto como o bloco de notas da Microsoft. Ou, é possível definir a extensão padrão para .iLogicVB se os seus arquivos contêm código de regra de iLogic padrão a ser pré-processada por iLogic.

As regras de iLogic podem utilizar código em outra montagem .NET. É possível especificar o diretório onde estas montagens .NET estão localizadas. É possível desenvolver montagens .NET com ferramentas de programação como Visual Basic 2008. Consulte Programação de regra avançada para obter mais informações sobre a utilização de montagens .NET em regras.

Interface de automação para acessar parâmetros e regras

O iLogic fornece uma interface de automação É possível utilizar esta interface do código de VBA do Inventor ou VB6 ou .NET para acessar parâmetros e regras. É possível utilizar esta interface do código de VBA do Inventor ou VB6 ou .NET para acessar parâmetros e regras.

A classe iLogicAutomation ativa esta capacidade.

Em um projeto de VBA ou VB, é possível utilizá-lo como um tipo de ligação tardia (declarado como um objeto), sem adicionar uma referência. Porque não é um objeto .COM completo, não é possível navegar em seus métodos.

Tipo de dados DoubleForEquals

O iLogic utiliza um tipo de dado personalizado chamado DoubleForEquals para armazenar valores de parâmetro. O DoubleForEquals suporta a comparação fácil de números. Este parâmetro é como o tipo de VB.NET padrão Double. Exceto que valores DoubleForEquals são comparados como se fossem valores Únicos (7 casas decimais, em vez de 15). Por padrão, os parâmetros em regras são declarados como DoubleForEquals.

O DoubleFoEquals torna mais fácil ignorar o erro de arredondamento em comparações. Por exemplo, suponha que a sua peça utiliza polegadas como unidades de documento, e você tem um parâmetro com um valor de 13/16 polegadas. A peça não é exatamente igual a 13/16 em uma regra, porque o valor do parâmetro é armazenado em centímetros no modelo. O valor então é convertido para polegadas para uso na regra. Considere a seguinte comparação:

if d0 = 13/16 then ... 

Neste exemplo, a comparação falha se d0 é do tipo DoubleForEquals. Entretanto, se d0 é do tipo DoubleForEquals, a comparação é bem-sucedida.

O DoubleForEquals armazena o valor como um tipo de DoubleForEquals e executa todos os cálculos como valores Doble. Somente a comparação é executada como uma única.

É possível converter um valor de parâmetro para um Doble utilizando a função CDbl, se necessário.

O DoubleForEquals é uma Estrutura (um tipo de valor) em VB.NET.

Comparação de valor do DoubleForEquals com zero

O DoubleForEquals trata as comparações com zero como casos especiais. Quando um dos números que estão sendo testados para a igualdade é exatamente zero, o teste é bem-sucedido quando o outro número é inferior 0.0000001 (em valor absoluto).

Esta comparação torna mais fácil ignorar erros de arredondamento que são próximos de zero em valor. Por exemplo, a seguinte comparação determina que x = 0:

angle = PI/2
x = cos(angle)
If (x = 0) Then
...
End If

Quando desativar o DoubleForEquals

DoubleForEquals é o tipo padrão para todos os parâmetros do Inventor utilizados em regras. É possível desativar esta configuração pelas seguintes razões: