Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Zeichnungen übersetzen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
  
NeoSpace Essentials 2.12 jetzt verfügbar, eine Pressemitteilung
Autor Thema:  Zeichnungen übersetzen (268 / mal gelesen)
darkfrei
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von darkfrei an!   Senden Sie eine Private Message an darkfrei  Schreiben Sie einen Gästebucheintrag für darkfrei

Beiträge: 12
Registriert: 04.11.2015

PTC Creo Elements/Direct Modeling x64 Rev. 19.0 (2015)
Windows 7 Pro x64 SP1 (2009)
Intel Xeon W3565 (2009)

erstellt am: 09. Sep. 2024 11:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

Wäre es möglich die Zeichnungen komplett mit Stückliste mit einem Klick übersetzen?

Ich habe ein Skript mit Lua geschrieben, es öffnet die .mi-Datei (entzippt falls gezipt), lädt das Wörterbuch wie "Scheibe\tWasher\n" und line-by-line ersetzt alle passende Wörter.

Ist es möglich das mit dem .lisp? Wie macht ihr die Übersetzung?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2221
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 09. Sep. 2024 16:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für darkfrei 10 Unities + Antwort hilfreich

Analysiert Dein LUA script die MI-file Struktur und ersetzt NICHT die Entity Identifier?

Ersetzt es z.b. NUR den Inhalt eines Textes? ... des Prefixes einer Bemassung?

Keine InfoText Prefix?  z.B. "TR:Sheet_local:"

Keine Teilenamen?  z.B: "Right1"

Also das ist nicht ganz ohne mittleres Risiko.

Wörterbucheinträge wie
● osd_default\SD Standard\
● Title\Titel\
● SCALE\Massstab\
wären u.U. ziemlich tödlich, meiner Meinung nach.

Nein, ich / wir übersetzen zur Zeit keine Zeichnungen. Und wenn dann würden wir wohl mal die mit 20.5 eingeführte 2 Sprachigkeit Funtkionalität anwenden.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

darkfrei
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von darkfrei an!   Senden Sie eine Private Message an darkfrei  Schreiben Sie einen Gästebucheintrag für darkfrei

Beiträge: 12
Registriert: 04.11.2015

PTC Creo Elements/Direct Modeling x64 Rev. 19.0 (2015)
Windows 7 Pro x64 SP1 (2009)
Intel Xeon W3565 (2009)

erstellt am: 11. Sep. 2024 11:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Es analysiert nichts, nur die bestimmte, genaue und die gesamten Linien ersetzt: die Linie "\nScheibe\n" wird mit "\nWasher\n" ersetzt. Mit dem hash-table dauert es nur ein paar Sekunden.

Wie kann ich es direkt mit eine lisp-Kommande in Annotation finden und ersetzen?

[Diese Nachricht wurde von darkfrei am 11. Sep. 2024 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2221
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 11. Sep. 2024 18:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für darkfrei 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von darkfrei:
Wie kann ich es direkt mit eine lisp-Kommande in Annotation finden und ersetzen?

Das geht (fast) alles mit Standard LISP

Mit

Code:
(with-open-file (input-stream csl-file :direction :input :external-format external-format)
(loop
(setf input-line (read-line input-stream nil 'eof))
(when (eq input-line 'eof)
(return)) ;exit loop
....
liest du das MI file Zeilen weise

Mit

Code:
(with-open-file (out-stream filename :direction :output
:if-exists :supersede
:if-does-not-exist :create
:external-format :utf8)
(format out-stream "~A~%" the line)
....
schreibst du das MI file Zeilen weise

Beide kannst du kombinieren, also immer nur Zeile lesen und dann Zeile schreiben.

Dazwischen kommt die String Ersetzung, bzw ZEILEN Ersetzung.

Da gibt es in common LISP auch eine Hashmap, was sich dann bei grossen Wörterbüchern lohnt.

Wörterbuch lesen, wie oben, das MI file und dann die Hashmap füllen. Stichworte:

Code:
; create
(setq lexicon (make-hash-table :test #'equal :size 1024))
;; fill:
(setf (gethash german-string lexicon) english-string)

;; read
(Setq new-english-string (gethash german-string lexicon))
(if new-english-string
(format out-stream "~A~%" new-english-string)
(format out-stream "~A~%" german-string)
)


Alle 3 kombinieren und das funktioniert für ein unkomprimiertes MI file!


Fürs entzippen: modeling IKIT funktion (sd-sys-exec command)

Code:
(sd-sys-exec "unzip.exe x -d whereeverTEMPDIR c:/dir/packed.mi")

ein unzip.exe findest du in $SDINSTALLDIR/bin64 das kannst nutzen.

An das Verzeichnis kommst Du mit

Code:
(pprint (getf (oli::sd-inq-version) :base-directory))

Ob es eine gezipptes MI file ist, kannst Du am Magic Byte erkennen (siehe https://en.wikipedia.org/wiki/List_of_file_signatures ). ZIP files fangen mit "PK.." an .. Also erste Zeile lesen und diese mit den in der URL genannten Varianten die ersten 4 char checken. Wenn's passt den (sd-sys-exec "unzip.exe...") aufrufen.

Jetzt musst du die Mosaik Steinchen nur noch bischen geschickt kombinieren! 😏

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

darkfrei
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von darkfrei an!   Senden Sie eine Private Message an darkfrei  Schreiben Sie einen Gästebucheintrag für darkfrei

Beiträge: 12
Registriert: 04.11.2015

PTC Creo Elements/Direct Modeling x64 Rev. 19.0 (2015)
Windows 7 Pro x64 SP1 (2009)
Intel Xeon W3565 (2009)

erstellt am: 16. Sep. 2024 11:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von der_Wolfgang:

Jetzt musst du die Mosaik Steinchen nur noch bischen geschickt kombinieren! 😏


Vielen Dank! Es sieht genau so aus, wie mein Lua-Skript.   

Ist es möglich direkt in der Annotation mit einem "inq" (oder "sd-am-inq") ersetzen?
Bei ME10 Skripts gibt es viele INQ-Nummern, aber die Liste und die Beispiele sind nicht vorhanden.

Hier habe ich es leider nicht gefunden:
https://support.ptc.com/help/creo_elements_direct/r20.5.0.0/advanced_documentation/integration_kit/reference/annotation/2d_object_inquiries.html


[Diese Nachricht wurde von darkfrei am 16. Sep. 2024 editiert.]

Ok, es soll hier sein:
https://support.ptc.com/help/creo_elements_direct/r20.5.0.0/advanced_documentation/integration_kit/reference/annotation/text_inquiries.html#sd-am-inq-text-strings:~:text=SD%2DAM%2DINQ%2DTEXT%2DSTRINGS%C2%A0%C2%A0%5Bfunction%5D

Oder hier:
https://support.ptc.com/help/creo_elements_direct/r20.5.0.0/advanced_documentation/integration_kit/reference/annotation/info_attributes.html

[Diese Nachricht wurde von darkfrei am 16. Sep. 2024 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2221
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 16. Sep. 2024 16:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für darkfrei 10 Unities + Antwort hilfreich

ich weiss immer weniger was du vorhast.

Das LUA Script in common lisp umwandenl sollte nun klar sein. Siehe vorheriges Posting


Mit den Annotation IKIT Funktionen geht es auch:

● get_selection :indrawing  mit focus *sd-anno-text-seltype*  -> bekommst du alle Texte als Sel-items
●● mit sd-am-inq-text-strings  kommst du an den Inhalt
●● mit am_edit_text .. würdest du den Inhalt ändern
●  selbiges ggf. zusätzlich für alle Bemassungstexte

- das wird aber langsam.

Mit einem ME Macro kannst du das selbe machen. Statt einer Hashmap nimmst du dann eine ME10LTAB für das Wörterbuch.

Wenn der Makro (keine parameter braucht und) nicht interaktive wird (kannst du ja im ME10 testen) kann Du den in Annotation Modul einfach aufrufen:

Code:
(sd-execte-annotator-command :cmd "input 'c:/wo-auch-immer/drawing.translate.m'") ; at least once!
(sd-execte-annotator-command :cmd "Drawing_translate_full")
Reiner Macro Code ist ziemlich schnell. Und es wird nur eine einzige Kommunikation zwischen den beiden Processen SolidDesigner und Annotator.exe benötigt.

Du hast jetzt 4 Ansätze ..  Entscheide dich mal für einen!

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Moderator
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2221
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 16. Sep. 2024 16:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für darkfrei 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von darkfrei:
Bei ME10 Skripts gibt es viele INQ-Nummern, aber die Liste und die Beispiele sind nicht vorhanden.

Dokumentation ist vorhanden: siehe

file:///C:/Program%20Files/PTC/Creo%20Elements/Direct%20Drafting%2020.6.1.0/Help/en/ced_drafting/baggage/writemac.pdf

file:///C:/Program%20Files/PTC/Creo%20Elements/Direct%20Drafting%2020.6.1.0/locale/en/me_help/me_frame.htm

file:///C:/Program%20Files/PTC/Creo%20Elements/Direct%20Drafting%2020.6.1.0/locale/en/me_help/me_helpi.htm#INQ_ELEM_TEXT

Ausserdem Macro Quellcode

file:///C:/Program%20Files/PTC/Creo%20Elements/Direct%20Modelin%2020.6.1.0/Annotation/win/am_util.m
bzw alle *.m Dateien in diesem Verzeichnis

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz