Funções de componentes no iLogic

O iLogic fornece funções de regra para a definição e leitura de estados de supressão de componentes e cores, assim como uma função para a substituir um componente por outro. Estas funções são úteis para conduzir diferentes configurações de peças ou montagens.

É possível criar um modelo (peça ou montagem) que inclui os componentes necessários para representar todas as configurações válidas possíveis de um produto. Este método é conhecido como "super modelagem". Quando os componentes de peça ou montagem são muito complexos ou numerosos, e a super modelagem torna-se impraticável, utilize a função Component.Replace.

Para acessar as funções de componente, expanda o nó componente na guia Sistema na área de trechos.

Nomeando componentes

Personalize todos os nomes de componentes antes de referenciar os nomes em uma regra. Quando você altera o nome do componente a partir do nome padrão atribuído pelo Autodesk Inventor, você garante que ele não o altera quando o arquivo .ipt ou .iam referenciado o altera.

É possível alterar o componente de volta ao seu nome original e ainda preservar sua estabilidade. Para alterar o componente, faça uma alteração pequena no nome e, a seguir, altere-o de volta para o original.

Para um componente do Centro de conteúdo, uma alteração de nome é requerida para a função Component.IsActive, assim como a função Component.Replace.

Component.IsActive

Define ou lê o estado de supressão e estrutura da lista de material de um componente de montagem. Utilize esta função para incluir ou excluir um componente de uma configuração de montagem.

A função funciona em um componente único ou em padrões de componentes. Para padrões, utilize o nome padrão. O padrão deve estar no mesmo nível da montagem como a regra e não em uma submontagem.

Não suprima componentes. Uma alternativa melhor é executar a supressão de uma regra dentro do componente.

Por exemplo, uma montagem nomeada TopAssembly contém SubAssembly:1 e esta submontagem contém SamplePart:1.

Utilize uma regra dentro de SubAssembly para suprimir Sample Part:1. esta regra pode ter um parâmetro que conduz o estado de supressão e é possível conduzir o parâmetro com uma regra no TopAssembly.

Quando utilizar iLogic para suprimir um componente, a estrutura de lista de material do componente é definida para Referência. Esta ação previne-o de aparecer na lista de material. Ele aparece na vista Modelo de dados, mas não nas vistas Estruturado ou Somente peças. Se o componente está com a supressão anulada. o iLogic retorna o componente ao seu estado antes da supressão (Normal, Inseparável, Adquirido ou Fantasma).

Antes de utilizar uma regra do iLogic para alterar o estado de supressão de um componente de montagem, crie e ative um novo Nível de detalhe personalizado.

Sintaxe

Component.IsActive("ComponentName")

Exemplos

É possível utilizar 1 em vez de verdadeiro e 0 para falso.

Para definir o estado de supressão e estrutura de lista de material:

Component.IsActive("PartA:1") = false
Component.IsActive("PartB:1") = 0
Component.IsActive("PartC:1") = false
Component.IsActive("PartD:1") = 0

Para ler o estado de supressão e estrutura de lista de material:

MyBooleanParam = Component.IsActive("ComponentName:1)
If Component.IsActive("PartE") Then
' do something
End If

Component.iComponentIsActive

Uma variação de Component.IsActive, esta função define ou lê o estado de supressão de um componente do iPart ou iAssembly. Se não alterar manualmente o nome do componente, então iPart e iAssembly requerem o uso desta sintaxe específica.

É recomendado que altere o nome do componente. Se o fizer, será possível então, utilizar Component.IsActive em vez desta função.

Sintaxe

Component.iComponentIsActive(" iPartParentName:1")

iPartParentName

O nome da peça de fábrica sem a extensão de nome .ipt.

Component.Color

Define ou lê a cor de um componente.

Sintaxe

Component.Color(" iPartA:1")

Exemplos

Definir a cor:

Component.Color("iPartA:1") = "Green"
Component.Color("iPartA:2") = "Aluminum (Cast)"
Component.Color("iPartA:3") = "As Material"

Ler a cor:

MyStringParameter = Component.Color("iPartA:1")

Component.Visible

Define ou lê a visibilidade de um componente. Esta função não altera a estrutura da lista de material do componente.

Sintaxe

Component.Visible("ComponentName")

Exemplos

Definir visibilidade:

Component.Visible("Plate") = true
Component.Visible("Bearing") = false

Ler visibilidade:

parameter = Component.Visible("Plate")
parameter = Component.Visible("Bearing")
If Component.Visible("PartE") Then
do something
End If

Component.SkipDocumentSave

Especifica se um documento de componente é salvo se é alterado e é, então suprimido por uma regra.

Sintaxe

Component.SkipDocumentSave = Verdadeiro

Quando definido para Verdadeiro, o documento de componente não é salvo.

O valor padrão é Falso (Component.SkipDocumentSave = False); o documento de componente é salvo.

Component.Replace

Substitui uma peça ou submontagem com outra. Esta função também pode ser utilizada para substituir padrões de componentes.

Utilize iMates em componentes que estão sendo trocados para manter as restrições de montagem intactas. É possível trocar uma peça por uma peça, uma peça por uma montagem ou uma montagem por uma peça.

A função pesquisa em vários diretórios (pastas) pelo arquivo a ser utilizado como uma substituição:

O nome do arquivo pode ser um caminho relativo (em relação a qualquer um destes locais de pesquisa).

Nota: Antes de utilizar esta função, "estabilize" o nome do componente para preveni-lo de alterar quando ocorrer a troca. Para estabilizar o nome de componente, altere-o para outra coisa. É possível até estabilizar o nome, alterando-o uma vez e então alterá-lo de volta ao nome original. Se falhar em estabilizar o nome, a operação de substituição altera o componente para corresponder ao nome diferente. A regra é então incapaz de encontrar o componente quando ele é executado novamente.

Sintaxe

Component.Replace("ComponentToReplaceName", "OtherPartfilename.ipt",<substituirTodos>)

ComponentToReplaceName

O nome da peça ou submontagem sendo substituído.

OtherPartfilename

A peça ou submontagem para ser utilizado como a substituição.

<substituirTodos>

Definir este valor Booleano para Verdadeiro para substituir todas as instâncias deste componente. Definir o valor para Falso para substituir somente a instância nomeada única.

Exemplo

If PartType = "Type A" Then
Component.Replace("Widget","PartA.ipt", True)
ElseIf PartType = "Type B" Then
Component.Replace("Widget","PartB.ipt", True)
End If

Component.Replace (com nível de detalhe especificado)

Esta variação da função Component.Replace substitui um componente em uma montagem com outro componente em um nível de detalhe específico.

Sintaxe

Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Nível de Detalhe>",<substituirTodos>)

Nesta função, o argumento <substituirTodos> é o mesmo que o descrito para a função Component.Replace mais genérica.

Também é possível substituir uma submontagem com a mesma submontagem em um nível de detalhe diferente.

Component.ReplaceiPart

Necessário para iParts com parâmetros personalizados, esta função também é recomendada para iParts padrão. Utilize em vez de Component.Replace quando o componente é um iPart. É possível utilizar iPart.ChangeRow ou iPart.FindRow após a substituição para alterar a configuração do iPart específico.

Para uma iPart com parâmetros personalizados, liste valores para os parâmetros personalizados após a rowNumber. Os valores devem ser listados na ordem em que são encontrados na tabela.

Sintaxe

Component.ReplaceiPart("ipart1:1", "OtherPartfilename.ipt" Verdadeiro rowNumber)

Utilize rowNumber para substituir o componente e escolher uma linha de iPart ao mesmo tempo.

Exemplos

Para definir os parâmetros personalizados, repita os valores personalizados em Component.ReplaceiPart e novamente em iPart.ChangeRow ou iPart.FindRow mais tarde na regra.

Para ChangeRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)

Para FindRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)

MakePath

define o caminho para um nome de componente em uma submontagem. Para especificar o caminho, liste todos os níveis de submontagem na ordem em que aparecem na árvore. Esta função é necessária se deseja especificar um nome de componente quando o mesmo nome também existe em outras partes da montagem.

Sintaxe

MakePath("SubassemblyComponentName","PartComponentName")

Exemplos

Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”