Autor
|
Thema: Übersetzung (2283 mal gelesen)
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008 Intel XEON E3-1280 32GB Ram, Quadro P4000 Win 10 64bit Catia V5R24 Solidworks 2018
|
erstellt am: 19. Nov. 2008 13:20 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich suche nach einer Möglichkeit Namen von geometrischen Sets, Bodys usw. automatisch in eine andere Sprache zu übersetzen. Also ich habe eine Startstruktur und diese soll später schnell von Deutsch auf Englisch und umgekehrt gewandelt werden können. Geht sowas? Wenn ja, wie fange ich das an? Leider kenne ich mich mit der Programmierung noch nicht aus. Würde mich aber da einarbeiten. Vielleicht gibt es schon ähnliche Makros, die ich mir anschauen könnte. Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 19. Nov. 2008 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
Hi, also das was du da vor hast ist schon ein kleiner Hammer. Das zu Programmieren wäre jetzt nicht die Welt, evtl. mit VB und einer Datenbank dahinter. Nur bräuchtest du ein Komplettes Wörterbuch hinter der ganzen geschichte. Und das anzulegen, das dauert seine Zeit. Oder ich habe es falsch verstanden, aber du möchtest ja schon variable Text übersetzt haben? Gruß Timber ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008 Intel XEON E3-1280 32GB Ram, Quadro P4000 Win 10 64bit Catia V5R24 Solidworks 2018
|
erstellt am: 19. Nov. 2008 13:49 <-- editieren / zitieren --> Unities abgeben:
Nein, ich brauche nur ein paar ausgewählte Begriffe. Habe nur etwa 10 Worte zu übersetzen. Also nur die Grundstruktur. Und die bleibt immer gleich. Und die Begriffe würde ich dann vorgeben. Es soll halt nur automatisch gehen. Also, dass man nicht jeden Namen über Properties manuell ändern muss. Ist bissel schlecht zu erklären ;-) Also ich stelle mir das so vor: vor die zu übersetzenden Namen kommt ein Rautensymbol oder so. Und die Worte mit diesem Symbol sollen dann übersetzt werden. Also der Partbody heißt immer Fertigteil und soll immer zu Final Part übersetzt werden. Was dann drunter an Konstruktion steht, wird nicht übersetzt. Hoffe das kann man jetzt bissel besser verstehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 19. Nov. 2008 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 19. Nov. 2008 15:01 <-- editieren / zitieren --> Unities abgeben:
Erstmal danke. Naja, da ich leider ein absoluter Neuling auf dem Gebiet Makros bin, ist mir das leider zu hoch. Ich glaube, das würde den Rahmen sprengen, mir das hier an einem kleinen Beispiel ausführlich zu schildern, oder? Also ich kann den VBA-Editor öffnen, aber das wars dann auch schon ((wie peinlich )). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 19. Nov. 2008 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
hm.. ich versuchs mal so einfach wie möglich. Am besten im VBA-Editor ein neues Class-Modul mit dem Namen "multisprache" erstellen und folgenden Quelltext eingeben: ------------- Dim sprache As String Dim T0 As String 'Text in der jeweiligen Sprache Sub Start(sprache) 'Spezifische Texte festlegen Select Case sprache Case "DE" T0 = "Es klappt ja wirklich " Case "EN" T0 = "It really works " End Select 'Weiterführende Routine starten Call Message End Sub Private Sub Message() MsgBox T0, vbInformation, makroname + " " + version End Sub ------------------- Unter "Modules" erzeugst du ein neues Modul mit nun folgenden Quelltext: ****************** Sub CATMain() Dim start_ml As New multisprache Call start_ml.Start("DE") End Sub ****************** Das letzte Modul wird dann ganz normal in V5 gestartet. Das ist jetzt mal eine ganz rudimentäre Darstellung, aber so kann man einem Makro mehrere Sprachen beibringen. Ausführlich steht aber auch alles in meinem Buch drin. SG Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite Private Seite Xing Kochbuch - CATIA V5 automatisieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 19. Nov. 2008 15:59 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank. Bin gerade am Probieren. Muss in die Klammer bei z.B. Private Sub Message()noch was rein, weil es sich rot färbt und einen Fehler anzeigt? Bin schon gespannt. Aber dein Buch hole ich mir mal. Kann man durchaus mal brauchen. Wie heißt das denn? Grüße. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 19. Nov. 2008 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 19. Nov. 2008 16:16 <-- editieren / zitieren --> Unities abgeben:
|
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 19. Nov. 2008 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 19. Nov. 2008 17:14 <-- editieren / zitieren --> Unities abgeben:
Puh, ich glaub ich bestell mir mal dein Buch. Will ja auch wissen, was ich hier eigentlich mache. Ich gehe dir bestimmt schon auf die Nerven, denn jetzt grübel ich schon wieder was ne Instanznummer ist und wie ich ne Schleife hinkriege Danke, Grüße und einen schönen Abend.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 19. Nov. 2008 18:42 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 08:25 <-- editieren / zitieren --> Unities abgeben:
Die haben bei mir keine Nummern sondern nur Namen. Zum Beispiel der Hauptkörper heißt "Final_Part" und soll nach dem Makro "Fertigteil" heißen während ein geom. Set "Design" heißt und zu"Konstruktion" übersetzt werden soll. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008 Intel XEON E3-1280 32GB Ram, Quadro P4000 Win 10 64bit Catia V5R24 Solidworks 2018
|
erstellt am: 20. Nov. 2008 09:29 <-- editieren / zitieren --> Unities abgeben:
Ok, ich versuchs jetzt ganz simpel: CATIA.ActiveDocument.Part.Bodies.Item(1).Name = "Fertigteil" bzw. CATIA.ActiveDocument.Part.HybridBodies.Item(2).Name = "Konstruktion" funktioniert bisher leider nicht mit Geom. Sets in einem Geom. Set. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
ist klar .... bodies sind alle in der obersten Struktur eines parts angeordnet (CATIA.ActiveDocument.Part.Bodies) und können direkt von dort über Item angesprochen werden. Geom. Sets sind verschachtelt angeordnet, d.h. mann muss über das jeweilige Set in das unterliegende Set drankommen ( CATIA.ActiveDocument.Part.HybridBodies.Item(2).Hybridbodies.Item(1) ) Am besten bekommst du sowas heraus, wenn du dein makro im VBA-Editor schrittweise durchalufen lässt und im Watch-Fenster das jeweilige Ergebnis anschaust. SG Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite Private Seite Xing Kochbuch - CATIA V5 automatisieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 10:17 <-- editieren / zitieren --> Unities abgeben:
|
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 10:53 <-- editieren / zitieren --> Unities abgeben:
Supi, hat geklappt. Danke. Allerdings ist das jetzt abhängig von der Position des Sets. Wenn ich jetzt "reorder children" mache und das Makro nochmal ausführe, ändert sich der Name von dem Set, das dann die Posion des vorher umbenannten einnimmt. Kann man das irgendwie anders lösen? Hab mal was gesehen, dass über die Suche gezielt der Name des Sets angesprochen und dann umbenannt wird. Gibts da Codes dafür? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 11:36 <-- editieren / zitieren --> Unities abgeben:
Funzt leider nicht. Aber ich könnte mir auch denken, dass es trotzdem Probleme gibt, wenn die Anordnung der geom. Sets mal verändert wird oder noch welche dazwischen eingefügt werden, oder irre ich mich? Es handelt sich sozusagen um ein Startpart, dass dann mit Geometrie befüllt wird. Die Umbenennung darf aber trotzdem nur die Geo. Sets der Startstruktur betreffen. Folgendes habe ich hier im Forum gefunden aber für Parameter, vielleicht kann man das auch für die Geo Sets umbasteln. Wenn ja, wie könnte das dann aussehen? Dim selection1 As Selection Set selection1 = CATIA.ActiveDocument.Selection selection1.Search "CATKnowledgeSearch.AdvisorParameterSet.Name='Parameter_Name',all" For iI = 1 To CATIA.ActiveDocument.selection.Count CATIA.ActiveDocument.selection.Item(iI).Value.Name = "Neue_Name"
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 12:53 <-- editieren / zitieren --> Unities abgeben:
Juhu, es geht so wie ich es will. Ist vielleicht sehr umständlich aber egal: __________________________________________________ Language="VBSCRIPT" Sub CATMain() Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = partDocument1.Selection selection1.Search "Name=Design,all" For iI = 1 To CATIA.ActiveDocument.selection.Count CATIA.ActiveDocument.selection.Item(iI).Value.Name = "Konstruktion" Next Dim selection2 As Selection Set selection2 = partDocument1.Selection
selection2.Search "Name=Adherends,all" For iI = 1 To CATIA.ActiveDocument.selection.Count CATIA.ActiveDocument.selection.Item(iI).Value.Name = "Anrisse" Next (usw.) End Sub ___________________________________________ Ich danke dir ganz ganz ganz ganz sehr mit vielen Ausrufezeichen. Und falls dir noch was einfällt, was noch falsch sein könnte, wäre das sehr lieb. Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 13:27 <-- editieren / zitieren --> Unities abgeben:
Und da bin ich wieder Wollte das jetzt auch auf einen Parameternamen im Parameterset anwenden. Das ging nicht. Woran könnte das jetzt wieder liegen? Die Parameter sind nicht mit Formeln verknüpft. Es werden nur Eingaben gemacht.(Bitte nicht über den Sinn nachdenken ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 14:03 <-- editieren / zitieren --> Unities abgeben:
Language="VBSCRIPT" Sub CATMain() Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = partDocument1.Selection selection1.Search "(Name=Symmetry & CATKnowledgeSearch.InternalParameter),all" End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
Laut online-dokun wird der Name eines Paramaters nicht über .Name geändert sonder es muss di Funktion Rename aufgerufen werden. Für deinen Fall hieße das: Sub CATMain() Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = partDocument1.Selection selection1.Search "(Name=Symmetry & CATKnowledgeSearch.InternalParameter),all" For iI = 1 To CATIA.ActiveDocument.selection.Count Dim param1 = CATIA.ActiveDocument.selection.Item(iI).Value param1.Rename("HierkommtderneueNamerein") Next End Sub Versuchs mal ... ------------------ Inoffizielle CATIA-Hilfeseite Private Seite Xing Kochbuch - CATIA V5 automatisieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 14:29 <-- editieren / zitieren --> Unities abgeben:
|
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Nov. 2008 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für Beemer328
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008
|
erstellt am: 20. Nov. 2008 15:09 <-- editieren / zitieren --> Unities abgeben:
Ich war mir nicht sicher an welcher Stelle das rein muss. Habs mal so probiert, ging aber nicht. Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = partDocument1.Selection selection1.Search "(Name=Symmetry & CATKnowledgeSearch.InternalParameter),all" For iI = 1 To CATIA.ActiveDocument.selection.Count Dim param1 as Parameter param1 = CATIA.ActiveDocument.selection.Item(iI).Value param1.Rename("HierkommtderneueNamerein")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Techniker / Ingenieur (m/w/d) für die Versorgungstechnik (HKLS) | GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ... | Anzeige ansehen | Gebäude-, Versorgungs-, Sicherheitstechnik |
|
Beemer328 Mitglied Konstrukteurin Dipl.Ing.(FH)
Beiträge: 104 Registriert: 22.10.2008 Intel XEON E3-1280 32GB Ram, Quadro P4000 Win 10 64bit Catia V5R24 Solidworks 2018
|
erstellt am: 20. Nov. 2008 15:49 <-- editieren / zitieren --> Unities abgeben:
Ok, hab grad rausgefunden, dass die Umbenennung von nem Parameter aufgezeichnet wird. Aber ich lasse das mit den Parametern, weil ich doch zwei dabei habe, die mit Formeln verknüpft sind und ich befürchte, dass diese Links dann verloren gehen. Grüße und Danke Julia Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |