|
CATIA V5 Programmierung : nomenclature to Instance Name
Suchtiii94 am 18.10.2018 um 16:42 Uhr (1)
Hallo,ich möchte mit einem Makro die Nomenclature in das Feld Instance Name und in das Feld PartNumber kopieren. Und das für die Gesamte Baugruppe bei allen Teilen (.Product & .Part).Was ich schon geschafft habe, ist das Kopieren der Partnumber zu Instance Name mit der (hoffentlich) richtigen Nummerierung.Das ganze sieht so aus:Code:Set Documents = CATIA.DocumentsFor Each Item In DocumentsIf Right(Item.Name, 10) = "CATProduct" ThenSet CurrentProduct = Item.Product.ProductsFor i = 1 To CurrentProduct.CountC ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : SelectElement2 product auswählen
Suchtiii94 am 24.01.2019 um 12:53 Uhr (1)
Mein "Testsub" würde jetzt so aussehen:Code:Sub CATMain()Dim UselLBDim Usel As ObjectDim InputObject(0) As VariantDim oStatusInputObject(0) = "Product"Set Usel = CATIA.ActiveDocument.SelectionUsel.ClearSet UselLB = UseloStatus = UselLB.SelectElement2(InputObject, "Baugruppe auswählen!", True)If (oStatus = "Cancel") ThenExit SubEnd IfSet oStatus = UselLB.Item2(1).ValueIf TypeName(oStatus.ReferenceProduct.Parent) "ProductDocument" ThenStatus = MsgBox("Parts sind nicht zulässig!" & vbLf & _"Bitte wählen Sie ...
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : For Each Item nur im aktiven Fenster
Suchtiii94 am 05.02.2019 um 12:30 Uhr (15)
Servus,mit folgendem code kann ich auf alle offenen Documente zugreifen:Code:Set Documents = CATIA.DocumentsFor Each Item In DocumentsIst es möglich, nur auf alle Documente im aktuellen Fenster zuzugreifen?
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : UserRefProperties value ändern
Suchtiii94 am 06.02.2019 um 08:33 Uhr (1)
Servus,mit folgendem Makro möchte ich für das AktiveFenster in der kompletten Struktur eine neue Positionsnummer vergeben.Wie kann ich eine Abfrage einbauen, ob der Parameter überhaupt exisitert? Wenn er nicht existiert soll nämlich kein Fenster aufgehen und der Parameter nicht beschrieben werden.Aktuell hab ich einfach einen Beschreibversuch für jedes Teil eingebaut, welchen ich mit On Error Resume Next durchlaufen lasse.Code:Sub CATMain()Set oRoot = CATIA.ActiveDocumentSet oProducts = oRoot.Product.Produ ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Save As Ohne Original zu speichern
Suchtiii94 am 12.02.2019 um 09:01 Uhr (1)
Vielen Dank, das werde ich so versuchen und dann berichten.Kann ich beim Scannen der Struktur auch Baugruppen, die mehrfach verbaut sind herausfiltern? Sonst wird ja das SaveAs bei einer Baugruppe die 20x mal verbaut ist 20x ausgeführt. Bei CATParts habe ich das so gelöst:Code:If Split(Catia.ActiveDocument.Product.Products.Item(i).Name, ".")(1) 1[Diese Nachricht wurde von Suchtiii94 am 12. Feb. 2019 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : VBA-Projekt Mersprachig auslegn
Suchtiii94 am 21.02.2019 um 11:08 Uhr (15)
Hallo zusammen,ich möchte mein Catia-vba projekt mehrsprachig auslegen. Dazu habe ich mir eine Excel-liste mit den verschiedenen Sprachen angelegt.Diese kann ich auch auslesen und die Buttons und Labels beschreiben. Wie kann ich die Werte für die Beschriftungen auch nach ausführen eines Makros behalten?Ich möchte die Sprache einmal einstellen und diese soll gespeichert werden ohne dass bei jedem Makroaufruf auf die Excel-liste zurückgegriffen wird.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : InstanceName Ändern
Suchtiii94 am 10.07.2019 um 12:05 Uhr (1)
Hallo,ich habe ein makro, dass mir alle offenen Teile in CATIA Umbenennt. Jetzt würde ich das ganze gerne umbauen, dass ich in einer Variante alle Dokumente im aktiven Fenster umbenennen kann und zum anderen ein Teil (Part oder Product), welches mit SelectElement2 ausgewählt wurde. Zum besseren Verständnis hier der Code, der alle offenen Dokumente Umbenennt:Code: Set Documents = CATIA.DocumentsFor Each Item In DocumentsIf Right(Item.Name, 10) = "CATProduct" ThenSet currentProduct = Item.Product.ProductsFor ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : InstanceName Ändern
Suchtiii94 am 10.07.2019 um 16:06 Uhr (1)
Hallo,danke für die ausführliche Antwort. Das Prinzip mit dem wiederaufrufen bei Produkten habe ich jetzt verstanden und eingebaut. Leider wird der InstanceName nicht bei allen Teilen umbenannt. Verwendet habe ich meinen Code oben zum umbenennen, aber ab einer gewissen Tiefe lässt sich der InstanceName nicht umbenennen.Das verstehe ich nicht, da das Makro komplett identisch ist wie wenn ich For Each Item In CATIA.Documents ausführe und da funktioniert es.-Product--Part-Product--Part -- instanceName wird ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : InstanceName Ändern
Suchtiii94 am 11.07.2019 um 10:11 Uhr (1)
Hallo,hier ist mein Code:Code:Sub Product_Suchen()Set oRoot = CATIA.ActiveDocumentSet oProducts = oRoot.Product.ProductsProduct_Scannen oProductsEnd SubSub Product_Scannen(oProducts)Dim PartNumberDim NomenclatureFor i = 1 To oProducts.CountoProducts.Item(i).PartNumber = oProducts.Item(i).ReferenceProduct.NomenclatureoProducts.Item(i).Revision = NullwertoProducts.Item(i).DescriptionRef = NullwertCurrentPartnumber = oProducts.Item(i).PartNumberk = 1For j = 1 To oProducts.Countcurrentline = oProducts.Item(j). ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : InstanceName Ändern
Suchtiii94 am 11.07.2019 um 10:49 Uhr (1)
Hallo,danke Bernd, es läuft jetzt Warum aber hier das ReferenceProduct benötigt wird kann ich nicht nachvollziehen.Danke noch für den Hinweis mit Leafproduct, das werde ich ausprobieren.Edit:ich hätte es jetzt so versucht:Code:Sub InstanceName()Dim Sel1 As ObjectDim Filter1(0)Dim Status1 As StringDim AusgewähltesProduct As ProductSet Sel1 = CATIA.ActiveDocument.SelectionSel1.ClearFilter1(0) = "Product"Status1 = Sel1.SelectElement2(Filter1, "Produkt Auswählen", False)Set AusgewähltesProduct = Sel1.Item2(1 ...
|
In das Form CATIA V5 Programmierung wechseln |