In diesem Artikel möchte ich die Möglichkeit einer Keyword-Eingabe erläutern.
Das Beispiel zeigt ein Methode, die eine Zeichnung in unterschiedlichen Darstellungen zur Anzeige bringen soll.
Ich möchte eine Zeichnung in einer Knotenansicht etc. darstellen oder einen Dialog aufrufen, der mehr Möglichkeiten der Darstellungseinstellung bietet.
Zunächst wird eine Instanz der Klasse clsDraw erstellt. Die Klasse implementiert die Methoden zur Darstellung der Zeichnungen, diese werden hier nicht erläutert.
clsDraw hDraw
= new clsDraw
();
Die erforderlichen KeyWords werden mit der Methode KeyWords.ADD der Instanz der Klasse PromptKeywordOptions hinzugefügt.
string hPrompt
= "Zeichnungsansicht ";
PromptKeywordOptions hPromptKeyword
=
new PromptKeywordOptions
(hPrompt
);
hPromptKeyword.
Keywords.
Add("knotenNummer");
Eine Definition des Default-Wertes ermöglicht eine Bestätigung per Eingabetaste.
hPromptKeyword.Keywords.Default = "Dialog";
hPromptKeyword.AllowNone = true;
Dazu ist es erforderlich, dass die Eigenschaft AllowNone auf true gestellt wird.
Die Eingabeauforderung sieht dann folgendermaßen aus:
PromptResult hPromptKeyResult = ed.GetKeywords(hPromptKeyword);
Das Ergebnis sieht nun in der Befehlszeile so aus:
Befehl: dwgview
Zeichnungsansicht [knotenNummer/Dialog]
Hier das Code_Beispiel:
using AcAp =
Autodesk.
AutoCAD.
ApplicationServices.
Application;
.
.
.
[CommandMethod
("DWGView")]
static public void SetDrawingView
()
{
clsDraw hDraw
= new clsDraw
();
Document doc
= AcAp.
DocumentManager.
MdiActiveDocument;
Editor ed
= doc.
Editor;
string hPpt
= "Zeichnungsansicht ";
PromptKeywordOptions hPromptKeyword
= new PromptKeywordOptions
(hPpt
);
hPromptKeyword.
Keywords.
Add("knotenNummer");
hPromptKeyword.
Keywords.
Add("Dialog");
hPromptKeyword.
Keywords.
Default = "Dialog";
hPromptKeyword.
AllowNone = true
;
PromptResult hPromptKeyResult
= ed.
GetKeywords(hPromptKeyword
);
if (hPromptKeyResult.
Status == PromptStatus.
OK)
{
string hStringResult
= hPromptKeyResult.
StringResult.
ToUpper();
switch (hStringResult
)
{
case "KNOTENNUMMER":
hDraw.
ViewKnotenNummer();
break
;
case "DIALOG":
hDraw.
ViewDialog();
break
;
}
}
}
Viel Spaß beim Ausprobieren
Autor: Dipl.-Ing. Jürgen A. Becker
Kontakt: Juergen.Becker@CAD-Becker.de oder Juergen.Becker@AUGI.COM
- Langjährige Schulungserfahrung
- Autorisierter AutoCAD Trainer (AutoCAD, Mechanical Desktop etc.)
- Software- und Datenbankentwicklung