Autor
|
Thema: Inheritance Mode (643 mal gelesen)
|
Darthwalter Mitglied
Beiträge: 13 Registriert: 16.10.2014 Win 7 Pro Catia V5-6R2016 HP Z400 Workstation
|
erstellt am: 24. Okt. 2018 13:14 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe per VBA einem Body ein Material zugewiesen. Jetzt möchte ich für dieses Material gerne den InheritanceMode auf 3 setzen. Wie bekomme ich Zugriff auf das Objekt PositionedMaterial für diesen Body? 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: 24. Okt. 2018 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für Darthwalter
Servus Hast du dir schon die Methode GetMaterialOnBody angeschaut (siehe Doku)? Oder geht das nur mit "normalen" Materials? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darthwalter Mitglied
Beiträge: 13 Registriert: 16.10.2014 Win 7 Pro Catia V5-6R2016 HP Z400 Workstation
|
erstellt am: 24. Okt. 2018 13:33 <-- editieren / zitieren --> Unities abgeben:
Wenn ich mir das Material über den MaterialManager mit getMaterialOnBody wieder ausgeben lasse bekomme ich ein Material zurück. Aber wenn ich darauf direkt die Eigenschaft "InheritanceMode" anwende gibts die Fehlermeldung "Objekt unterstützt Eigenschaft/Methode nicht". Ich denke man braucht ein Objekt vom Typ PositionedMaterial oder sowas für die diese EIgenschaft gilt. 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: 24. Okt. 2018 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Darthwalter
Servus Wie fügst du das "PositionedMaterial" hinzu? Liefert dir die Objektauflösung was brauchbares zurück? (eventuell gibt es da undokumentierte Methoden/Funktionen (die dann Intellisense anzeigt)). In der Doku steht was, dass man über GetItem("CATMaterialVBExt") auf die zugreifen sollte (ungetestet). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darthwalter Mitglied
Beiträge: 13 Registriert: 16.10.2014 Win 7 Pro Catia V5-6R2016 HP Z400 Workstation
|
erstellt am: 24. Okt. 2018 14:30 <-- editieren / zitieren --> Unities abgeben:
Servus, ich füge das Material ganz normal über den MaterialManager hinzu und kann es auch über diesen wieder abgreifen. Code: oManager.ApplyMaterialOnBody oRootPart.Bodies.Item(i), oMaterial, LinkMode oManager.GetMaterialOnBody oRootPart.Bodies.Item(i), appliedMat
Auf das appliedMat kann ich "InheritanceMode" aber nicht anwenden. Die Eigenschaft InheritanceMode läuft unter PositionedMaterials, die eine eigene Gruppe unter den CatMatInterfaces bilden. Ich habe daher den Verdacht, dass man auf diese anders zugreifen muss, sowie man für die Zuweisung der Materialien auch den MaterialManager nutzen muss.
Code: Set oManager = oRootPart.GetItem("CATMatManagerVBExt")
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: 26. Okt. 2018 22:01 <-- editieren / zitieren --> Unities abgeben: Nur für Darthwalter
Servus Ich hab noch mal was rumprobiert. Dieser Code läuft bei mir: Code: Dim oPositionedMaterial As PositionedMaterial Set oPositionedMaterial = oBody.GetItem("CATMaterialVBExt") oPositionedMaterial.InheritanceMode = 2
Das GetItem einfach auf das Objekt los lassen, an dem das Material hängt (Body, Product, ...). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darthwalter Mitglied
Beiträge: 13 Registriert: 16.10.2014 Win 7 Pro Catia V5-6R2016 HP Z400 Workstation
|
erstellt am: 29. Okt. 2018 06:52 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 29. Okt. 2018 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für Darthwalter
Servus Weil es Dassault so festgelegt hat, und es so auch in der Doku steht. Der Materialmanager ist wohl zum Zuordnen von Material zB aus einer Bibliothek, PositionedMaterial für ein schon zugeordnetes Material. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darthwalter Mitglied
Beiträge: 13 Registriert: 16.10.2014 Win 7 Pro Catia V5-6R2016 HP Z400 Workstation
|
erstellt am: 29. Okt. 2018 09:10 <-- editieren / zitieren --> Unities abgeben:
|