Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Befehlsübersicht

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:  Befehlsübersicht (1643 mal gelesen)
oscarr
Mitglied
CAD-Manager


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

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 11. Feb. 2011 17:29    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 zusammen,

es ist mal wieder Freitag, und es macht sich etwas Feierabendphilosophie breit. 
Gibt es eine Möglichkeit (mit .NET) eine Liste der vorhandenen(und geladenen) Befehle zu erzeugen?
Gibt es eine Möglichkeit den Namen eines Befehls erst zur Laufzeit festzulegen?

Ich möchte den Namen für einen Befehl erst prüfen und dann entscheiden welchen Namen ich verwenden möchte.

LG
Holger

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


Ex-Mitglied

erstellt am: 12. Feb. 2011 13:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Gibt es eine Möglichkeit den Namen eines Befehls erst zur Laufzeit festzulegen?

Zumindest sobald die DLL geladen ist, kannst Du dieses nicht mehr ändern, da hat sich der Speicher und AutoCAD schon Deine Befehlsnamen gekrallt.   


>> Gibt es eine Möglichkeit (mit .NET) eine Liste der vorhandenen(und geladenen) Befehle zu erzeugen?

Meinst Du damit alle Befehle in AutoCAD (AutoCAD-eigene, in ARX definierte, in LSP/VLX definierte, in dotNET definierte, ...) oder nur Deine dotNET definierten?
Ersteres wird schwer (ausser es hilft schon die Befehlszeilenausgabe bei Befehl ARX Option BEFEHLE, thx to runkelruebe   ), zweiteres (nur Deine) ist mit Reflection möglich, da kannst Du alle Deine Funktionen/Sub's ... durchscannen und auf die Attribute achten, welches als AutoCAD-Befehle deklariert sind.


>> Ich möchte den Namen für einen Befehl erst prüfen und dann entscheiden welchen Namen ich verwenden möchte.

Ich habe ähnliches mal etwas anders gelöst: ich habe nur einen Befehl 'myAppCommand' und dieser fragt nachträglich nach dem eigentlichen Befehlsnamen, das sieht dann so aus:

Befehl: myAppCommand
App-Befehl: myLINE

...und damit kann ich bereits vor dem eigentlichen Befehlsaufruf (in diesem Fall myLINE) bereits Aktionen setzen bzw. Situationsabhängig einen der eigenen Befehle mal zulassen, mal nicht.

Vielleicht hilfts, - alfred -

[EDIT] noch schnell dazu: geladene ARX's bekommst Du mit:
    CType(ApplicationServices.Application.AcadApplication, Interop.AcadApplication).ListArx
[/EDIT]

------------------
www.hollaus.at

oscarr
Mitglied
CAD-Manager


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

Beiträge: 198
Registriert: 02.10.2007

ACA 2012 - English Win 7/x64

erstellt am: 14. Feb. 2011 10:07    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

Super das ListARX ist das was ich brauche, da das Architecture als arx daher kommen genügt dies. Und die "fest eingebauten" kenne ich ja 
Ansonsten versuche ich mal in die dll <LispFunction> zu bauen und die Befehlsaufrufe ins Lisp zu packen. Das scheint mir im Moment das flexibelste zu sein.

Gibt es die Möglichkeit einen .NET Befehlt zu verstecken? Also Sie so zu bauen das er nicht in der AutoCompletation (TAB) erscheint aber bei Aufruf trotzdem ausgeführt wird?

Eine schöne Woche
Holger

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


Ex-Mitglied

erstellt am: 14. Feb. 2011 10:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Gibt es die Möglichkeit einen .NET Befehlt zu verstecken?

Wäre mir nicht bekannt, aber siehe oben die Idee mit einem globalen Befehl und dann Abfrage des Funktionsnamens. Das ist Scriptfähig, verrät aber durch <TAB> nichts als den globalen Befehlsnamen.

- alfred -

------------------
www.hollaus.at

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