Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Block einfügen und Auflösen

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:  Block einfügen und Auflösen (1500 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: 14. Feb. 2012 17:02    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 hab mal wieder Probleme mit dem Auflösen von Blöcken.
Ich möchte einen Block ins Activelayout der Zeichnung einfügen. Dieser sollte aber gleich aufgelöst werden.
Mein Code unten, führt zum Absturz von ACAD. Weiß jemand was ich falsch mache? Oder hat jemand ein gutes Beispiel zum Thema.

Danke Theo

Try
            Using acTrans As Transaction = DocDatabase.TransactionManager.StartTransaction()
                Dim Aktbereich As BlockTableRecord
                Dim Splitter As DBObjectCollection
                Aktbereich = acTrans.GetObject(DocDatabase.CurrentSpaceId, OpenMode.ForWrite)
                Using MyBlock As BlockReference = New BlockReference(New Geometry.Point3d(Einfügepunkt(0), Einfügepunkt(1), Einfügepunkt(2)), NKBlockdef)
                    MyBlock.ScaleFactors = New Geometry.Scale3d(Scale, Scale, Scale)
                    MyBlock.Explode(Splitter)
                End Using
                For Each MyEnty As Entity In Splitter
                    Aktbereich.AppendEntity(MyEnty)
                    acTrans.AddNewlyCreatedDBObject(MyEnty, True)
                Next
                acTrans.Commit()
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

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: 14. Feb. 2012 19:37    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

Auf den ersten Blick: Du öffnest zwar die Objecte, schließt diese aber nicht wieder. Das kann Ursache sein.

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: 15. Feb. 2012 08:51    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,

ich glaub mein Fehler war:
                Splitter = New DBObjectCollection
Das fehlte. Da bin ich mir nie sicher ob ich NEW brauche oder nicht.
Mit dem Schließen der Objekte? welche Objekte muß ich schließen?
reicht: Aktbereich.Close() ?

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: 15. Feb. 2012 17: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

... alle Objekte, die du mit Transaction.Getobjeckt oder Objecct.Open öffnest, solltest du auch wieder schließen mit Object.Close(). Ein zum schreiben geöffnetes und nicht geschlossenes Objekt, kann im Programm selbst zu Problemen führen, zum bsp. wenn du das Object an ganz anderer Stelle wider öffnen wolltest. Es kann aber auch dazu führen, dass nachdem dein Tool durchgelaufen ist, nicht mhr gespeichert werden kann oder du keine Objekte mehr hinzufügen kannst. Das kann zwar mit einer Zeichnungsprüfung behoben werden, ist aber lästig für die Anwender dr Befehle.

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

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