Como adicionar seu conhecimento

Expanda e personalize capacidades iLogic

    Conteúdo
    No headers

    Armazenar 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.

    Utilize a interface de automação

    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.

    O que é 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.

    Como é que DoubleForEquals compara um valor 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 posso desativar 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:

    • É possível utilizar as funções de biblioteca ou o código padrão que exige o tipo Doble. Todos os esforços foram feitos para ativar a conversão transparente para Double. Entretanto, se uma função espera um argumento do tipoObjeto, nenhuma conversão é executada. Se um objeto DoubleForEquals é passado, a função pode esperar possivelmente um tipo Double. É possível utilizar CDbl ou desativar DoubleForEquals.
    • É possível requerer mais controle sobre testes de igualdade ou comparações na regra. Por exemplo, deseja especificar sua própria tolerância.
    • Sua regra não inclui nenhum teste de igualdade e você prefere evitar a sobrecarga de DoubleForEquals utilizando o diretório Double.
    • Sua regra não inclui alguns testes de igualdade, mas os parâmetros estão fora do intervalo dinâmico de um valor Único (aproximadamente 1,4e-45 até 3,4e38). Embora esta situação é improvável em um modelo do Inventor, é possível com as unidades de não-comprimento.

    Procedimentos

    Configurar opções de iLogic

    Configurar localização para regras externas e arquivos DLL

    1. Na faixa de opções, clique na guia Ferramentaspainel OpçõesConfiguração do iLogic.
    2. Clique em ao lado de Diretórios de regra externa para adicionar um diretório a lista e utilizar as setas para cima e para baixo para definir a ordem de pesquisa.
    3. Selecione uma extensão de arquivo no campo Extensão padrão para Arquivos de regra externa.
    4. Selecione o diretório contendo código de outra montagem .NET no campo Diretório iLogic Addin DLLs.
    5. Clique em Ok.

    Acessar o objeto de automação

    Para acessar o objeto de automação de uma regra de iLogic, utilize a propriedade iLogicVb.Automation.

    O objeto de automação implementa a interface Autodesk.iLogic.Interfaces.iLogicAutomation. A documentação para esta interface é fornecida no Autodesk.iLogic.Interfaces.xml.

    Desative DoubleForEquals

    DoubleForEquals é o tipo padrão para todos os parâmetros do Inventor utilizados em regras. Utilize a declaração seguinte no início de uma regra para desativar esta configuração:

    iLogicOption DoubleForEquals Off

    Esta declaração é como a declaração da Opção Visual Basic padrão.

    Exibir detalhes de versão de iLogic

    Para exibir uma caixa de diálogo que exibe informações da versão do iLogic, na faixa de opções, clique na guia Gerenciar painel iLogicSobre o iLogic.

    Referências

    Configuração de iLogic avançado

    Configura configurações de localização avançada para regras externas e arquivos DLL.

    Acesso:

    Faixa de opções: guia Ferramentaspainel OpçõesConfiguração de iLogic

    Diretório de regra externa

    Lista os diretórios em que iLogic pesquisa por arquivos externos contendo regras. O ícone mais + é utilizado para adicionar um diretório a lista. As setas para cima e para baixo são utilizadas para arrumar os diretórios na ordem a ser pesquisado.

    Extensão padrão para arquivos de regra externa

    Define a extensão de arquivo padrão para arquivos de regra externa novos.

    • arquivos .vb podem ser editados em Visual Studio.
    • .arquivos txt podem ser editados utilizando um editor de texto como bloco de notas da Microsoft.
    • .iLogicVB indica que o arquivo contém código de regra de iLogic padrão para ser processado pelo iLogic.

    Diretório iLogic Addin DLLs

    Para regras que utilizam código em outras montagens .NET, este campo especifica o diretório contendo as montagens .NET. O botão Navegador é utilizado para selecionar o diretório.

    Ok

    Salva as configurações de localização avançada.

    Cancelar

    Cancela a operação e fecha a caixa de diálogo.

    Recursos de aprendizagem de VB adicionais

    Pesquise os tutoriais VB e as informações on-line utilizando o navegador da Web.

    Código de exemplo para interface de automação

    Um exemplo de macro VBA para acessar o iLogic pode ser encontrado na seguinte localização:

    • Windows XP

      Program Files\Autodesk\Inventor [version]\Samples\iLogic Samples\API\iLogicAutoTest.ivb

    • Windows 7

      Users\Public\Documents\Autodesk\Inventor [version]\Samples\ iLogic Samples\API\iLogicAutoTest.ivb

    No código do exemplo, a função GetiLogicAddin demonstra como acessar o objeto de Automação iLogic em VBA ou VB.

    Esse código do exemplo, inserido num VBA do Inventor, controla o valor de um parâmetro de texto. É requerido que um parâmetro de texto denominado text0 exista no modelo do Inventor atual. Ele também exibe todas as regras no modelo.

    Utilize iLogicAuto.ParamValue para obter ou definir o valor de um parâmetro. Internamente, ele utiliza a propriedade iLogic Parameter.

    Consulte Expanda e personalize capacidades iLogic para mais informações sobre interface de automação.

    Sobre iLogic

    Exibe informações de versão de iLogic

    Acesso:

    Faixa de opções:guia Gerenciar painel iLogicSobre iLogic
    VersãoExibe a versão do iLogic.
    ConstruirExibe a criação de software utilizado.
    DataExibe a data em que a versão foi criada.
    SuporteContém um vínculo para suportar para iLogic.
    OkFecha a caixa de diálogo.