Você está na página 1de 9

Machine Translated by Google

INTERFACE ILOGICA
O iLogic possui uma interface com funções de programação predefinidas baseadas na API do Inventor (interface de
programação de aplicativos). Eles são um conjunto de comandos, funções e protocolos de computador que permitem aos
desenvolvedores criar programas específicos.
Machine Translated by Google

O que é uma regra interna?

Estas são as regras do iLogic que estamos mais acostumados a usar. Dentro de cada documento você pode criar quantas regras internas
desejar, mas elas funcionarão apenas para aquele documento.

Por serem internas, as chamadas aos parâmetros dentro do código podem ser diretas, já que o código e os parâmetros estão dentro do
mesmo documento. Isto é muito útil porque se o nome do parâmetro for modificado, ele será atualizado automaticamente no código.

Quem está mais familiarizado com a programação com Inventor já conhece o código de cores das regras do iLogic e, portanto, sabemos
que se o texto estiver azul significa que ele reconhece automaticamente o parâmetro do documento. Ao reconhecer estes parâmetros
dentro do documento, o iLogic executará esta regra automaticamente, este é um ponto importante das normas internas.

As regras internas podem ser mais focadas no documento em que se encontram. Por exemplo, se tivermos uma regra interna em um .ipt
onde as faces do sólido são renomeadas, podemos usar esse nome de face no código para alterar a cor, aparência, etc.
Machine Translated by Google

Funções de parâmetro
Referência de funções de parâmetro (iLogic)

Para acessar as funções de parâmetro, expanda o nó Parâmetros na guia Sistema na área Snippets da caixa de diálogo Editar regra do
iLogic.
parâmetros

Parâmetro("NomeParâmetro")

Esta função altera os valores dos parâmetros diretamente.

Nas montagens, os parâmetros dos componentes desabilitados podem ser acessados. Entretanto, se um componente estiver desabilitado,
seu parâmetro não poderá ser acessado diretamente com uma instrução de atribuição como a seguinte:

ParteA.ipt.d12 = 6,3

Em vez disso, você pode usar:

Parâmetro("PartA:1", "d12") = 6,3

Observe que um nome de componente é especificado em vez de um nome de arquivo. Mesmo que a função receba um número de
componente específico, a alteração do parâmetro afetará todas as instâncias do componente. O nome do componente é simplesmente uma
forma de a função identificar o arquivo.

Renomeie o componente manualmente para que ele mantenha o nome caso seja substituído.

Você também pode usar a função MakePath para o nome do componente:


Parâmetro(MakePath("SubAssem1:1", "Part1:1"), "d12") = 6,3

Nota: Use Parameter.ValueForEquals (em vez de Parameter) para descobrir se o valor de um parâmetro numérico
Machine Translated by Google

é igual a algum valor em um intervalo de seis casas decimais.

Para obter informações mais gerais, consulte a seção sobre o tipo de dados DoubleForEquals em Sobre expansão e personalização do iLogic.

Você pode ler o valor atual de um parâmetro usando a sintaxe de uma das seguintes instruções:

param_val = Parâmetro("d0")

param_val = Parâmetro("PartA:1", "d0")

Conforme mostrado nestes exemplos, o parâmetro pode estar no documento atual. Você pode usar o nome de qualquer parâmetro que possa ser
acessado na regra.

Em um componente que não esteja desabilitado, o nome do arquivo pode ser especificado em vez do nome do componente. Você pode usar este
método para alterar um parâmetro em uma peça básica que não aparece como componente em uma montagem:

Parâmetro("PartA.ipt", "d12") = 6,3

Se um parâmetro não for encontrado, a função Parâmetro gera uma mensagem de erro. Você pode desativar a mensagem de erro com o seguinte:

Parâmetro.Quiet = Verdadeiro

Use este procedimento se você souber que o parâmetro está faltando e estiver preparado para essa condição.

Acesso aos parâmetros básicos da peça

Os parâmetros de uma peça base podem ser acessados a partir de uma peça derivada ou montagem. Eles também podem ser acessados a partir
de uma montagem que contém uma peça derivada da peça base.

Às vezes é útil controlar os parâmetros da peça base a partir das regras de montagem.
Machine Translated by Google

Essa técnica é chamada de modelagem top-down. Quando você altera um parâmetro base, os parâmetros vinculados de todas
as peças derivadas também são alterados.
A peça e seus parâmetros nem sempre estão visíveis na árvore do modelo, na caixa de diálogo Editar regra.
Você pode acessá-los usando a função Parâmetro. Por exemplo, para alterar um parâmetro de uma peça base, use:

Parâmetro("BaseShaft.ipt”, ”Diâmetro") = 0,125 pol.


Normalmente não é necessário ler os valores dos parâmetros da parte base. Os parâmetros são vinculados antecipadamente à peça
ou montagem na qual você está trabalhando.
Funções de parâmetros avançados

Use a função Parameter.Param para obter acesso direto a um parâmetro do Inventor. O objeto retornado é do tipo Parâmetro de API
do Autodesk Inventor:

param = Parâmetro.Param("nomedoparâmetro")

Se (param não é nada) então


parâmetro.Expressão = "5.0"

param.Tolerance.SetToDeviation(0,002 * 2,54, -0,004 * 2,54)

param.Comment = "Equação e tolerância definidas por uma regra"


Fim se

Se preferir, você pode usar uma única linha:

Parameter.Param("foo").Comment = "Comentário definido por uma regra"


Machine Translated by Google

Você pode acessar mais propriedades de um parâmetro do Autodesk Inventor usando o seguinte:
param = Parâmetro.Param("nomedoparâmetro")

param = Parâmetro.Param("nomedocomponente", "nomedoparâmetro")

Essas funções fornecem um objeto da classe Inventor.Parameter. Consulte a Ajuda de programação do Inventor para
obter mais informações sobre esta classe.
funções com vários valores

Use funções de valores múltiplos para acessar e modificar a lista de valores armazenados com um parâmetro de valores múltiplos. Os exemplos a
seguir ilustram seu uso:

MultiValue.SetList(“d0”, 0,5, 0,75, 1,0, 1,25)


Define a lista de valores disponíveis para o parâmetro d0.

MultiValue.SetList(“d0”, “3/8”, “d1 * 2”, “d1 * 3”)

Defina equações em vez de valores. É possível combinar equações e valores na lista.

MultiValue.SetList(“nome do arquivo.ipt.str0”, “Valor1”, “Valor2”)

Define uma lista de valores para um parâmetro de texto de uma peça.

MultiValue.SetList("Pedaço1:1", "d0", 0,5, 0,75, 1,0, 1,25)

Define a lista de valores de um parâmetro de um componente.

valores = MultiValue.List(“d0”)

Obtém a lista atual de valores, onde a variável valores é um objeto do tipo VB.NET ArrayList.

MultiValue.SetValueOptions(True, DefaultIndex:= 0)
Machine Translated by Google

Força o parâmetro a possuir um valor que esteja em sua lista de múltiplos valores. Se você alterar a lista de vários valores,
um dos valores da lista também será definido como o valor atual do parâmetro. Esta função não altera o valor se for
encontrado na nova lista.
ÍndicePadrão:= 0

Isso se aplica apenas a parâmetros de texto. Se o valor do parâmetro atual não estiver na lista, o primeiro valor (índice 0)
da lista será atribuído a ele. Você pode escolher um valor diferente de 0. Isso não afeta os parâmetros numéricos. Para
parâmetros numéricos, o valor selecionado na lista será o mais próximo do valor atual.
MultiValue.SetValueOptions(Falso)

Ao alterar a lista de vários valores do parâmetro, o valor real do parâmetro não muda. Este é o comportamento padrão do MultiValue.

MultiValue.List(“MyStringParam”) = iProperties.Materials

Define um parâmetro de texto para uma lista de valores equivalentes à lista técnica disponível no padrão ativo atual.

MultiValue.List(“d0”) = Novo Duplo() {0,5, 0,75, 1,0, 1,25}

Use um método alternativo para definir a lista de valores.

Você pode encontrar exemplos usando valores do Microsoft® Excel na seção que descreve GoExcel.CellValues.

MultiValue.UpdateAfterChange = Verdadeiro

Semelhante à configuração de Parameter.UpdateAfterChange como True, esta instrução faz com que o modelo do Inventor seja atualizado quando uma
alteração é feita em um valor de parâmetro usando a função MultiValue.List ou MultiValue.SetList.
Machine Translated by Google

True fará com que o modelo (documento) seja atualizado após alterar o parâmetro. Isto só tem efeito ao alterar parâmetros
através da função Parâmetro:
• Parâmetro.UpdateAfterChange = Verdadeiro
True fará com que o modelo (documento) seja atualizado após modificar um valor de parâmetro usando a função Parameter. Isto só tem
efeito ao alterar parâmetros através da função Parâmetro. Por exemplo:

• Parâmetro.UpdateAfterChange = Verdadeiro
• Parâmetro("d0") = 2,5
Assim, o modelo é atualizado.

Nota: ("d0") = 2,5 NÃO atualiza o modelo.

Para atualizar o modelo no centro da régua (após alterar alguns parâmetros) use estas duas instruções juntas:

• RuleParametersOutput()
Nota: - Isto atribuirá ao modelo os valores atuais das variáveis locais do parâmetro.

• InventorVb.DocumentUpdate()
Se não precisar atualizar o modelo no centro da regra, você poderá instruir o sistema a atualizar quando a execução da
regra for concluída. Use esta instrução: iLogicVb.UpdateWhenDone = True.
MultiValue.Quiet = Verdadeiro

Desativa a mensagem de erro que aparece quando um parâmetro não é encontrado. Use esta função se você souber que o
parâmetro está faltando e estiver preparado para essa condição. Por exemplo, o parâmetro pode não existir em todas as
partes afetadas pela regra.
Machine Translated by Google

encontradoVal = MultiValue.FindValue(aList, "<=", 4.0)


Encontra o valor na lista que melhor corresponde a uma condição. aList pode ser uma lista de arrays ou um array. O
argumento de comparação pode ser "<=", "=" ou ">=".
O exemplo a seguir procura um valor menor ou igual a 4,0. Se existir mais de um valor, retorne o mais próximo de 4,0. Se
não existir nenhum valor correspondente, este exemplo retornará a constante VB "Nothing".
encontradoVal = MultiValue.FindValue(MultiValue.List("d0"), "<=", 4.0)

Você também pode gostar