| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Text in DWG speichern (1788 mal gelesen)
|
Theo37 Mitglied Techniker
 
 Beiträge: 426 Registriert: 08.10.2008 ACAD 2024 WIN 7 64bit Intel Xenon CPU E5-1620 3.60GHz 16GB RAM
|
erstellt am: 20. Jul. 2011 15:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo an Alle, ich möchte eine etwas längere Liste von Strings in DWG-Dateien speichern. Es handelt sich um 40 einzelene Strings. Diese sollten in der DWG gespeichert sein also nicht in einer extra txt-Datei. Ich hab schon mit den Systemvariablen "Users*" probiert. Auch Benutzerspezifische Eigenschaften habe ich schon angelegt. Aber das ist alles nicht so ideal. Jetzt sind mir XDaten und die DXF-Refernz eingefallen. Kann ich z.B. im DXF-Code des Modellbereichs irgendwo meine 40 Strings ablegen? oder gibt es irgendwie noch ne andere Möglichkeit an die ich noch gar nicht gedacht habe. Die Strings sollten für den Zeichner nicht sichtbar sein, im Programm leicht abrufbar sein. Und mit der zeichnung gespeichert werden. Danke, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 20. Jul. 2011 15:32 <-- editieren / zitieren -->
Hi, XDATA ist bei großen Datenmengen problematisch (begrenzt auf 16kB je Objekt), insbesondere dann, wenn vielleicht auch noch andere Applikationen auch versuchen EED's zu schreiben. Ich würde zuerst nachdenken, was passieren soll, wenn DU diese Zeichnung in eine andere einfügen willst (sollen die Daten dann mitwandern, oder ignoriert werden, oder .... Und speichern könntest Du auch in ExtendedDictionaries, die Du entweder am Block des Modelspace dranhängst oder am Layer 0, ... - alfred - ------------------ www.hollaus.at |
Theo37 Mitglied Techniker
 
 Beiträge: 426 Registriert: 08.10.2008 ACAD 2024 WIN 7 64bit Intel Xenon CPU E5-1620 3.60GHz 16GB RAM
|
erstellt am: 20. Jul. 2011 15:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, beim Einfügen in eine andere Datei, könnten die Daten ignoriert werden. Hast Du für "ExtendedDictionaries" ein leicht verständliches Beispiel? das würde mir viel helfen? Danke Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 20. Jul. 2011 15:54 <-- editieren / zitieren -->
Hi, Suche nach 'ExtensionDictionary' und/oder 'CreateExtensionDictionary' und/oder 'HasExtensionDictionary', da lässt sich schon einiges zu finden. Z.B. >>>dieses<<< oder >>>jenes<<< - alfred - ------------------ www.hollaus.at |
Theo37 Mitglied Techniker
 
 Beiträge: 426 Registriert: 08.10.2008 ACAD 2024 WIN 7 64bit Intel Xenon CPU E5-1620 3.60GHz 16GB RAM
|
erstellt am: 21. Jul. 2011 16:21 <-- editieren / zitieren --> Unities abgeben:         
Danke, das hilft mir viel. Wenn ich das richtig verstehe kann ich in jedem XRecord über 300 Strings speichern. Und XRecords kann ich ohne Ende anlegen. Das löst meine Speicherprobleme nachhaltig. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
 
 Beiträge: 426 Registriert: 08.10.2008 ACAD 2024 WIN 7 64bit Intel Xenon CPU E5-1620 3.60GHz 16GB RAM
|
erstellt am: 22. Jul. 2011 09:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, ist doch nicht so einfach wie ich dachte. Schau Dir das unten mal an. Bei i=10 flieg ich ab. Aber ich verstehe nicht wieso. Laut der ACAD-Hilfe soll ich die 5 und die 105 nicht verwenden. Welche Werte darf DXF-Code annehmen, damit ich Strings reinlegen kann? Danke Theo <Autodesk.AutoCAD.Runtime.CommandMethod("Dic")> _ Sub Dic() Dim i As Integer Dim MyDic As AcadDictionary Dim MyXrec As AcadXRecord Dim dxfCode(0) As Short Dim dxfData(0) As Object MyDic = ThisDrawing.Dictionaries.Add("Neb-Bezeichnung") MyXrec = MyDic.AddXRecord("Matrix") For i = 0 To 50 dxfCode(0) = i dxfData(0) = "Probe Text" & i MyXrec.SetXRecordData(dxfCode, dxfData) Next i
End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 22. Jul. 2011 09:59 <-- editieren / zitieren -->
Hi, Du kannst nicht einfach für jeden DXF-Code einen String schreiben, und wenn Du mit dem Zähler bei 10 gelandet bist, dann sagt die >>>DXF-Referenz<<<:
0-9 String (with the introduction of extended symbol names in AutoCAD 2000, the 255-character limit has been increased to 2049 single-byte characters not including the newline at the end of the line) 10-39 Double precision 3D point value 40-59 Double-precision floating-point value Also versuchst Du, einen String zu schreiben in ein Feld, das den Datentyp '3D-Punkt' verlangt. - alfred - ------------------ www.hollaus.at |