O iLogic fornece funções de regra para a definição ou a leitura de estados de supressão de componentes, estados de modelo e cores, assim como uma função para a substituição de 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 componentes, expanda o nó Componentes (clássico) na guia Sistema, localizada na área Fragmentos da caixa de diálogo Editar regra do iLogic.
Personalize todos os nomes de componentes antes de referenciar os nomes em uma regra. Quando altera o nome padrão de componentes atribuído pelo Autodesk Inventor, você garante que ele não será alterado quando o nome de arquivo .ipt ou .iam referenciado for alterado.
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.
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 você utiliza Component.IsActive 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 estiver com a supressão anulada (usingComponent.IsActive), o iLogic retornará o componente ao seu estado antes da supressão (Normal, Inseparável, Adquirido ou Fantasma).
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:
MyBooleanParam = Component.IsActive("ComponentName:1) If Component.IsActive("PartE") Then ' do something End If
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.
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")
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
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 = Falso); o documento de componente é salvo.
Define ou lê o estado de modelo ativo de um componente.
Sintaxe
Component.ActiveModelState("ComponentName")
Exemplos
Component.ActiveModelState(“PartA:1”) = “Model State2”
Dim partB1_state = Component.ActiveModelState(“PartB:1”)
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).
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
Esta variação da função Component.Replace substitui um componente em uma montagem por outro componente em um estado de modelo específico.
Sintaxe
Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Estado do modelo>", <substituirTudo>)
Nesta função, o argumento <substituirTodos> é o mesmo que o descrito para a função Component.Replace mais genérica.
Você também pode usar essa função para substituir uma peça ou uma submontagem pela mesma peça ou submontagem em outro estado de modelo. No entanto, é mais eficiente usar a função Component.ActiveModelState.
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)
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”