| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Hintergründe zu DWGCodepage (2300 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 18. Apr. 2007 14:29 <-- editieren / zitieren --> Unities abgeben:
Ich hatte vor einiger Zeit schon damit angefangen und muss nun weitermachen: uralte Zeichnungen (Version 11, 12 und älter) in neue Versionen hochziehen. Zum Austauschen von Buchstaben habe ich schon ein Programm, aber mir geht es um die Sysvar "DWGCODEPAGE". Da habe ich noch nicht durchschaut, welche tiefe Bedeutung sie hat, was beim Speichern in Acad 2006 damit passiert, ob man sie "alt" lassen kann oder umbauen muss / kann / soll (siehe www.xanadu.cz) ..... Hat jemand tiefere Kenntnisse, Links zu Hinweisen etc.? Danke Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 18. Apr. 2007 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Also die Problematik und auch versch. Lösungen sind doch in diesem Beitrag schon mal genannt worden (den kennst du doch auch). http://ww3.cad.de/foren/ubb/Forum54/HTML/009395.shtml#000019 Am besten man öffnent und speichert die Dateien mit AutoCAD 2002. Bei den Zeichnungen vor AutoCAD 12, die DWGCODEPAGE noch nicht kennen, darf man ja davon ausgehen, dass sie mit Codepage DOS 850 erstellt wurden, dann kann man sie ensprechend mit DBTRANS auf Ansi 1252 bringen. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 18. Apr. 2007 14:54 <-- editieren / zitieren --> Unities abgeben:
In der Sache fehlt mir der (Nicht?)Zusammenhang von Buchstabentausch und Systemeinstellungswechsel. Das sind anscheinend zwei Paar Schuhe, die mir nicht klar ist. Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 18. Apr. 2007 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Ich schreibs mal so auf, wie ich es erlebt habe: Mit Einführung von AutoCAD 12 gab es erstmals neben der DOS Version auch eine Windows Version. Da aber Windows und DOS unterschiedliche Codetabellen besitzen, wurde also bei der Texteingabe unter AuoCAD DOS bei Umlauten ein anderer Bytewert für das Zeicheb in der DWG Datei gespeichert, als bei der Windows Version. Damit man die Zeichnungen abwechselnd unter den beiden Betriebssystemen /AutoCAD Versionen öffnen konnte, gab es 2 Systemvariablen: SYSCODEPAGE war die Codepage der AutoCAD Version, DWGCODEPAGE war die Codepage der DWG Zeichnung. Beim Öffnen einer Zeichnung mit DWGCODEPAGE "DOS 850" in einer AutoCAD (Windows) Version mit SYSCODEPAGE "ANSI 1252" wurden die betroffenen Dateien on the Fly die Sonderzeichen konvertiert. Das klappte bis AutoCAD 2002 unverändert, erst ab 2004 wird die DWGCODEPAGE gar nicht mehr ausgewertet. Nun gibts aber auch noch ältere AutoCAD-Zeichnungen < DWG 12, da gab es noch nicht einmal die Variable DWGCODEPAGE. Diese steht dann auf "undefined" und AutoCAD 12 - 2002 kann die Sonderzeichen nicht automatisch konvertieren, sondern das muss manuell mit DBTRANS gemacht werden. ------------------ Mit freundlichem Gruß
Udo Hübner [Diese Nachricht wurde von CAD-Huebner am 18. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 18. Apr. 2007 15:40 <-- editieren / zitieren --> Unities abgeben:
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 21. Apr. 2007 14:32 <-- editieren / zitieren --> Unities abgeben:
Muss ich doch nachfragen (weil eigener Test derzeit nicht möglich: Zitat: Original erstellt von CAD-Huebner: ... Beim Öffnen einer Zeichnung mit DWGCODEPAGE "DOS 850" in einer AutoCAD (Windows) Version mit SYSCODEPAGE "ANSI 1252" wurden die betroffenen Dateien on the Fly die Sonderzeichen konvertiert. Das klappte bis AutoCAD 2002 unverändert, ....
Wurde beim Öffnen auch die DWGCODEPAGE automatisch umgedreht? Und beim Speichern? Wurde da automatisch je nach Speicherversion (12 / 2002) die richtige Kombination "Acad 12 / DOS 850 / alte Zeichenzuweisung" bzw. "Acad 2002 / Ansi 1252 / neue Zeichenzuweisung" gespeichert? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 22. Apr. 2007 21:05 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hier mal ein Auszug aus der Online Hilfe von AutoCAD R12 for Windows (hab im Moment nur die engl. Version griffbereit: Zitat: AutoCAD Commands & System VariablesDWGCODEPAGE DWGCODEPAGE is a read-only system variable set to the system code page when a new drawing is created. Otherwise AutoCAD doesn't maintain it. The value stored is a real number and is saved in the drawing file header. It should reflect the code page of the drawing and can be set to "undefined" or any of the values below. Codes ascii (ASCII 7-bit) dos437 (United States) dos850 (Multilingual) dos852 (Slavic) dos855 (Cyrillic) dos857 dos860 (Portugal) dos861 dos863 (Canada-French) dos864 (Arabic) dos865 (Norway) dos869 (Modern Greek) dos932 iso8859-1 (Latin I) iso8859-2 (Latin II) iso8859-3 iso8859-4 iso8859-5 iso8859-6 iso8859-7 iso8859-8 iso8859-9 mac-roman (Macintosh Roman) See also: DBTRANS DDBTRANS
Zitat: DBTRANS -- Drawing Database Text Format TranslatorThe DBTRANS command allows translation between defined formats of textual data in drawings. Format: DBTRANS Source format (? or name) <default source code page>: Target format (? or name) <default target code page>: The <default source code page> and <default target code page> are set to the values held in the DWGCODEPAGE and SYSCODEPAGE system variables, respectively. If DWGCODEPAGE is set to "undefined", no default source code page is given. Enter ? to display a list of the available code pages, defined in the default .cpm file. DBTRANS only reads tables from the default dbtrans.cpm file, and does not allow an alternate file to be loaded. You can change it with the Load File option of the DDBTRANS command. Note: DBTRANS does not allow selective translation of drawing and application text data. The translation will be always applied to both these data types. See also: DBTRANS: Automatic Translation DBTRANS: Code Page Map (.cpm) File Format Chapter 3 of Using AutoCAD for Windows
Zitat: DBTRANS: Automatic TranslationAutoCAD can translate drawings automatically when they are loaded with the following AutoLISP routine. Please note that this routine is not foolproof, and that the AutoCAD system variable DWGCODEPAGE also registers incorrect translations, should they be saved. ; Code: DBTRANS sample AutoLISP routine. ; Installing this Lisp file causes DBTRANS to be invoked and ; automatically performs a code page translation, when needed, on ; R12 drawings. ; ; When R11 drawings are loaded, the DDBTRANS dialogue will instead ; be displayed which allows a user-specified translation to be ; applied to the drawing.(defun S::STARTUP () (cond ((= (getvar "DWGCODEPAGE") "undefined") (c:ddbtrans)) ((not (= (getvar "DWGCODEPAGE") (getvar "SYSCODEPAGE"))) (c:dbtrans (getvar "DWGCODEPAGE") (getvar "SYSCODEPAGE"))) (t nil) )
)
[EDIT] Bild von DDBTRANS und AutoCAD R12W ergänzt. ------------------ Mit freundlichem Gruß Udo Hübner [Diese Nachricht wurde von CAD-Huebner am 22. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |