Autor
|
Thema: Eigenschaften ausfüllen per Makro (3741 mal gelesen)
|
rembit Mitglied TZ
Beiträge: 30 Registriert: 25.09.2006 WinXP SP2 CatiaV5R16 SP5
|
erstellt am: 26. Jun. 2009 13:23 <-- editieren / zitieren --> Unities abgeben:
Hallo. Brauche dringend Hilfe. Ich soll bei Eigenschaften das Feld Nomenklatur an das Feld Teilenummer anpassen (übernehmen), und das alles in einem Produkt. Die Eigenschaften sollen so aussehen: Dateiname=Teilenummer=Nomenklatur=Exsemplarname (+Instanz)siehe Bild. Da es sehr viele Teile sind, ist meine einzige Hoffnung es per Makro hinzubekommen. Und jetzt Hilfeschrei an die Gemeinde, -Wehr kann mir so etwas empfehlen??????
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ks-reichle Mitglied Konstrukteur
Beiträge: 33 Registriert: 06.03.2009 Catia V5-6 Release 2014 Servicepack 4 Build Number 24 Hotfix 33 Dell Precision M6800
|
erstellt am: 29. Jun. 2009 22:16 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
hi, probiers mal damit, ich hab hier noch eine Eingabe für die Revisionsnummer dabei gruß klaus Language="VBSCRIPT" ' Globale Variable definieren (auch für Subroutinen) Private Eingabe1 ' jetzt gehts weiter
Sub CATMain() Dim myproduct As Product Set myproduct = CATIA.ActiveDocument.Product Box = MsgBox(" Nomenklatur wird gleich dem Filename gesetzt", , "Hinweis") 'EingabeBox Eingabe1 = "Rev 001" Eingabe1 = InputBox ("Bitte hier Revision (default = Rev 001)", "Revision", Eingabe1) ' Die ganze Produktstruktur wird gescannt ScanProductStructure myproduct MsgBox "Alle Nomeklaturen wurden geändert" End Sub Sub ScanProductStructure(myproduct2 As Product) ' aus myproduct wird myproduct3 Dim currentprod As Product Dim ii As Integer On Error Resume Next For ii = 1 To myproduct2.Products.Count Set currentprod = myproduct2.Products.Item(ii) If currentprod.Products.Count = 0 Then Err.Clear 'Filename extrahieren und Endung ab . entfernen Ausgabe = Left(currentprod.ReferenceProduct.Parent.Name, InStrRev(currentprod.ReferenceProduct.Parent.Name, ".") - 1) currentprod.Revision = ""& Eingabe1 &"" currentprod.Nomenclature = ""& Ausgabe &"" If Err.Number <> 0 Then End If Else ScanProductStructure currentprod.ReferenceProduct End If Next On Error GoTo 0 End Sub ------------------ Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobi1981 Mitglied Technischer Zeichner
Beiträge: 24 Registriert: 11.09.2008
|
erstellt am: 13. Jul. 2009 07:52 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
Hallo, ich habe hierzu noch eine Frage, und zwar wenn ich bei Hinzugefügte eigenschaften etwas drin stehen haben will, steht bei mir in der Makroaufzeichnung Dim strParam1 da ich aber die deutsche Version nutze, wie heißt dieiser befehl im deutschem? Bzw wie sieht ein Makro im deutschem aus, indem auch hinzugefügte Eigenschaften ausgefüllt werden. Kann das bitte jemand verraten. Danke, Gruß Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 13. Jul. 2009 18:12 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
Hallo Tobi, strParam1 ist einfach eine Variablenname, vermutlich für einen Parameter der Typ String. Die Makros müssen (erfreulicherweise) nur auf englische Sprache erstellt werden, egal welche Sprachversion man verwendet. Erfreulicherweise, weil man so weniger Kompatibilitätsprobleme hat. Die Sprachabhängigkeit kommt nur bei DisplayName ins Spiel. Die zu den Properties hinzugefügte Parameter findest du unter UserRefPropreties Eigenschaft von einen Product. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rembit Mitglied TZ
Beiträge: 30 Registriert: 25.09.2006 WinXP SP2 CatiaV5R16 SP5
|
erstellt am: 29. Jul. 2009 11:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, (bin erst aus dem Urlaub gekommen) Danke für deine Hilfe. Das Makro ist sehr gut!!! Eine Kleinigkeit fehlt mir noch.... Es werden Eigenschaften nur in Parts überprüft, die Produkte bleiben unverändert. Habe keine Ahnung in Makroprogramierung, arbeite aber sehr gern damit. Wehre sehr dankbar wenn mir jemand helfen könnte. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ks-reichle Mitglied Konstrukteur
Beiträge: 33 Registriert: 06.03.2009 Catia V5-6 Release 2014 Servicepack 4 Build Number 24 Hotfix 33 Dell Precision M6800
|
erstellt am: 30. Jul. 2009 17:47 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
Hallo rembit, Hoffe du hattest nen angenehmen Urlaub. Ich hatte den Code aus einem Anderen Makro zusammengekürzt, und einen Teil zuviel rausgeworfen. Hier der richtige. Grüße Klaus Language="VBSCRIPT" ' Globale Variable definieren (auch für Subroutinen) Private Ausgabe ' jetzt gehts weiter Sub CATMain() Dim myproduct As Product Set myproduct = CATIA.ActiveDocument.Product Box = MsgBox("Nomenklatur wird gleich dem Filename gesetzt", , "Hinweis") ' Die ganze Produktstruktur wird gescannt ScanProductStructure myproduct MsgBox "Alle Nomenklaturen wurden geändert" End Sub Sub ScanProductStructure(myproduct2 As Product) ' aus myproduct wird myproduct3 Dim currentprod As Product Dim ii As Integer On Error Resume Next 'für CATProducts__________________________________________________________________________ 'Filename extrahieren und Endung ab . entfernen Ausgabe = Left(myproduct2.ReferenceProduct.Parent.Name, InStrRev(myproduct2.ReferenceProduct.Parent.Name, ".") - 1) myproduct2.Nomenclature = ""&Ausgabe&"" ' Für CATPart_____________________________________________________________________________ For ii = 1 To myproduct2.Products.Count Set currentprod = myproduct2.Products.Item(ii) If currentprod.Products.Count = 0 Then Err.Clear 'Filename extrahieren und Endung ab . entfernen 'für alle Parts Ausgabe = Left(currentprod.ReferenceProduct.Parent.Name, InStrRev(currentprod.ReferenceProduct.Parent.Name, ".") - 1) currentprod.Nomenclature = ""&Ausgabe&"" If Err.Number <> 0 Then End If Else ScanProductStructure currentprod.ReferenceProduct End If Next On Error GoTo 0 End Sub
------------------ Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rembit Mitglied TZ
Beiträge: 30 Registriert: 25.09.2006 WinXP SP2 CatiaV5R16 SP5
|
erstellt am: 04. Aug. 2009 13:04 <-- editieren / zitieren --> Unities abgeben:
|
Norman Schulz Mitglied Konstrukteur Catia V4/V5
Beiträge: 300 Registriert: 18.03.2002 V5R19SP9 // V5R20SP7 //V5R24SP5 Lizenz MD2 Lenovo ThinkPad W540 WIN 7 64bit 16GB Intel i7-4800MQ 2.7GHz
|
erstellt am: 17. Mrz. 2016 16:47 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
Hallo, ich habe gerade dieses tolle Makro gefunden. Leider funktioniert es nur (bei mir?) beim erstmaligen Ausfüllen der Nomenklatur. Ich habe bereits "alte" Bezeichnungen drinstehen und möchte diese mit dem Partname aktualisieren. Kann mir jemand einen Tip geben, wie dies umgesetzt werden kann? Vielen Dank! ------------------ WTL Engineering GmbH n.schulz@wtl-group.de http://www.wtl-group.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 17. Mrz. 2016 17:39 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
|
Norman Schulz Mitglied Konstrukteur Catia V4/V5
Beiträge: 300 Registriert: 18.03.2002 V5R19SP9 // V5R20SP7 //V5R24SP5 Lizenz MD2 Lenovo ThinkPad W540 WIN 7 64bit 16GB Intel i7-4800MQ 2.7GHz
|
erstellt am: 18. Mrz. 2016 03:49 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
Hallo Joe, danke für die Rückmeldung. Leider macht es keinen unterschied. Es läuft zwar durch, aber ohne die Einträge zu ändern. Was mich zudem wundert ist, dass ich obwohl als Language="VBSCRIPT" im Header steht, ich es als "CATScript" erzeugen musste. Ansonsten gibt es eine Fehlermeldung. Gruß Norman ------------------ WTL Engineering GmbH n.schulz@wtl-group.de http://www.wtl-group.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Norman Schulz Mitglied Konstrukteur Catia V4/V5
Beiträge: 300 Registriert: 18.03.2002 V5R19SP9 // V5R20SP7 //V5R24SP5 Lizenz MD2 Lenovo ThinkPad W540 WIN 7 64bit 16GB Intel i7-4800MQ 2.7GHz
|
erstellt am: 18. Mrz. 2016 04:25 <-- editieren / zitieren --> Unities abgeben: Nur für rembit
Habe es nochmal an einer neu erzeugten Produktstruktur und an Vorlagen von einem anderen Kunden getestet. Hier funktioniert es. Scheint, woran auch immer, an speziellen Vorlagen zu liegen. Da es bei dem einen Kunden funktioniert reicht mir das soweit erst mal. Trotzdem danke für die Hilfestellung! ------------------ WTL Engineering GmbH n.schulz@wtl-group.de http://www.wtl-group.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |