Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Erneutes Öffnen der DWG-Datei

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
  
PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Erneutes Öffnen der DWG-Datei (470 / mal gelesen)
kadirozen
Mitglied
Projektleiter


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

Beiträge: 30
Registriert: 13.07.2023

AutoCAD LT 2024

erstellt am: 06. Nov. 2023 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

Guten Tag zusammen.

Ich habe einen LISP-Code, der sein eigenes Ding macht, aber wenn er auf einen Fehler stößt, muss er das Dokument schließen, ohne es zu speichern und neu zu öffnen. (Zeichnung und Linien werden skaliert verschoben, ausgerichtet und für die CNC-Maschine gespiegelt, aber die ursprüngliche Zeichnung sollte intakt bleiben, ohne jegliche Änderung. Daher Schließen ohne zu speichern.

Leider redo-undo funktioniert nicht wegen ALIGN Befehl und so. vla-endUndoMark Methode funktioniert nicht.

Mein Problem ist, dass ich keine Möglichkeit finde, das Öffnen der Datei innerhalb der LISP-Routine zu aktivieren, da beim Schließen der Datei (Befehl _.close _y) auch der LISP beendet wird.

Was wäre möglich, um dies zu überwinden?


Mein Ziel ist es, den Benutzer zu benachrichtigen, wenn ein Fehler auftritt, und die DWG zu schließen, ohne sie zu speichern, und sie erneut zu öffnen, um es dieses Mal richtig zu machen.

Besten Dank

------------------
kadir

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

cadffm
Moderator
良い精神




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

Beiträge: 22298
Registriert: 03.06.2002

Alles

erstellt am: 06. Nov. 2023 12:28    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 kadirozen 10 Unities + Antwort hilfreich

Hi,

>"wegen ALIGN Befehl und so"
Geht das konkreter? Grundsätzlich sollte das schon funktionieren eine Undo-Marke zu setzen,
dann irgendetwas, auch Align, durchzuführen und Undo-Rück zu verwenden.

Abbruch:
Der Benutzer hat die Datei geöffnet und startet dann auch das Tool darin?

Dein Lispcode ist nur in dem Dokument geladen in dem ihn geladen hast,
das aktuelle Dokument schließen stoppt dann alles.

Kennst du das SingleDocumentInterface - SDI ?
Wenn im SDI gearbeitet wird, dann könntest du in eine neue Datei wechseln (ohne speichern)
und wieder zurück in die alte Datei, der Code läuft komplett weiter - LISPINIT entsprechend gesetzt.
Aber damit man das SDI aktivieren kann, darf nur eine Datei offen sein.

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

kadirozen
Mitglied
Projektleiter


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

Beiträge: 30
Registriert: 13.07.2023

AutoCAD LT 2024

erstellt am: 06. Nov. 2023 13:07    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

Der Code, auf den ich mich beziehe, ist ähnlich wie der in den folgenden Threads. Sie haben auch einige Kommentare zu diesem Thema abgegeben.

Und hier ist ein Zitat aus dem zweiten Thread.

Das Problem war, dass ich keine Rückgängig-Markierung machen kann, da der Befehl Ausrichten während des Prozesses eine eigene Rückgängig-Markierung erstellt.

https://ww3.cad.de/foren/ubb/Forum145/HTML/004930.shtml

https://ww3.cad.de/foren/ubb/Forum145/HTML/001769.shtml

Zitat:
Original erstellt von CAD-Huebner:
Ich habs mal mit AutoCAD 2007 getestet. Für mich stellt es sich so dar, als wenn _ALIGN selbst ein _UNDO _g aufruft und daher eine schon bestehende geöffnete _UNDO _group Gruppierung automatisch abschließt.

Also _UNDO _G
3 x _LINE
_ALIGN (die 3 Linien)
_UNDO _E

_u (_Align rückgängig = Gruppe)
_u (nichts passiert = leere Gruppe)
_u ( 3 Linien rückgängig = Gruppe)



Deshalb dachte ich, es wäre besser, die Zeichnung zu schließen und wieder zu öffnen.

Alle AutoLISP-Programme, die wir verwenden, werden direkt in jede Zeichnung geladen.

SDI wäre in unserem Fall nicht geeignet, da wir mehrere Zeichnungen gleichzeitig öffnen und zeichnen müssen.

------------------
Kadir

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

cadffm
Moderator
良い精神




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

Beiträge: 22298
Registriert: 03.06.2002

Alles

erstellt am: 06. Nov. 2023 13: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 Nur für kadirozen 10 Unities + Antwort hilfreich

Ich spring jetzt nicht in den anderen Thread, da ginng es imo darum eine UndoGruppe zu bilden(oder doch nicht? egal),
aber einfach nur eine Markierung setzen und zu dieser zurückspringen (im Fehlerfall),
das sollte gehen.

(progn(command "_.UNDO" "_m")(command "_.LINE" "0,0" "100,40" "")(command "_.circle" "30,20" "5")(command "_.Rectang" "0,0" "100,40")(command "_.ALIGN" "_l" "" "0,0" "0,0" "100,40" "90,50" "" "_n")(command "_.Zoom" "-5,-5" "105,70"))

lustige Objekte ansehen und dann
_undo _back

Wenn SDI nicht in Frage kommt, dann wird nichts aus deinem schließen/öffnen.

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