Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Optionen zu einem Befehl hinzufügen

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:  Optionen zu einem Befehl hinzufügen (1023 mal gelesen)
David F. 26
Mitglied



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

Beiträge: 20
Registriert: 03.05.2018

AUTOCAD 2018

erstellt am: 11. Mai. 2018 08:36    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

Guten Tag liebe Leute,

ich bin mal wieder auf ein Problem gestoßen.

Ich möchte einem Befehl, Optionen hinzufügen.

Also wie bei dem Befehl "-Layer". Leider finde ich nichts dazu. Ich hoffe ihr könnt mir helfen.

Hier eine Beschreibung des Problems.

Ich habe einen Befehl der ein Fenster als Block einfügt. Bevor dieser jedoch eingefügt wird, möchte ich das er mich fragt welches Fenster. Am Besten über so ein Optionsmenü wie eben bei dem oben genannten Befehl.

freundliche Grüße

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

rexxitall
Mitglied
Dipl. -Ing. Bau


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

Beiträge: 266
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 13. Mai. 2018 05: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 Nur für David F. 26 10 Unities + Antwort hilfreich

Ja das geht, ist aber sowohl von der Programmierung als auh von der Handhabung öhm "Fummelig" 
Aber Beispile below.

Ich würde das anders angehen und eien dir Befehl über ein Verzeichnis laufen lassen, der Blöcke enthält.
Nun könnt eman auf den Trichter kommen diese Liste in einen Dialog mit einer Listbox zu pumpen. Dazu nun noch ein paar Knöpfchen um die Blöcke ggf zu drehen, zu spiegeln etc. Und dann macht das Ganze viel mehr fun 
Das ganze lässt sich beliebig ausbauen.

Ich habe mir so einen Lister erstellt dr rekursiv über so ein verzeichnis läuft. Der wühl dann alles nebst den Verzeichnisnamen durch und speichert das dann in eine SQLITE Datenbank mit Volltectindex. Ergebnis man kann in den Blöcken wie mit Google suchen.

Sowas kann man auch mit dem Design Center machen, nur war mir das immer zu fummelig. 
M16 rein und der listet mir von der Mutter bis zur Unterlegscheibe alles auf.

Das ganze macht auch dahingehend Sinn als das die langsamen Dateizugriffe so entfallen. Einziger Nachteil man muss bei neueingefügten Blöcken einen Indexlauf starten um das ganze aktuell zu halten. Ich hab das in eine EXE ausgelagert Macht einmal am Tag ein Cronjob oder man stösst die halt an.

Gut das ist alles weit mehr aufwand aber ein Aufwand den man nur einmal betreiben muss.
Und ehrlich gesagt Blöcke hargecodet einzufügen ist ne saublöde Idee 

Bei meiner Lösung muss ich den Block nur sinnvoll benennen und speichern.
Sollte man gar auf den trichter kommen das Laufwerk auf dem Netzwerk anzulegen kommt jeder auch in den Genuss der Errungenschften der lieben Kollegen.

Sowas in der Art haben wir damals vor 30 Jahren schon auf nem Novell Netware Sever gehabt 
Hat uns viel nervige Zeit, Sucherrei un Arbeit erspart.

Leider gab es damals noch keine dynamischen Blöcke - was die nächste ANregung wäre.
Ich abe das damals mit ZAC ZEICON ASCII COMMMANDS und Powerbasic gelöst *lacht* Unter Dos 

Lang ist her.
Aber hier die zwei Routinen.
Ich find das so fummelig das ich sowas nur als Demo in der Bibliothek habe.

Etwas Vergleichbares gibt es bei mir auch das nennt sich STDLISTBOX. Halt ne Lisbox wo man alles mögliche reinladen kann.
Die poppt halt hoch und man kann ohne Tastatur mit der Maus drin rummachen. Was angenehmer ist als die Fummelei mit den Curortasten 
Aber viel Spaß damit.


Sub MENU()
    Dim strUserInput As String
    KeyWords = "Arc Close Line LEngth"
    strPrompt = "Specify START POINT: "
    On Error GoTo errcontrol
    thisdrawing.Utility.InitializeUserInput 36, KeyWords

    varPnt = thisdrawing.Utility.GetPoint(prompt:=strPrompt)
    strUserInput = thisdrawing.Utility.GetInput
    strPrompt = "Specify next POINT or [Arc/Close/LEngth]: "
    If ERR.Number = -2145320928 Then MsgBox "USER INPUT" & strPrompt: ERR.Clear
errcontrol:

End Sub

Public Sub AddOrdinateDimension()
    Dim varBasePoint As Variant
    Dim varLeaderEndPoint As Variant
    Dim blnUseXAxis As Boolean
    Dim strKeywordList As String
    Dim strAnswer As String
    Dim objDimOrdinate As AcadDimOrdinate
    strKeywordList = "X Y"
    'Define the dimension
    varBasePoint = thisdrawing.Utility.GetPoint(, _
        "Select ordinate dimension position: ")
    thisdrawing.Utility.InitializeUserInput 1, strKeywordList
    strAnswer = thisdrawing.Utility.GetKeyword("Along Which Axis? <X/Y>: ")
    If strAnswer = "X" Then
        varLeaderEndPoint = thisdrawing.Utility.GetPoint(varBasePoint, _
            "Select X point for dimension text: ")
        blnUseXAxis = True
    Else
        varLeaderEndPoint = thisdrawing.Utility.GetPoint(varBasePoint, _
            "Select Y point for dimension text: ")
        blnUseXAxis = False
    End If
    'Create an ordinate dimension
    Set objDimOrdinate = thisdrawing.modelspace.AddDimOrdinate(varBasePoint, varLeaderEndPoint, blnUseXAxis)
    objDimOrdinate.TextSuffix = "units"
    objDimOrdinate.UPDATE
End Sub

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< for sale !

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 13. Mai. 2018 07:27    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 David F. 26 10 Unities + Antwort hilfreich

... die Befehlszeilenabfrage mit Optionen zu füttern sollte irgendwas mit getkeyword sein. Bei .Net hängt diese Methode am Editor-Object.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

David F. 26
Mitglied



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

Beiträge: 20
Registriert: 03.05.2018

AUTOCAD 2018

erstellt am: 16. Mai. 2018 09: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

Danke rexxitall.

Ja das hört sich wirklich nach einer Menge Fummelarbeit an.

Danke für die ausführliche Erklärung. Ich werde mich mal durcharbeiten. 

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