| |
 | 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: Reaktor wieder laden (1526 mal gelesen)
|
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 25. Mrz. 2008 09:16 <-- editieren / zitieren --> Unities abgeben:         
Hallo Mit (vlr-remove-all) kann ich alle Reaktoren löschen. Aber wie kann ich die dann wieder laden. Wenn ich die Zeichnung schliesse und wiedr öffne dann ist alles wieder ok, das muss aber auch anders gehn. Danke ------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
    
 Beiträge: 1766 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 25. Mrz. 2008 09:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
|
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 25. Mrz. 2008 09:35 <-- editieren / zitieren --> Unities abgeben:         
|
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 25. Mrz. 2008 12:01 <-- editieren / zitieren --> Unities abgeben:         
Hallo Also es will nicht funktionieren Lade den Reaktor (load "bem_reaktor") funktioniert alles. lösche den Reaktor (vlr-remove-all) klappt auch alles. Aber wenn ich den Reaktor wieder laden will (load "bem_reaktor") bekomme ich immer ein nil zurück. Warum ? ------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 25. Mrz. 2008 12:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
Weil das Lisp "bem_reaktor" vielleicht nil zurückgibt? Was liefert dir denn (vlr-reactors) vor und nach dem Laden? und was macht (if (=(load "splinecurve.LSP" "FEHLER")"FEHLER") (prompt "\n Fehler beim Laden von bem_reaktor") (prompt "\n bem_reaktor erfolgreich geladen") )
------------------ - 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 |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 25. Mrz. 2008 12:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas vor dem Laden Command: (vlr-reactors) nil nach dem Laden Command: (vlr-reactors) ((:VLR-Command-Reactor #<VLR-Command-Reactor> #<VLR-Command-Reactor> )) und was macht (if (=(load "splinecurve.LSP" "FEHLER")"FEHLER") (prompt "\n Fehler beim Laden von bem_reaktor") (prompt "\n bem_reaktor erfolgreich geladen") ) Command: 'VLIDE Fehler beim Laden von bem_reaktor Command:
------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 25. Mrz. 2008 12:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
"splinecurve.LSP" haste durch "bem-reaktor" ersetzt ? (hab ich von mir bloß reinkopiert, sorry) das (vlr-reactors) .. zeigt dir ja, das der Reaktor initialisiert worden ist ..
ansonsten versteh ich nicht, was du willst ?? ------------------ - 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 |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 25. Mrz. 2008 13:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas Mit denem Beispiel ist er geladen, aber der Reaktor funktioniert nicht mehr. Wenn ich die Zeichnung öffne, und den Reaktor laden funktioniert er. Wen ich Reaktor mit (vlr-remove-all) lösche, und ich ihn dann wieder laden will, (in der gleichen Zeichnung) ist er geladen aber er funktioniert nicht mehr. Das ist mein Problem. ------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 25. Mrz. 2008 13:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas So sieht das mit deinem Lisp aus (if (=(load "Bem_Reaktor.LSP" "FEHLER")"FEHLER") (prompt "\n Fehler beim Laden von Bem_Reaktor") (prompt "\n Bem_Reaktor erfolgreich geladen") ) und das bekomme ich zurück Command: 'VLIDE Bem_Reaktor erfolgreich geladen Command: Command: 'VLIDE Command: Command: (vlr-reactors) nil ------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 28. Mrz. 2008 11:01 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
Tja ohne dass Du uns Dein bem_reaktor.lsp zeigst, werden wir wohl nur raten können. Ich vermute, dass der Reaktor einer Lispvariable zugewiesen wird, und diese vor dem setzten des Reaktors abgefragt wird. Mit vlr-remove-all löscht Du zwar die Reaktoren, aber wegen den gesetzten Lispvariablen glaubt dein Lisp-Programm, dass diese noch immer gesetzt sind, und definiert sie nicht neu. So in etwa kann ich es mir vorstellen. [Diese Nachricht wurde von fuchsi am 28. Mrz. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 31. Mrz. 2008 10:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo Fuchsi Hier das lisp Code: ; Anfang der Datei ; Funktion zum Setzen des Reaktors (defun add-cmd-reactors( / ) (vl-load-com) (vlr-command-reactor nil '( (:vlr-commandWillStart . cmd-start-callback)) ) (vlr-command-reactor nil '( (:vlr-commandEnded . cmd-end-callback)) ) ) ; Funktion zum Setzen der Reaktoren (defun add-cmd-reactors( / ) (vl-load-com) (if(not *cmd-reactor-added*) (progn (vlr-command-reactor nil '( (:vlr-commandWillStart . cmd-start-callback)) ) (vlr-command-reactor nil '( (:vlr-commandEnded . cmd-end-callback)) ) (setq *cmd-reactor-added* 'T) ) ) ) ; allgemeine Cmd-Callback-Funktion ; (vor der Befehlsausführung) (defun cmd-start-callback(reactor argslist / ) (cond ( (member(car argslist)'("DIMLINEAR""DIMALIGNED" "DIMRADIUS""DIMANGULAR" "DIMBASELINE""DIMDIAMETER" "DIMCONTINUE""QLEADER")) (dim-start-callback reactor argslist) ) ( (=(car argslist)"BHATCH") (bhatch-start-callback) ) ) ) ; allgemeine Cmd-Callback-Funktion ; (nach der Befehlsausführung) (defun cmd-end-callback(reactor argslist / ) (cond ( (member(car argslist)'("DIMLINEAR""DIMALIGNED" "DIMRADIUS""DIMANGULAR" "DIMBASELINE""DIMDIAMETER" "DIMCONTINUE""QLEADER")) (dim-end-callback) ) ( (=(car argslist)"BHATCH") (bhatch-end-callback) ) ) ) ; Macht einen Layer aktuell (defun set-layer(name / ) (vla-put-ActiveLayer (current-document) (vla-item(document-layers)name) ) ) ; gibt das Vla-Object zu einem ; Layernamen zurück (defun layer-object(name / result) (vlax-for layer(document-layers) (if (=(strcase name) (strcase(vla-get-name layer)) ) (setq result layer) ) ) result ) ; Erzeugt einen neuen Layer (defun create-layer(name props / newlayer) (setq newlayer (vla-add (document-layers) name) ) (foreach prop props (vlax-put-property newlayer (car prop)(cdr prop) ) ) newlayer ) ; Ermittelt den aktuellen Layer (defun get-current-layer( / ) (vla-get-activelayer (current-document) ) ) ; Gibt die Layer-Collection zurück (defun document-layers( / ) (vla-get-layers (current-document) ) ) ; gibt die aktuelle Zeichnung zurück (defun current-document( / ) (vla-get-activedocument (vlax-get-acad-object) ) ) ; Vorher-Callback für Schraffuren (defun bhatch-start-callback( / layer) (setq layer "--E-Schraffuren") (if(not(layer-object layer)) (create-layer layer '((Color . 131))) ) (setq *previous-layer*(get-current-layer)) (set-layer layer) ) ; Nachher-Callback für Schraffuren (defun bhatch-end-callback( / ) (if *previous-layer* (progn (vla-put-activelayer (current-document) *previous-layer* ) (setq *previous-layer* nil) ) ) ); Vorher-Callback für Bemaßungen (defun dim-start-callback(reactor argslist / layer) (setq layer "--E-Bemassung-Starkstrom") (if(not(layer-object layer)) (create-layer layer '((Color . 5))) ) (setq *previous-layer*(get-current-layer)) (set-layer layer) ) ; Nachher-Callback für Bemaßungen (defun dim-end-callback( / ) (if *previous-layer* (progn (vla-put-activelayer (current-document) *previous-layer* ) (setq *previous-layer* nil) ) ) ) ; Sicherstellen, dass die ActiveX- ; Funktionen geladen sind (vl-load-com) ; Reaktoren beim Laden starten (add-cmd-reactors) ; Ende Datei
------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 31. Mrz. 2008 10:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
wie fuchsi schon sagt ... es wird auf ne gesetzte Variable geprüft : (if(not *cmd-reactor-added*)... und wenn die noch 'T ist .. wird eben der Reaktor nicht noch mal initialisiert.. ------------------ - 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 |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 31. Mrz. 2008 12:05 <-- editieren / zitieren --> Unities abgeben:         
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 31. Mrz. 2008 12:21 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
na indem du die Variable nach vlr-remove oder vlr-remove-all auch auf nil setzt, dir am besten dafür eine Routine bastelst die am besten Reaktorobjekte merken ... (setq START(vlr-command-reactor nil '( (:vlr-commandWillStart . cmd-start-callback)) ) ) und dann später so löschen (vlr-remove START) (setq *cmd-reactor-added* nil) oder bei Programmstart (vlr-reactors) auswerten und dann gegebenenfalls (setq *cmd-reactor-added* nil) setzen
------------------ - 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 |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 31. Mrz. 2008 12:25 <-- editieren / zitieren --> Unities abgeben:         
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 31. Mrz. 2008 14:32 <-- editieren / zitieren --> Unities abgeben:          Nur für Dober Heinz
Code: ; Anfang der Datei ; Funktion zum Setzen des Reaktors (defun add-cmd-reactors( / ) (vl-load-com) (vlr-command-reactor nil '((:vlr-commandWillStart . cmd-start-callback) ) (vlr-command-reactor nil '( (:vlr-commandEnded . cmd-end-callback)) ) ) ; Funktion zum Setzen der Reaktoren (defun add-cmd-reactors( / ) (vl-load-com) (if(not *cmd-reactor-added*) (progn (vlr-command-reactor nil '( (:vlr-commandWillStart . cmd-start-callback)) ) (vlr-command-reactor nil '( (:vlr-commandEnded . cmd-end-callback)) ) (setq *cmd-reactor-added* 'T) ) ) )
Amerkungen 1. Das erste Defun (fett markiert) ist abolut unnötig, da es mit dem 2. defun überschrieben wird! 2. Da fehlt noch eine Reaktor Nämlich command_cancelled. Damit solte auch sichergestellt werden, wenn eine Befehl mit ESC abgebrochen wird, dass z.B.: der Layer wieder zurückgestellt wird.
Code:
; Funktion zum Setzen der Reaktoren (defun add-cmd-reactors( / ) (vl-load-com) (if(not *cmd-reactor-added*) (setq *cmd-reactor-added* (vlr-command-reactor nil '((:vlr-commandWillStart . cmd-start-callback) (:vlr-commandEnded . cmd-end-callback) (:vlr-commandCancelled . cmd-end-callback) ) ) ) ) )
------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002
|
erstellt am: 31. Mrz. 2008 14:37 <-- editieren / zitieren --> Unities abgeben:         
|
Dober Heinz Mitglied Technischer Zeichner
   
 Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 07. Apr. 2008 08:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Danke für eure Hilfe Habe es so gelöst, und es funktioniert Code: ; Funktion zum Setzen der Reaktoren (defun c:reaein() (vl-load-com) (if(not com:react) (progn (setq com:react (vlr-command-reactor nil ' ((:vlr-commandWillStart . cmd-start-callback) (:vlr-commandEnded . cmd-end-callback) (:vlr-commandCancelled . cmd-end-callback)))) (princ "\n Reactor EIN ") ) ;ende progn ) ;ende if (princ) ) ;ende c:reaein (defun c:reaaus() (if com:react (progn (vlr-remove com:react) (setq com:react nil) (princ "\n Reactor AUS ") ) ; ende progn ) ; ende if ) ; ende aus c:reaaus ; allgemeine Cmd-Callback-Funktion ; (vor der Befehlsausführung) (defun cmd-start-callback(reactor argslist / ) (cond ( (member(car argslist)'("DIMLINEAR""DIMALIGNED" "DIMRADIUS""DIMANGULAR" "DIMBASELINE""DIMDIAMETER" "DIMCONTINUE""QLEADER")) (dim-start-callback reactor argslist) ) ( (=(car argslist)"BHATCH") (bhatch-start-callback) ) ) ) ; allgemeine Cmd-Callback-Funktion ; (nach der Befehlsausführung) (defun cmd-end-callback(reactor argslist / ) (cond ( (member(car argslist)'("DIMLINEAR""DIMALIGNED" "DIMRADIUS""DIMANGULAR" "DIMBASELINE""DIMDIAMETER" "DIMCONTINUE""QLEADER")) (dim-end-callback) ) ( (=(car argslist)"BHATCH") (bhatch-end-callback) ) ) ) ; Macht einen Layer aktuell (defun set-layer(name / ) (vla-put-ActiveLayer (current-document) (vla-item(document-layers)name) ) ) ; gibt das Vla-Object zu einem ; Layernamen zurück (defun layer-object(name / result) (vlax-for layer(document-layers) (if (=(strcase name) (strcase(vla-get-name layer)) ) (setq result layer) ) ) result ) ; Erzeugt einen neuen Layer (defun create-layer(name props / newlayer) (setq newlayer (vla-add (document-layers) name) ) (foreach prop props (vlax-put-property newlayer (car prop)(cdr prop) ) ) newlayer ) ; Ermittelt den aktuellen Layer (defun get-current-layer( / ) (vla-get-activelayer (current-document) ) ) ; Gibt die Layer-Collection zurück (defun document-layers( / ) (vla-get-layers (current-document) ) ) ; gibt die aktuelle Zeichnung zurück (defun current-document( / ) (vla-get-activedocument (vlax-get-acad-object) ) ) ; Vorher-Callback für Schraffuren (defun bhatch-start-callback( / layer) (setq layer "--E-Schraffuren") (if(not(layer-object layer)) (create-layer layer '((Color . 131))) ) (setq *previous-layer*(get-current-layer)) (set-layer layer) ) ; Nachher-Callback für Schraffuren (defun bhatch-end-callback( / ) (if *previous-layer* (progn (vla-put-activelayer (current-document) *previous-layer* ) (setq *previous-layer* nil) ) ) ) ; Vorher-Callback für Bemaßungen (defun dim-start-callback(reactor argslist / layer) (setq layer "--E-Bemassung-Starkstrom") (if(not(layer-object layer)) (create-layer layer '((Color . 5))) ) (setq *previous-layer*(get-current-layer)) (set-layer layer) ) ; Nachher-Callback für Bemaßungen (defun dim-end-callback( / ) (if *previous-layer* (progn (vla-put-activelayer (current-document) *previous-layer* ) (setq *previous-layer* nil) ) ) )
------------------ Heinz  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |