| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Brühl und CIDEON: Synergien schaffen Wettbewerbsvorteile (Vault, INVENTOR), ein Anwenderbericht
|
Autor
|
Thema: modifizierte Befehle (1402 mal gelesen)
|
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 24. Apr. 2006 13:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich habe für mich ein paar befehle vereinfacht so das ich nicht mehr alles eintippen muss. Zum beispiel habe ich verschieden Buttons für die radien linien usw. (z.B button für Raius 2 oder horizontale linie) Wenn ich nun diesen befehl mit der rechten maustaste aufrufe (last comment) funktioniert nur nach der erste teil des Befehls. (Wie der Standart Befehl) Kann ich das irgenwie hinkriegen das auch der rechtsklick funktioniert?? Gruss Lilly 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 Sie nannten ihn google.
|
erstellt am: 24. Apr. 2006 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Meines Wissens nach ist die Wiederholung von Buttonmakros via rechtsclick nicht möglich... Das geht nur, wenn du deine Befehlsabfolgen in kurzen defun's zusammenfasst; diese können wiederholt werden. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 24. Apr. 2006 13:37 <-- editieren / zitieren --> Unities abgeben:
|
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 24. Apr. 2006 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
nö - reicht einfach in der acaddoc.lsp (such dir zu dem Thema den Beitrag von User FAQ raus...) ein defun C:.... () für deine Makros zumachen (dann hast du das Ganze halt nicht mehr auf einem Button sondern quasi auf der Tastatur, aber man soll sich eh nicht den Bildschirm mit 2 Millionen Button zupflastern - kennt sich kein Mensch mehr aus und bei der Migration ist es auch schwieriger...). Diese wird dann immer beim Öffnen einer Zeichnung mitgeladen und steht dir somit in jeder Zeichnung zur Verfügung. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 AC 2013
|
erstellt am: 24. Apr. 2006 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 24. Apr. 2006 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
da muß was falsch laufen - die Sache ist nämlich eigentlich so das es NICHT über RETURN/ENTER geht, ABER ES GEHT über das KONTEXTMENÜ. keine Ahnung woran es liegt, aber du solltest weiter testen.. Gib deine Acadversion an (Ab Acad 2006 zB gibt es ja sehr viele mögliche Einstellungen..) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 24. Apr. 2006 16:00 <-- editieren / zitieren --> Unities abgeben:
Ich arbeite mit Autcad 2006 English Sorry aber was ist das kontextmenu? Ich haben den botton erstellt um schneller zu arbeiten. wenn ich die standart bottons von Autocad wähle kann ich den letzten befehl mittels rechtsklick wieder holen, das erspart viel zeit und handling. Deshalb möchte ich dies auch für meine modifizierten befehle machen. Tunellbauer. Habe mir schon viel auf die tastatur verlinkt aber einmal habe ich auch da keine übersicht mehr. in der autodoc,lsp kann ich nichts verändern weil ich keine rechte haben (haben einen ******* IT support der uns nichts machen läst) kannst du mir einen tip geben wie eine lsp datei ausehen müsste, wenn ich dort meine behehle unterbringe. denn ich habe keine ahnung (bis jetzt) Gruss Lilly
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 Sie nannten ihn google.
|
erstellt am: 24. Apr. 2006 16:46 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
also 1. deine IT-Abteilung kannst du aus dem Spiel lassen, da diese dir die Rechte für C:\Documents and Settings\user\Application Data\Autodesk\AutoCAD 2004\R16.0\enu\Support (als Beispiel) nicht nehmen kann, da sonst gar nix mehr geht (ist aber ein versteckter Ordner) Wenn wir jetzt http://ww3.cad.de/foren/ubb/Forum54/HTML/013776.shtml#000001 als Beispiel hernehmen, dann müsste das Lisp so aussehen: Code:
(defun C:kreuz () (setq X-Point (getpoint "Bitte Punkt picken: ")) (command "_xline" "_h" X-Point "") (command "_xline" "_v" X-Point "") )
Das Tool kannst du dann mit kreuz starten... (Achja - die Dinger heissen Button, nicht botton... ) Kontextmenü ist das Ding das aufpoppt, wenn du die rechte Maustaste drückst.. ------------------ Grüsse Thomas [Diese Nachricht wurde von tunnelbauer am 24. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 24. Apr. 2006 17:34 <-- editieren / zitieren --> Unities abgeben:
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 24. Apr. 2006 17:40 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Hallo Lilly, 1. Du kannst mehrere Befehle in einer Lisp-Datei ablegen. 2. Die Klammer am Ende ist die Schließende Klammer und gehört zur Öffnenden Klammer vor dem defun. Daher muss diese Klammer vorhanden sein. Sonst gibt es eine Fehlermeldung. Gruß, Carsten 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 Sie nannten ihn google.
|
erstellt am: 24. Apr. 2006 17:42 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Ja - die Klammer ist notwendig (jede Klammer die geöffnet wird muss in LISP auch geschlossen werden) und ja - es sind mehrere defun's (diese deklarieren den Befehlsaufruf) in einem Lisp möglich. Code:
(defun C:kreuz () (setq X-Point (getpoint "Bitte Punkt picken: ")) (command "_xline" "_h" X-Point "") (command "_xline" "_v" X-Point "") )(defun C:kreuzL () (setq oldlayer (getvar "CLAYER")) (command "_-layer" "_m" "XLINES" "_c" "50" "" "") (setq X-Point (getpoint "Bitte Punkt picken: ")) (command "_xline" "_h" X-Point "") (command "_xline" "_v" X-Point "") (setvar "CLAYER" oldlayer) )
kreuz ruft dir die Konstruktionslinienfunktion auf und setzt diese auf den aktuellen Layer. kreuzL ruft dir die Konstruktionslinienfunktion auf und setzt diese auf den Layer "XLINES" (mit der Farbe 50). ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 24. Apr. 2006 20:38 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Habe es kapiert - du hast das Kontextmenü ausgeschaltet, d.h. deine rechte Maustaste hat die gleiche Funktion wie ENTER. Und genau das habe ich im Prinzip gesagt: Mit Return/Enter geht das nunmal nicht.. Ich nutze das Kontextmenü von Acad - dort gibt es auch "letzter Befehl", allerdings sind das ja 2 Mausklick´s und das willst du ja sicher nicht. In dem Kontextmenü die Funktion "letzter Befehl" genutzt, spielt das ganze Buttonmakro, welche zuvor durchlaufen wurde, wieder ab. Optionen/Benutzer.../Kontektmenü - da so ca. stellt man das ein wenn du mal testen möchtest..
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 AC 2013
|
erstellt am: 25. Apr. 2006 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Alternativ zum LISP sei noch das Skript erwähnt. Ist leichter zu verstehen, wenn man noch keine LISP erstellt hat. Mit einem Skript kann man mehr oder weniger immer wiederkehrende Eingaben ablaufen lassen. Skript= einfache Textdatei mit Endung .SCR. Aufruf dann z.B. über eine Schaltfläche. oder Alias SR (bei deutscher Version). Skriptwiederholung durch ENTER- oder Leertaste (oder wie bei Dir möglicherweise rechte Maustaste. ------------------ strukturiertes Zeichnen mit www.Werner-Maahs.de 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 Sie nannten ihn google.
|
erstellt am: 25. Apr. 2006 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
@Werner: man muss aber bei einem Script aber auch erwähnen, dass eine Interaktion seitens des Benutzers nicht möglich ist. Diese ist aber in den genannten/gesuchten Lösungen der Fall, da auch erwünscht. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Werner-Maahs.de Mitglied CAD-Dozent + Konstrukteur + Autor
Beiträge: 626 Registriert: 04.05.2005 Win XP AC 2005/6 AC 2013
|
erstellt am: 25. Apr. 2006 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
@Thomas ich wollte gar nichts gegen LISP sagen. Habe mir nur eine Anmerkung erlaubt. Und, mal abgesehen von den nachgetragenen Layerschaltungen war ja auch bei Dir keine Aktion, die nicht auch mit einem Skript funktionieren würde. Ich kenne mich mit den englischen Befehlen nicht aus, daher ein Skript zur Fragestellung: Beginn Skriptdatei Radius 2.scr: AbRunden Radius 2 Ende Skriptdatei! Beginn Skriptdatei horizontale Linien.scr: KLinie HOrizontal Ende Skriptdatei! Und auf die Schaltfläche gelegt z.B.: ^C^CSR "Radius 2" bzw. ^C^CSR "horizontale Linien" Anmerkung: Konnte im Augenblick nicht prüfen, sollte aber funktionieren, sofern die Skriptdatei z.B. mit dem Windows-Editor geschrieben und in einem eingestellten Suchverzeichnis abgespeichert wurde. ------------------ strukturiertes Zeichnen mit www.Werner-Maahs.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 25. Apr. 2006 23:18 <-- editieren / zitieren --> Unities abgeben:
Besten Dank für die grosse unterstützung Habe mich für eine lsp datei entschieden. Die ersten befehle funktionieren bereits. bei anderen muss ich noch düfteln. Vieleicht komme ich wieder auf euch zurück wenn ich es nicht hinbekommen sollte. Gruss Lilly Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 27. Apr. 2006 11:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Tunnelbauer Habe mal versucht mir mein Hatch als LSP zu erstelln. ziel ist es das er den hatch mach mit den eingegeben einstellung ( Schraffurtyp, scale, Layer) aber am schluss wieder auf den vorher aktuellen layer springt. dies kriege einfach nicht hin. könntest du mir eventuel helfen das hinzuriegen (defun C:HSTAHL () (setq oldlayer (getvar "CLAYER")) (command "_-layer" "_m" "HATCH" "_c" "8" "" "") (command "-bhatch" "_properties" "ansi31" "20" "0" "_select") (setvar "CLAYER" oldlayer) ) Gruss Lilly
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 27. Apr. 2006 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Probier mal (defun C:HSTAHL () (setq oldlayer (getvar "CLAYER")) (command "_-layer" "_m" "HATCH" "_c" "8" "" "") (command "_-bhatch" "_properties" "ansi31" "20" "0" ) (while (/=(getvar "cmdactive") 0) (command pause)) (setvar "CLAYER" oldlayer) ) ------------------ - 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 |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 27. Apr. 2006 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
Generell nicht schlecht die ersten Gehversuche Code:
(defun C:HSTAHL () (setq oldlayer (getvar "CLAYER")) (command "_-layer" "_m" "HATCH" "_c" "8" "" "") (command "-bhatch" "_properties" "ansi31" "20" "0" "_select" pause "" "") (setvar "CLAYER" oldlayer) )
Das was du vergessen hast ist die Abfrage der Objekte im Lisp zu ermöglichen (Programmablauf wird durch PAUSE unterbrochen und Benutzereingaben sind möglich...), sowie den Befehl _-bhatch vollständig abzuschliessen. ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 27. Apr. 2006 12:55 <-- editieren / zitieren --> Unities abgeben:
Hallo Tunnelbauer & CADmium Also funktioniert einwandfrei. Habe den befehl noch etwas ergänzt. Damit die auswahl auch als pick funktioniert. (defun C:HSTAHL () (setq oldlayer (getvar "CLAYER")) (command "_-layer" "_m" "HATCH" "_c" "8" "" "") (command "-bhatch" "_properties" "ansi31" "20" "0" "_select" "\\ "pause "" "") (setvar "CLAYER" oldlayer) ) Gruss Lilly [Diese Nachricht wurde von Blackcat am 27. Apr. 2006 editiert.] 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 Sie nannten ihn google.
|
erstellt am: 27. Apr. 2006 13:07 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
|
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 27. Apr. 2006 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 27. Apr. 2006 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Blackcat
|
Blackcat Mitglied
Beiträge: 27 Registriert: 18.04.2006
|
erstellt am: 27. Apr. 2006 13:49 <-- editieren / zitieren --> Unities abgeben:
|