Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Probleme mit LSP

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:  Probleme mit LSP (1787 mal gelesen)
andreasmax
Mitglied


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

Beiträge: 6
Registriert: 19.02.2007

WinXP SP2, AutoCAd 2006 SP1,
1GB RAM

erstellt am: 19. Feb. 2007 01:43    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

Da ich hier neu bin ein HALLO an alle.
Jetzt zu meinem Problem. Habe nach einer LSP Datei gesucht die mir bestimmte Layer erstellt beim start von z.B. "*TEXT" oder "*ARC".
Habe hier  auch was gefunden. So wie es aber jetzt ist macht es ein Problem .Habe ich die Zeichnung ganz normal gespeichrt über Datei, Speichern unter usw. und will danach AutoCad schliessen bekomme ich immer die Meldung "Änderungen in C:\Dokumente.....dwg. speichern?" Wird die LSP Datei nicht geladen kann ich CAD ganz normal schliessen. Kann mir bitte jemand sagen wie muß es aussehen damit ich die Meldung nicht mehr bekomme. Die LSP macht sonst das was ich brauche nur beim schliessen von Cad gibt es die Warnung. Kann es vielleicht an einer anderen LSP liegen die geladen ist?
Alles auf WinXP SP2 mit AutoCad 2006 SP1.

Code:
-----
(vl-load-com)
(vlr-remove-all :vlr-editor-reactor)
(vlr-editor-reactor nil
  '((:vlr-commandWillStart . MyCommandWillStart)
    (:vlr-commandEnded . MyCommandEnded)
    (:vlr-commandCancelled . MyCommandEnded)
    )
)

(defun MyCommandWillStart (reactor value / )
  (setq value (car value))
  (cond ((wcmatch value "*ARC")  (setlayer "Bogenlayer" 7))
        ((= value "CIRCLE") (setlayer "KREISLAYER"  7))
((wcmatch value "*TEXT")  (setlayer "TEXTLAYER"  7))
  )
)
(defun MyCommandEnded (reactor value / )
  (setvar "CLAYER" "0")
)

(defun setlayer ( layer farbe / )
  (if (not (tblsearch "LAYER" layer))
    (entmake
      (list
      (cons 0 "LAYER")
      (cons 100 "AcDbSymbolTableRecord")
      (cons 100 "AcDbLayerTableRecord")
      (cons 2 layer)
      (cons 70  0)
      (cons 62  farbe)
      )
    )
  )
  (setvar "clayer" layer)
)

Bernd

[Diese Nachricht wurde von andreasmax am 19. Feb. 2007 editiert.]

[Diese Nachricht wurde von andreasmax am 19. Feb. 2007 editiert.]

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Feb. 2007 08:13    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 andreasmax 10 Unities + Antwort hilfreich

Ich vermute mal ungetestet das auf grund der Tatsache, das am ende eines jeden Befehl (setvar "CLAYER" "0") gesetzt wird, und dadurch eine Änderung an der Zeichnung vorgenommen wird. Das merkt ler End oder quit befehl natürlich und stellt die Frage nach sichern.

Die Func MyCommandEnded  musst du ändern

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

andreasmax
Mitglied


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

Beiträge: 6
Registriert: 19.02.2007

WinXP SP2, AutoCAd 2006 SP1,
1GB RAM

erstellt am: 19. Feb. 2007 12:31    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

Zuerst danke für den Tip.
Muss eingestehen dass ich nicht weiß wie ich es ändern soll.
Habe versucht es zu verstehen, aber dafür reichen meine Kenntnise nicht aus.

Bernd

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 19. Feb. 2007 12: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 Nur für andreasmax 10 Unities + Antwort hilfreich

(ungestestet) aber mach doch bei Command-ende auch bloß was bei "ARC"/"CIRCLE" oder "TEXT" ...

also ähnlich wie  MyCommandWillStart


------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

andreasmax
Mitglied


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

Beiträge: 6
Registriert: 19.02.2007

WinXP SP2, AutoCAd 2006 SP1,
1GB RAM

erstellt am: 19. Feb. 2007 13:34    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

Auch an CADmium danke für die Mühe.
Also ich glaube dass ich den Tip missverstanden habe (Sorry) und so wie es jetzt ist geht es nicht.


Code:
-----
(vl-load-com)
(vlr-remove-all :vlr-editor-reactor)
(vlr-editor-reactor nil
  '((:vlr-commandWillStart . MyCommandWillStart)
    (:vlr-commandEnded . MyCommandEnded)
    (:vlr-commandCancelled . MyCommandEnded)
    )
)

(defun MyCommandWillStart (reactor value / )
  (setq value (car value))
  (cond ((wcmatch value "*ARC")  (setlayer "Bogenlayer" 7))
        ((= value "CIRCLE") (setlayer "KREISLAYER"  7))
((wcmatch value "*TEXT")  (setlayer "TEXTLAYER"  7))
  )
)
(defun MyCommandEnded (reactor value / )
  (cond ((wcmatch value "*ARC")  (setlayer "Bogenlayer" 7))
        ((= value "CIRCLE") (setlayer "KREISLAYER"  7))
((wcmatch value "*TEXT")  (setlayer "TEXTLAYER"  7))
)

(defun setlayer ( layer farbe / )
  (if (not (tblsearch "LAYER" layer))
    (entmake
      (list
      (cons 0 "LAYER")
      (cons 100 "AcDbSymbolTableRecord")
      (cons 100 "AcDbLayerTableRecord")
      (cons 2 layer)
      (cons 70  0)
      (cons 62  farbe)
      )
    )
  )
  (setvar "clayer" layer)
)

Bernd

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Feb. 2007 14:08    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 andreasmax 10 Unities + Antwort hilfreich

Du bewegst dich mit den Reaktoren auf ziemlich hohem Know Hoff
Solltest du nicht wissen, was du tust, bzw. was eigentlich diese Programmzeilen tun, rate ich dir dich ersteinmal mir diesem Thema vertraut zu machen.
Es kann nicht Sinn und Zweck dieses Forums sein, den Usern fertig durchgekaute Programmlösungen vorzusetzen, sondern es soll hier Hilfestellung gegeben werden.

Wenn hier eine mach-mir-mal Mentalität gefordert werden sollte, brauchen sich die Leute auch nicht zu Wundern, wenn mal eines Tages hier Programmcode auftaucht, der die gesamte Zeichnung zerstört, oder noch anderes macht.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

andreasmax
Mitglied


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

Beiträge: 6
Registriert: 19.02.2007

WinXP SP2, AutoCAd 2006 SP1,
1GB RAM

erstellt am: 19. Feb. 2007 14: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

Ich kann die Kritik verstehen und sehe es nicht so eng.
Ich habe das Thema hier nicht 5x geöffnet sondern nur gantwortet und hätte ich keine Antwort bekommen so wäre es auch zu ende. Man sollte vielleicht auch mal abwarten ob jemand der keine Antwort bekommt es auch richtig interpretieren kann und nicht gleich so zu reagieren. Sicher ist es auch die Aufgabe von einem Moderator so etwas zu machen, aber ich habe das Thema nicht versucht hier x mal zu starten. Es ist nicht meine Art, aber ich konnte mir diesmal nicht selbst helfen und habe eben versucht die Hilfe woanders zu finden. Bitte das hier nicht missverstehen, ich kann mir denken dass sowas hier vielleicht öfter passiert und man es satt hat. Fragen sollten schon erlaubt sein und ein Forum ist für mich die Platform dafür.
Bitte den Beitrag schliessen oder löschen.

Bernd

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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Feb. 2007 15:04    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 andreasmax 10 Unities + Antwort hilfreich

Sehe doch "Moderatoren" nicht immer als Moderatoren, es sind User wie Du auch !

Denke dir also das "Moderator" mal weg beim lesen  Hast du dein PM-Postfach schon geleert ?

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Feb. 2007 16:14    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 andreasmax 10 Unities + Antwort hilfreich

natürlich hast du das Thema hier geöffnet. Wer denn sonst? Zwar nicht 5x sondern 1mal aber das bleibt.
Und was ist an dem Hinweis falsch, das du lieber bei solchen Dingen die Finger weglässt, wenn du nicht weißt, was da passiert.

Du solltest ja auch kein Flugzeug fliegen, nur weil du 'ne Bedienungsanleitung im Internet gefunden hast.

Es ist richtig, das ein Forum auch für Fragen da ist. Aber auich für solche Antworten.
Und Kritik einstecken müssen wir alle.
geschlossen odergelöscht wird das sicherlich auch nicht, denn noch bewegt sich alles im Rahmen des Mitmenschlichen.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

andreasmax
Mitglied


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

Beiträge: 6
Registriert: 19.02.2007

WinXP SP2, AutoCAd 2006 SP1,
1GB RAM

erstellt am: 19. Feb. 2007 19:31    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

Was kommt als nächstes, dass ich kein Computer benutzen darf?
Ich bin keine 40 mehr um mich in dieser Form belehren zu lassen.
Es sollte reiche dass ich mir die Blöße gebe und zeige dass ich es offenbar nicht kann, da muss man auch nicht nachlegen.
Ja ich habe das Thema geöffnet, aber nicht um mich in dieser Form vorführen zu lassen.
Es gibt auch Moderatoren die meinen immer im Recht zu sein. 

Bernd

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 19. Feb. 2007 20:11    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 andreasmax 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von andreasmax:
Was kommt als nächstes, dass ich kein Computer benutzen darf?
Ich bin keine 40 mehr um mich in dieser Form belehren zu lassen.
Es sollte reiche dass ich mir die Blöße gebe und zeige dass ich es offenbar nicht kann, da muss man auch nicht nachlegen.
Ja ich habe das Thema geöffnet, aber nicht um mich in dieser Form vorführen zu lassen.
Es gibt auch Moderatoren die meinen immer im Recht zu sein. 

Bernd


Was is'n dir über die Leber gelaufen? Das Forum lebt von Fragen und Antworten und gefragt hast du ja auch ganz vernüftig.
Aber Fakt scheint mir auch, dass du nicht weißt, was bei so einem  Programm passiert. Und das kann u.U. gefährlich werden. Das nicht für alles gleich ne Komplettlösung gepostet wird, verstehe ich auch etwas in der Art Selbstschutz der User ( auch wenn das für dich vielleicht wieder belehrend klingen mag .. ist nicht so gemeint, nur ein "Schubser zum Nachdenken" )

in deinem Fall meinte ich bei meiner ersten Antwort einfach

(defun MyCommandEnded (reactor value / )
  (setq value (car value))
  (cond ((wcmatch value "*ARC")  (setvar "CLAYER" "0"))
        ((= value "CIRCLE")      (setvar "CLAYER" "0"))
        ((wcmatch value "*TEXT") (setvar "CLAYER" "0"))
  )
)

durchdenke dir den Code, überleg was er macht und dann bau ihn ein.

(Und nächstes Mal bitte in einem freundlicheren Ton posten, sonst vergeht auch mir das helfen wollen.)

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 19. Feb. 2007 20:49    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 andreasmax 10 Unities + Antwort hilfreich

[EDIT-hatte CADmium´s Beitrag noch nicht gelesen gehabt]

Das "Belehrung" nichts mit dem Alter zutun hat und sowas nebensächliches
habe ich dir ja via PM gesendet  

Wegen dem Thema selbst: Ist dir nicht klar was du ändern mußt oder
hast du das Problem als solches noch nicht begriffen ?

Du setzt (nach selbst durchgeführtem Befehl) mit einem Reactor
(setvar "CLAYER" "0") - dies wiederum ist ja auch wieder ein "Befehl"
und Acad erkennt (Systemvariable "DBMOD") das eine Änderung stattgefunden hat
ohne danach gespeichert worden zu sein.
Somit kommt logischer Weise die Frage von Acad nach dem speichern.
Lösung-überlegen wie man diese (nun "bekannte") Problem löst.

Weiter zum dem Code: Ist das nur zum testen oder dein Ernst ?
Also möchtest du nach jedem Befehl den aktullen Layer auf "0" setzen ?
Ist ja völliger Quatsch meiner Meinung nach..

Also entweder darfst du nicht jedem Befehl ein "setvar" hinterher schicken, oder
oder du mußt es versuchen an andere Stelle zutun.

[Diese Nachricht wurde von cadffm am 19. Feb. 2007 editiert.]

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

andreasmax
Mitglied


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

Beiträge: 6
Registriert: 19.02.2007

WinXP SP2, AutoCAd 2006 SP1,
1GB RAM

erstellt am: 19. Feb. 2007 21:18    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

Um es kurz zu machen.
Will es hier nicht unbeantwortet lassen.
War gestern lange auf und heute sehr früh auf der Arbeit.
Am meisten ärgert mich dass ich aus den Hinweisen nichts machen konnte obwohl mir klar war dass es hilfreich war.
Versuche es morgen erneut und mache jetzt den Kasten aus sonst schlafe ich morgen auf der Arbeit. Antwort folgt.

Bernd

Edit

Volltreffer cadffm ich habe es (noch) nicht begriffen obwohl CADmium erste Hinweis sehr gut war.
Immerhin habe ich mich als ich es dann begriffen habe selbst am meisten geärgert.
Da aber CADmium so freundlich war um es noch deutlicher beim zweiten mal geschrieben hat, hat der Hinweis auch mein Problem gelöst. DANKE!!
Ich hätte mich wohl noch heute im Kreis gedreht.
Auch an cadffm Dankeschön für die kurze Erklärung aus dem letzten Beitrag.
Es Funktionirt natürlich jetzt auch dank der Hilfe hier.

Bernd

[Diese Nachricht wurde von andreasmax am 20. Feb. 2007 editiert.]

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