Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Speichern externer Database

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 Autodesk Produkte
Autor Thema:  Speichern externer Database (964 mal gelesen)
Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 19. Jun. 2015 11:33    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 an Alle,

ich habe mir ein kleines Programm geschrieben, mit dem ich die Attribute in einer externen, das heißt nicht im Editor geöffneten Zeichnung, bearbeiten kann. Funktioniert super. Nachdem ich die Sache jetzt schon einige Zeit verwendet habe, ist mir jetzt ein großer Fehler aufgefallen. Und zwar kommt es vor, dass der Text von Tabellen riesig wird und damit die ganze Tabelle unleserlich wird. Dabei ist es egal ob ich wirklich eine Änderung vorgenommen habe oder ob ich einfach nur geöffnet und wieder gespeichert habe. Ich habe die betreffenden Zeilen aus meinen Code unten eingefügt.
Weiß jemand was falsch ist? Oder was ich grundsätzlich besser machen kann?
Danke.


ExDataBase = New Autodesk.AutoCAD.DatabaseServices.Database
        Try
            ExDataBase.ReadDwgFile(FileName, IO.FileShare.Read, False, "")
        Catch
            Fehlerzeilen.Add("Fehler beim Öffnen der Datei " & FileName)
        End Try

        Using acTrans As Transaction = ExDataBase.TransactionManager.StartTransaction()
            Try
                HostApplicationServices.WorkingDatabase = ExDataBase
                For Each Tempref In ÄnderReferenzen
                    If Tempref.Dateiname = FileName Then
                        For a = 0 To Tempref.AttriHandle.Length - 1
                            Try
                                MyAttriRef = acTrans.GetObject(TempID, OpenMode.ForWrite)
                                MyAttriRef.TextString = Tempref.Attritext(a)
                            Catch
                            End Try
                        Next
                    End If
                Next
                acTrans.Commit()
            Catch
                Fehlerzeilen.Add("Fehler beim Schreiben in Datei " & FileName)
            End Try
        End Using
        HostApplicationServices.WorkingDatabase = myDB
        ExDataBase.CloseInput(True)
        ExDataBase.SaveAs(FileName, DwgVersion.Current)

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 19. Jun. 2015 11:42    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 Theo37 10 Unities + Antwort hilfreich

Hallo Theo,

das Problem scheint ja bei den Tabellen zu liegen .. davon ist im Code nichts zu sehen. keine Ahnung, ob das überhaupt etwas mit deinem Programm zu tun hat oder auch nicht. Vielleicht sind die Attributwerte, die du schreibst in die Tabellen referenziert und einfach zu lang -- das hat dann aber nichts mit den hier geposteten Codezeilen zu tun.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 19. Jun. 2015 11:42    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


TabellenachNet-Speicherung.jpg


TabellevorNet-Speicherung.jpg

 
Hier noch zwei Bilder auf denen man sieht was ich meine.

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 19. Jun. 2015 11:47    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 Theo37 10 Unities + Antwort hilfreich

... da ändert sich der Tabellenstil und/oder auch Textstil .. davon ist in deinem Code nichts zu sehen - du musst an anderer Stelle irgendetwas mit Tabellen machen oder anderes Zeugs importieren.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 19. Jun. 2015 11:48    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 Holger,

das stimmt, diese Tabellen  haben mit dem was ich ändere nichts zu tun. Auch wenn ich an der Datei gar nichts ändere sondern nur öffne und dann speichere, werden die Tabellen zerstört.(Aber auch nicht immer)
Ich glaube daß, es etwas mit dem Öffnen oder dem Speichern der Datei zu tun hat. also mit READDWGFILE, CLOSEINPUT, oder SAVEAS.

Gruß, Theo

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 19. Jun. 2015 11:52    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 Theo37 10 Unities + Antwort hilfreich

... hast du es mal händisch getestet? Was passiert dann mit der Tabelle?
Das ReadDwgFile ... hat damit ganz sicher nichts zu tun - ist mir zumindest noch nicht unter gekommen.

Es lohnt auch immer mal ein _.Audit über die Zeichnungen zu schicken, die sich seltsam verhalten.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 19. Jun. 2015 13: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

Hallo Holger,
wenn ich normal speichere also in acad dann passiert mit der Tabelle nichts.(oder was meinst Du mit händisch)

Audit findet keine Fehler. Bringt keine Änderung

Wenn ich in einer Datei in der die Tabelle durch das .net Speichern zerschoßen wurde, die Tabelle wieder richtig mache, diese mit ACAD  speichere und dann erneut mit .net speichere, dann passiert der Fehler nicht noch einmal sondern dann bleibt die Tabelle wie erstellt.


Gruß, Theo

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 19. Jun. 2015 16:05    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 Theo37 10 Unities + Antwort hilfreich

Ich würde dieses mal rausnehmen:
  HostApplicationServices.WorkingDatabase = ExDataBase
Es wird zwar immer wieder verwendet, um Autodesk.Editor-Funktionailität an Zeichnungen anzuwenden, die aber nicht im Editor geladen sind (sondern nur über Database.ReadDWG), aber dann kann es auch sein, dass der Editor sich eben einmischt. Ich könnte mir z.B. vorstellen, dass dann Tabellen aktualisiert werden in bezug auf Maßstab/Annotation oder auch wenn diese Tabellen über Datenextraktion Verknüpfungen aufweisen u.v.m.

------------------


www.cars4fun.at

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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 22. Jun. 2015 14:19    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 euch Beiden,

das "WorkingDatabase" bringt keine Verbesserung. ich lasse es jetzt weg. Es scheint mir keinen Sinn zu haben. Der Fehler mit den Tabellen tritt wirklich nur bei einer Sorte Dateien auf und auch dann nur einmal. Ich richte diese jetzt einfach händisch wieder hin und ignoriere die Sache dann. Hatte nur die Befürchtung daß ich einen Fehler beim öffnen oder Speichern der Datei mache, das wäre fatal, weil ich diese Funktionen doch häufig verwende.

Danke, Theo

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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 22. Jun. 2015 14:22    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

Noch was ist mir eingefallen. In der Hilfe steht bei ReadDwgFile: "This function is obsolete and will be removed in a future release."
Wie ist das zu verstehen? Gibt's dafür schon ne Alternative?
Weiß da jemand was?

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)2023 CAD.de | Impressum | Datenschutz