| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Befehl _.copy (1601 mal gelesen)
|
Bernd10 Mitglied
  
 Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 13. Nov. 2008 15:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich verwende den AutoCAD-Befehl _.copy in meiner VLX-Anwendung. Dabei habe ich jetzt festgestellt, dass der Befehl mit command aufgerufen andere Auswahlmöglichkeiten bietet als mit dem Aufruf _.copy. -------------- Aufruf mit (command "_.copy") ergibt im Textfenster: Befehl: (command "_.copy") nil Objekte wählen: Entgegengesetzte Ecke angeben: 2 gefunden Objekte wählen: Basispunkt angeben oder [Verschiebung/Mehrfach] <Verschiebung>: -------------------- Aufruf mit _.copy ergibt im Textfenster: Befehl: _.copy Objekte wählen: Entgegengesetzte Ecke angeben: 2 gefunden Objekte wählen: Aktuelle Einstellungen: Kopiermodus = Mehrfach Basispunkt oder [Verschiebung/mOdus] <Verschiebung>: ----------- Wieso hat der Befehl _.copy je nach Aufruf andere Auswahlmöglichkeiten? Danke im Voraus und viele Grüße Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 13. Nov. 2008 16:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernd10
|
cadffm Moderator 良い精神
       

 Beiträge: 22497 Registriert: 03.06.2002 Alles
|
erstellt am: 13. Nov. 2008 17:15 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernd10
@Tunnelbauer wohl garnicht, aber der Unterschied fiel auf und nun wäre es interessant zu wissen warum er besteht. ("_.copy" kennt man ja durch das Arbeiten mit der normale Arbeitsoberfläche) @Bernd Der _.copy-Befehl funktionierte bis/ab 2006 anders: Ab 2006 hat der normale Copy-Befehl automatisch eine Mehrfach-Kopie Funktion, vor 2006 war das nicht so. Früher war es so wie es die Command-Variante zeigt! "alte" Lisp´s sind somit auch heute noch lauffähig, auch wenn sie Command "_.copy" nutzen.. Warum es sich überhaupt anders verhält: Keine Ahnung, aber positiver Effekt für alle Command-Holzhacker PS: Du baust aber nicht wirklich ein (command "_.copy") in dein Prog ein sondern da steht dann schon noch mehr mit in der Klammer oder ?? ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)
[Diese Nachricht wurde von cadffm am 13. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
  
 Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 14. Nov. 2008 08:19 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas, Zitat: Original erstellt von tunnelbauer: Dumme Frage: Wie rufst du denn den Befehl in einer VLX nur mit Copy auf (ohne command)?
ich habe zunächst den Unterschied bei der Verwendung meiner VLX-Anwendung festgestellt. Um es dann näher zu untersuchen, habe ich (command "_.copy") und auch _.copy in der Befehlszeile eingegeben. Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
  
 Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 14. Nov. 2008 08:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo cadffm, Zitat: Original erstellt von cadffm:
Der _.copy-Befehl funktionierte bis/ab 2006 anders: Ab 2006 hat der normale Copy-Befehl automatisch eine Mehrfach-Kopie Funktion, vor 2006 war das nicht so. Früher war es so wie es die Command-Variante zeigt! "alte" Lisp´s sind somit auch heute noch lauffähig, auch wenn sie Command "_.copy" nutzen.. Warum es sich überhaupt anders verhält: Keine Ahnung, aber positiver Effekt für alle Command-Holzhacker :)
danke für diese Information. Sowas habe ich befürchtet. Wie kann ich dann aber den aktuellen Befehl in meinem Lisp abbilden? Zitat: Original erstellt von cadffm:
PS: Du baust aber nicht wirklich ein (command "_.copy") in dein Prog ein sondern da steht dann schon noch mehr mit in der Klammer oder ??
ich verwende den Befehl _copy erweitert, da ich nach dem Kopieren noch die EEDs der kopierten Objekte aktualisieren muss. Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22497 Registriert: 03.06.2002 Alles
|
erstellt am: 14. Nov. 2008 09:13 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernd10
|
CADchup Ehrenmitglied V.I.P. h.c.

 Beiträge: 3338 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 14. Nov. 2008 09:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernd10
Hi, ich lese es so, dass dem Anwender die Optionen des Befehls angeboten werden sollen, er also gar nicht merkt, dass gelispelt wird. Dazu müsste man IMHO den Befehl mit (initget), (getkword) und Konsorten zur Steuerung von COPYMODE nachprogrammieren. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
  
 Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 14. Nov. 2008 09:51 <-- editieren / zitieren --> Unities abgeben:         
Hallo an alle, Zitat: Original erstellt von CADchup:
ich lese es so, dass dem Anwender die Optionen des Befehls angeboten werden sollen, er also gar nicht merkt, dass gelispelt wird.
genau das wäre mein Wunsch. Ich habe jetzt folgenden Befehl um es in etwa abzubilden: ( defun c:kopieren ( / ferrorsav icmdechosav icopymode ipickfirst lenamenk lenamevk pauswahl swwanrakt ) ; Den gewählten Auswahlsatz UNBEDINGT am Anfang ermitteln, da die Werte dafür nur zu diesem Zeitpunkt wichtig sind (setq pauswahl nil) (setq ipickfirst (getvar "pickfirst")) (if (= ipickfirst 1) (setq pauswahl (ssget "_i")) ) ; if (if (= pauswahl nil) (setq pauswahl (ssget)) ) ; if ; Den Namen der Funktion für den Error-Fall sichern (vl-doc-set '*cfunktionsave* "c:kopieren") ; Die Fehlerbehandlung vorbereiten (setq ferrorsav *error*) ; bisherigen errorhandler sichern (lokale Variable für das Zurücksetzen, falls Befehl in Befehl gestartet wird) (setq *error* error_acadwe) ; neuen errorhandler setzen (globale Variable) ; Den Beginn der Gruppe für den AutoCAD-Befehl "zurück" setzen (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) ; Die Objekte gegebenenfalls kopieren (if (/= pauswahl nil) (progn ; Die Acadwe-Objekte vor dem Kopieren ermitteln (setq lenamevk (elementnamen_ermitteln t nil)) Zitat:
; Die Elemente kopieren (setq icopymode (getvar "copymode")) (setq icmdechosav (getvar "cmdecho")) (setvar "cmdecho" 1) (command "_.copy" pauswahl "") (if (= icopymode 0) ; Mehrfach (command "_m") ; _m (= Mehrfach) damit es in etwa mit dem originalen Befehl _.copy übereinstimmt ) ; if (while (/= (getvar "cmdactive") 0) (command pause) ) ; while (setvar "cmdecho" icmdechosav)
; Den Schalter für die Aktualisierung der Wegweisernummer ermitteln (setq swwanrakt (wwnr_schalter_akt_ermitteln)) ; Die Basispunkte vom Block in den erweiterten Daten aktualisieren (setq lenamenk (elementnamen_ermitteln t nil)) (basispkt_block_eed lenamevk lenamenk swwanrakt) ; Die Wegweiser-Nr. jedes Elements entsprechend der Lage zu den vorhandenen Wegweiserrändern/Pfeilwegweiser aktualisieren (wwnr_ww_aktualisieren lenamenk) ) ; progn ) ; if ; Das Ende der Gruppe für den AutoCAD-Befehl "zurück" setzen (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) ; Die Fehlerbehandlung zurücksetzen (setq *error* ferrorsav) ; globale Variable ; Rückgabewert (princ) ) ; Modulende Gruß Bernd
[Diese Nachricht wurde von Bernd10 am 14. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.

 Beiträge: 3338 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 14. Nov. 2008 14:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Bernd10
Hi, schnell noch die Abfrage, wie sie im Ansatz aussehen könnte, falls du es weiter an das Original anpassen möchtest:
Code: (initget "Verschiebung mOdus") (if (= "mOdus" (setq a (cond ((getpoint "\nBasispunkt oder [Verschiebung/mOdus] <Verschiebung>: " ) ) ('(0.0 0.0 0.0)) ) ) ) (progn (initget "Einzeln Mehrfach") (setq b (cond ((getkword "\nKopiermodusoption eingeben [Einzeln/Mehrfach] <Mehrfach>: " ) ) ("Mehrfach") ) ) ) )
Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Bernd10 Mitglied
  
 Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 14. Nov. 2008 14:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo CADchup, Original erstellt von CADchup:
schnell noch die Abfrage, wie sie im Ansatz aussehen könnte, falls du es weiter an das Original anpassen möchtest:
Code: (initget "Verschiebung mOdus") (if (= "mOdus" (setq a (cond ((getpoint "\nBasispunkt oder [Verschiebung/mOdus] <Verschiebung>: " ) ) ('(0.0 0.0 0.0)) ) ) ) (progn (initget "Einzeln Mehrfach") (setq b (cond ((getkword "\nKopiermodusoption eingeben [Einzeln/Mehrfach] <Mehrfach>: " ) ) ("Mehrfach") ) ) ) )
[/QUOTE] danke für die Information. Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |