Hallo,
ich denke nicht, dass das möglich ist.
In Benutzer-Kopien der Familentabellen Datenzeilen verschiedener Quellen zusammenzuführen wird das Problem nicht lösen, da die bestehenden Modelle meiner Kenntnis nach auf eine konkrete Familientabelle verweisen.
Ein Modell aus dem CC wird ja nur 1x erstellt. Alle Eigenschaften werden zum Zeitpunkt der Erstellung entsprechend den Familientabellen eingestellt.
Um die Daten zu „putzen“ scheint mir sinnvoller, beim Speichern von Modellen nach unerwünschten Teilen – z.B. aus DIN7991 – zu suchen und diese dann zu ersetzen.
Wenn die eigentliche Modellierung der an sich gleichartigen Normteile nicht abweichend ausgeführt wurde, sollten auch alle Abhängigkeiten intakt bleiben. Wenn das erfüllt ist, könnte die Teileersetzung wahrscheinlich – ich habe bisher nie versucht das CC per Programm anzusteuern - automatisiert erfolgen.
Also Assembly durchlaufen, Alle Occurences überprüfen und ggf. ersetzen.
Wenn die Ersetzungsteile im CC noch nicht existieren, müssten diese zunächst erstellt werden.
Codefragment:
' Aktive assembly ermitteln
If AktInvApp.ActiveDocument.DocumentType = Inventor.DocumentTypeEnum.kAssemblyDocumentObject Then
Dim oAsmDoc As Inventor.AssemblyDocument
oAsmDoc = AktInvApp.ActiveDocument 'ggf. ThisApplication.ActiveDocument
' Definition der assembly.
Dim oAsmDef As Inventor.AssemblyComponentDefinition
oAsmDef = oAsmDoc.ComponentDefinition
' Dokument, dessen Verwendungen zu bearbeiten sind - also hier etwa ein Teil nach DIN 7991
Dim oDoc As Inventor.Document
oDoc = AktInvApp.Documents.ItemByName(oInvRefDoc.FullDocumentName)
' Verwendungen des Teiles/Dokumentes suchen
Dim oOccs As Inventor.ComponentOccurrencesEnumerator
oOccs = oAsmDef.Occurrences.AllReferencedOccurrences(oDoc)
Dim oOcc As Inventor.ComponentOccurrence
Dim AnzOcc As Integer = 0
For Each oOcc In oOccs
oOcc.Replace (gewünschte Ersetzungsdatei, False) 'Ersetzung ausführen
Gruß
HT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP