Olá pessoal
Recentemente me deparei com a necessidade de limpar os dados do iProperties de um projeto no Inventor, abrangendo todas as peças e montagens. Após algumas pesquisas no Google e com a ajuda do ChatGPT, consegui melhorar um código base e alcançar um resultado eficiente para essa tarefa.
Depois de rodar o código e validar seu funcionamento, decidi compartilhar o processo com vocês! Criei um tutorial para explicar como utilizá-lo, desde a configuração até a execução.
Espero que ajude no dia a dia de quem também precisa automatizar esse tipo de trabalho.
Segue abaixo o código para consulta e personalização. Convido todos a testarem e, se possível, deixarem feedback.
If ThisDoc.Document.SubType = "{E60F81E1-49B3-11D0-93C3-7E0706000000}" Then
' Montagem principal
Dim ass As AssemblyDocument = ThisDoc.Document
Dim j As Integer
Dim i As Integer
' Limpeza de iProperties da montagem principal
For i = 1 To ass.PropertySets.Count
If ass.PropertySets.Item(i).Name = "Design Tracking Properties" Or ass.PropertySets.Item(i).Name = "Inventor Summary Information" Or ass.PropertySets.Item(i).Name = "Inventor Document Summary Information" Then
For j = 1 To ass.PropertySets.Item(i).Count
Try
ass.PropertySets.Item(i).Item(j).Value = ""
Catch
End Try
Next
End If
Next
' Limpeza de iProperties das peças e submontagens
Dim doc As Document
For Each doc In ass.AllReferencedDocuments
' Verifica se o documento é uma peça ou submontagem
If doc.DocumentType = DocumentTypeEnum.kPartDocumentObject Or doc.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
For i = 1 To doc.PropertySets.Count
If doc.PropertySets.Item(i).Name = "Design Tracking Properties" Or doc.PropertySets.Item(i).Name = "Inventor Summary Information" Or doc.PropertySets.Item(i).Name = "Inventor Document Summary Information" Then
For j = 1 To doc.PropertySets.Item(i).Count
Try
doc.PropertySets.Item(i).Item(j).Value = ""
Catch
End Try
Next
End If
Next
End If
Next
ElseIf ThisDoc.Document.SubType <> "{E60F81E1-49B3-11D0-93C3-7E0706000000}" Then
' Limpeza de iProperties em documentos não de montagem
For i = 1 To ThisDoc.Document.PropertySets.Count
If ThisDoc.Document.PropertySets.Item(i).Name = "Design Tracking Properties" Or ThisDoc.Document.PropertySets.Item(i).Name = "Inventor Summary Information" Or ThisDoc.Document.PropertySets.Item(i).Name = "Inventor Document Summary Information" Then
For j = 1 To ThisDoc.Document.PropertySets.Item(i).Count
Try
ThisDoc.Document.PropertySets.Item(i).Item(j).Value = ""
Catch
End Try
Next
End If
Next
End If
Vamos juntos facilitar e otimizar nossos projetos! :foguete:
Prof. Daniel Severino
Solucionado! Ir para Solução.
Solucionado por Daniel_Severino1. Ir para Solução.
Prof. Daniel Severino
Obrigada por compartilhar aqui esse procedimento!
Você achou uma postagem útil? Então fique à vontade para curtir essas postagens!
Sua pergunta obteve uma resposta que resolveu a duvida? Então clique no botão 'Aceitar Solução ' . 
Claudia Campos
Comunidade de Usuários Autodesk Português - Coordenadora
Não encontrou o que está procurando? Pergunte à comunidade ou compartilhe seu conhecimento.