Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  selbst erstellte Befehle per Texteingabe aufrufen

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:  selbst erstellte Befehle per Texteingabe aufrufen (2247 mal gelesen)
he-st
Mitglied
CAD Konstrukteur


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

Beiträge: 110
Registriert: 18.04.2005

Win10 64bit
AutoCAD 2016

erstellt am: 15. Dez. 2015 09: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

Hallo CAD Gemeinde,
wie schaffe ich es, einen in AutoCAD 2014 selbst erstellten Befehl (Befehlskette), den ich in der CUI angelegt habe über die Texteingabe der Tastatur aufzurufen?
Bis jetzt habe ich meine eigenen Befehle immer auf irgendwelche Menüs mit drauf gepackt, was auch tadellos funktioniert, aber es wäre sehr hilfreich wenn man die Befehle auch direkt eingeben könnte.

Kann mir da jemand helfen?

Vielen Dank schon mal.

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

System: F1
und Google

erstellt am: 15. Dez. 2015 09:39    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 he-st 10 Unities + Antwort hilfreich

Das geht so im Grunde nicht. Wenn es wirklich notwendig/gewünscht ist, dann dieses Makro per Lisp (Command) nachbauen,
in Lisp kann man eine Funktion als AutoCAD-Befehl bereitstellen.

_.-LAYER;_set;MeinLayer;;_.LINE;\5,2;;

(defun c:MeineSchrägeLinie ()
  (command "_.-LAYER" "_set" "MeinLayer" "" "_.LINE" PAUSE "5,2" "")
(princ)
)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 15. Dez. 2015 09:41    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 he-st 10 Unities + Antwort hilfreich

definiere diese Befehle als kleine Lisps in der *.MNL oder acaddoc.lsp

(defun C:MEINBEFEHL1()
  (command "_layer" "_m" .... )
  (command "_line")
    usw.
)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

he-st
Mitglied
CAD Konstrukteur


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

Beiträge: 110
Registriert: 18.04.2005

Win10 64bit
AutoCAD 2016

erstellt am: 15. Dez. 2015 14:03    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

ok, ich versteht schon.
Und wie würde das aussehen wenn ich damit ein Menü aufrufen will?
Die Programmierung der Menütasten von meinem Digitizer sieht z.B. so aus:

$p0=M-05-Layersteuerung $p0=*

Dieser Befehl der Maustaste ruft dann das Menü "M-05-Layersteuerung" auf, dass so als Menü in der CUI hinterlegt ist.

wenn ich das in eine Lisp packe dann kommt nur "unbekannter Befehl" 

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

he-st
Mitglied
CAD Konstrukteur


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

Beiträge: 110
Registriert: 18.04.2005

Win10 64bit
AutoCAD 2016

erstellt am: 15. Dez. 2015 14:16    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

Folgender Hintergrund.
Wir arbeiten im Moment mit einem Digitizer und 16 Tastenmaus. Die Tasten sind entweder mit direkten Befehlen, Befehlsketten oder Menüs belegt. Das funktioniert an sich perfekt und wird alles über die CUI gesteuert und konfiguriert.

Da es jetzt aber keine neuen Treiber mehr gibt und auch die Hardware für die Digitizer immer klobiger wird, wollen wir uns nach was anderem umsehen.

Die Idee ist eine Kombination aus Tastatur und Maus mit programmierbaren Tasten zu benutzen.

Einzelne Befehle sind ja kein Problem, aber eben selbst erstellte Befehle mit Befehlsketten und selbst erstellte Menüs.

Oder gibts da vielleicht ne andere Möglichkeit diese über programmierbare Tasten auf zu rufen?

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

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 15. Dez. 2015 15:21    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 he-st 10 Unities + Antwort hilfreich

guck dir mal menucmd an --> F1

(defun C: MEINTEST()
  (menucmd "p0=M-05-Layersteuerung")
)

Vielleicht kommst du damit weiter?!

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

Peter2
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3701
Registriert: 15.10.2003

Win 10/64 Pro
AutoCAD MAP 3D 2018 / 2023
BricsCAD 22

erstellt am: 15. Dez. 2015 21:06    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 he-st 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von he-st:
....
Die Programmierung der Menütasten von meinem Digitizer sieht z.B. so aus:

$p0=M-05-Layersteuerung $p0=*



War da nicht damals in der Menü"programmierung" ein besonderer Umgang mit Leerstellen? Denn die Leerstelle macht eine Eingabe in die Befehlszeile unmöglich, und dann muss man schon Richtung Lisp und Co. ausweichen ....

------------------
Für jedes Problem gibt es eine einfache Lösung.
Die ist aber meistens falsch. ;-)

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

he-st
Mitglied
CAD Konstrukteur


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

Beiträge: 110
Registriert: 18.04.2005

Win10 64bit
AutoCAD 2016

erstellt am: 08. Jan. 2016 10:56    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

War jetzt einige Zeit nicht im Büro. Daher die verspätete Antwort.
Irgendwie komme ich hier nicht weiter.

Hab jetzt alle erdenklichen Variationen mit dem Befehl menucmd getestet.
Wenn ich die Lisp aufrufe passiert gar nichts. Kein Menü und keine Fehlermeldung.

Habe das Menü nun von der Maus auf den Arbeitsbereich gelegt, sodass es nun in der oberen Zeile direkt neben der HILFE steht.

Man muss doch diese Menüs irgendwie auch per Befehl aufrufen können.
Weiß leider nicht mehr weiter.

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

System: F1
und Google

erstellt am: 08. Jan. 2016 13:42    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 he-st 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von he-st:
Man muss doch diese Menüs irgendwie auch per Befehl aufrufen können.

Ich interpretiere deine vollständige Antwort mal etwas und bitte um Kommentierung:
Du willst das Menu NICHT sichtbar haben, nur dann wenn du eine Taste drückst?
Danach soll es wieder verschwinden?

Meines Wissens (will nichts heißen) dann nur wenn die Menüs auch geladen sind.
Laden, anzeigen, entladen -> dies wäre zu automatisieren(mal unabhängig vom wie)
oder aber wäre es ok das dieses Menü immer in der Menüleiste sichtbar zu haben?

Ein geladenes Menü kannst du mit der Lispfunktion wie oben genannt aufrufen, zB so: (menucmd "p0=*")

Wobei hast du nun Probleme: Menü aus cuix inden Arbeitsbereich zu bekommen,
oder nur damit ein (geladenes) Menü über die Maustaste zu öffnen?

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

he-st
Mitglied
CAD Konstrukteur


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

Beiträge: 110
Registriert: 18.04.2005

Win10 64bit
AutoCAD 2016

erstellt am: 08. Jan. 2016 14:24    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

Sorry, hab mich wohl unverständlich ausgedrückt.

Es geht mir eigentlich nur darum, ein Pulldownmenü, das auch in der oberen Menüleiste per Klick geöffnet werden kann, über einen Befehl zu öffnen. Ist bei meinem Digitizer im Moment auch so. Da öffnet sich das Menü genau an der Stelle wo sich der Cursor befindet.

Beim Digitizer ist es aber so, dass das Menü entweder fest einer Taste auf der Maus zugeordnet wird, oder in der Menüleiste steht. Dann geht es aber über die Maus nicht mehr.

Der Digitizer soll nun gegen eine Logitech Maus mit programmierbaren Tasten ersetzt werden, und auf diese Tasten würde ich halt gerne wieder Menüs legen. Beim Digitizer kann ich das ja direkt in der CUI Datei zuordnen. Bei der Logitech Maus kann ich nur Tastenkürzel oder Befehle in Textform hinterlegen.

Natürlich könnte ich nun alle meine Menüs in die Menüleiste legen, aber das will ich ja nicht, weil es dann wieder zu unübersichtlich ist und ich wieder mit der Maus erst zum Menü hinfahren und wieder klicken muss. So hätte ich das Menü per Klick sofort da und muss nicht lange suchen.

Hoffe das ist nun etwas verständlicher...?

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