Autor
|
Thema: Macro im Product ausführen (1289 mal gelesen)
|
V5-Maxe Mitglied CAD-Konstrukteur, CATIA V5
Beiträge: 37 Registriert: 16.06.2005 Windows7 Prof x64 CATIA V5R19 Dell Precision T5500 12GB NVIDIA Quadro FX 580 512MB
|
erstellt am: 25. Mai. 2012 14:27 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich hab ein Macro, dass im (separat geöffneten) Part problemlos funzt. Wenn das Part aber im Product hängt (TypeName(CATIA.ActiveDocument)="PartDocument"), dann erhalte ich die Fehlermeldung: "Das Object unterstützt diese Eigenschft oder Methode nicht: `partDocument1.Part` Sub CATMain() Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part Set part1 = partDocument1.Part Dim orderedGeometricalSets1 As OrderedGeometricalSets Set orderedGeometricalSets1 = part1.OrderedGeometricalSets Dim orderedGeometricalSet1 As OrderedGeometricalSet Set orderedGeometricalSet1 = orderedGeometricalSets1.Add() orderedGeometricalSet1.Name = "NEW" part1.UpdateObject orderedGeometricalSet1 End Sub Wie sage ich CATIA, in welches mein (vermeintlich aktives) "partDocument1.Part" ist
Vielen Dank für Eure Hilfe!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
geekv5 Mitglied Konstrukteur
Beiträge: 214 Registriert: 13.07.2011 Notebook<P>MSI GX660R Intel Core i5 460M 8GB DDR3 1GB Mobility HD5870 80GB Intel X25-M Postville 250GB HDD<P>Desktop<P>AMD Phenom II X4 965 1GB HD4890@ FirePro V8700 8GB DDR3-1600 2,5TB HDD<P>Belinea 2485 S1W 24" MVA
|
erstellt am: 25. Mai. 2012 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für V5-Maxe
Hallo, hier meine Lösung: Code:
Sub CATMain()Dim partdocument1 As PartDocument Dim part1 As Part Dim selection1 As Selection Dim orderedgeometricalSets1 As OrderedGeometricalSets Dim orderedgeometricalSet1 As OrderedGeometricalSet Dim adoc As Document On Error Resume Next Set adoc = CATIA.ActiveDocument If Err.Number <> 0 Then Exit Sub Set selection1 = adoc.Selection Select Case TypeName(adoc) Case "PartDocument" Set partdocument1 = adoc Case "ProductDocument" selection1.Search ("'Part Design'.Teil, in") If Not selection1.Count = 1 Then Exit Sub Set partdocument1 = adoc.Selection.Item(1).Value.Parent.Product.ReferenceProduct.Parent Case Else MsgBox "Nicht unterstützter Dokumenttyp, breche ab.." Exit Sub End Select Set part1 = partdocument1.Part Set orderedgeometricalSets1 = part1.OrderedGeometricalSets Set orderedgeometricalSet1 = orderedgeometricalSets1.Add() part1.UpdateObject orderedgeometricalSet1 End Sub
Zur Erklärung: selection1.Search ("'Part Design'.Teil, in") ermittelt das aktive (blaue) Teil.. Wenn das selection1.count=0 ist, dann ist kein Part aktiv.. Gruß [Diese Nachricht wurde von geekv5 am 25. Mai. 2012 editiert.] [Diese Nachricht wurde von geekv5 am 25. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5-Maxe Mitglied CAD-Konstrukteur, CATIA V5
Beiträge: 37 Registriert: 16.06.2005 Windows7 Prof x64 CATIA V5R19 Dell Precision T5500 12GB NVIDIA Quadro FX 580 512MB
|
erstellt am: 29. Mai. 2012 13:49 <-- editieren / zitieren --> Unities abgeben:
Hallo geekv5, vielen Dank! Dein Tip funzt so weit auch bei mir, wenn ich das Part direkt im Productbaum selektiere. Aber komme wie ich an das Part, wenn darin schon ein Feature oder orderedGeoSet selektiert ist? Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
geekv5 Mitglied Konstrukteur
Beiträge: 214 Registriert: 13.07.2011 Notebook<P>MSI GX660R Intel Core i5 460M 8GB DDR3 1GB Mobility HD5870 80GB Intel X25-M Postville 250GB HDD<P>Desktop<P>AMD Phenom II X4 965 1GB HD4890@ FirePro V8700 8GB DDR3-1600 2,5TB HDD<P>Belinea 2485 S1W 24" MVA
|
erstellt am: 30. Mai. 2012 10:37 <-- editieren / zitieren --> Unities abgeben: Nur für V5-Maxe
Wie meinst du das? Bist du im Part oder Produkt (was ist im Baum blau hinterlegt)? Wenn das Part nicht die aktive Komponente ist, dann funktioniert es nicht, dann müsstest du dich vom selektierten Element zum Part hochhangeln.. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5-Maxe Mitglied CAD-Konstrukteur, CATIA V5
Beiträge: 37 Registriert: 16.06.2005 Windows7 Prof x64 CATIA V5R19 Dell Precision T5500 12GB NVIDIA Quadro FX 580 512MB
|
erstellt am: 30. Mai. 2012 13:48 <-- editieren / zitieren --> Unities abgeben:
also, ich meine das so: blau hinterlegt ist das Part, weil ich darin arbeite. Wenn das aktive (blaue) Teil direkt selektiert ist, dann ist alles gut Wenn jedoch ein selektiertes Element in diesem Part existiert, dann ermittelt CATIA das aktive (blaue) Teil anders. - Aber ich weiss nicht wie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
geekv5 Mitglied Konstrukteur
Beiträge: 214 Registriert: 13.07.2011 Notebook<P>MSI GX660R Intel Core i5 460M 8GB DDR3 1GB Mobility HD5870 80GB Intel X25-M Postville 250GB HDD<P>Desktop<P>AMD Phenom II X4 965 1GB HD4890@ FirePro V8700 8GB DDR3-1600 2,5TB HDD<P>Belinea 2485 S1W 24" MVA
|
erstellt am: 30. Mai. 2012 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für V5-Maxe
|
V5-Maxe Mitglied CAD-Konstrukteur, CATIA V5
Beiträge: 37 Registriert: 16.06.2005 Windows7 Prof x64 CATIA V5R19 Dell Precision T5500 12GB NVIDIA Quadro FX 580 512MB
|
erstellt am: 30. Mai. 2012 14:54 <-- editieren / zitieren --> Unities abgeben:
|