Autor
|
Thema: DesignTable FilePath nachverdrahten (709 mal gelesen)
|
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 18. Apr. 2017 14:16 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Apr. 2017 15:09 <-- editieren / zitieren --> Unities abgeben: Nur für moppesle
|
RAA Mitglied CAD/PDM-Supporter
Beiträge: 57 Registriert: 05.08.2009 HP Z420 Intel Xeon 3,6GHz 32GB Windows 7 Enterprise V5R19+R22+R24+R26 VB.net 2010
|
erstellt am: 24. Apr. 2017 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für moppesle
Hallo, vielleicht hier ein Lösungsansatz. Ich habe das seinerzeit so ähnlich gelöst. Zunächst den Benutzer die Designtable selektieren lassen. Dann die Relations nach dem Namen der DT durchsuchen Dim relations1 As Relations For x = 1 To relations1.Count If relations1.Item(x).Name = UserSelection.Item(1).Value.Name Then Dim designTable1 As Relation designTable1 = relations1.Item(x) Dim Tabelle As DesignTable Tabelle = designTable1 Tabelle.FilePath = "..." ' hier der neue Dateiname End if next x Ich hoffe es hilft Gruß Rainer [Diese Nachricht wurde von RAA am 24. Apr. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 11. Mai. 2017 13:36 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für eure Antworten. Habe die Pfadzuweisung umgesetzt. Nun möchte ich auf vorhandensein der Designtable prüfen. Das funktioniert soweit bis ich die Variable "TableExist" in den Call einfüge. Fehlermeldung "ByRef argument type mismatch" Code: Dim PartDocument1 'As Part Set PartDocument1 = CATIA.ActiveDocument Set part1 = PartDocument1.Part Set relations1 = part1.Relations Dim PathMaterial Dim PathTechMerk Dim PathKMGew Dim PathPass Dim TableToChange Dim TableExist As Boolean TableExist = False PathMaterial = ServerPath + DNameMaterial PathTechMerk = ServerPath + DNameTechMerk PathKMGew = ServerPath + DNameKMGew PathPass = ServerPath + DNamePass Set TableToChange = GetDesignTableByName(relations1, TableExist, "Material") If Table_exist = True Then TableToChange.Hidden = False TableToChange.FilePath = PathMaterial 'Else End If
Code: Function GetDesignTableByName(relations1 As Relations, DTableName As String, TableCheck As Boolean) As Relation Dim i As Integer Set GetDesignTableByName = Nothing Dim TableCheck Set TableCheck = FalseFor i = relations1.Count To 1 Step -1 If Right(relations1.Item(i).Name, Len(DTableName)) = DTableName Then Set GetDesignTableByName = relations1.Item(i) TableCheck = True MsgBox "treffer " + GetDesignTableByName.Name Set GetDesignTableByName = relations1.Item(i) Exit Function End If Next End Function
Habt ihr einen Tip für mich
------------------ Gruß Uwe Auch Catia ist nur ein Mensch! [Diese Nachricht wurde von moppesle am 11. Mai. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Mai. 2017 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für moppesle
Servus Uwe Stimmt den die Reihenfolge im Aufruf der Funktion? Erst die Relations, dann der Name und dann erst der Boole'sche Wert. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3418 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 11. Mai. 2017 13:51 <-- editieren / zitieren --> Unities abgeben:
|