nvson 4 Báo cáo bài đăng Đã đăng Tháng 5 2, 2013 Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.Runtime <CommandMethod("GetKeywordFromUser")> _ Public Sub GetIntegerOrKeywordFromUser() Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument Dim pKeyOpts As PromptKeywordOptions = New PromptKeywordOptions("") pKeyOpts.Message = vbLf & "Enter an option " pKeyOpts.Keywords.Add("Object") pKeyOpts.Keywords.Add("Point") pKeyOpts.AllowNone = False pKeyOpts.Keywords.Default = "Object" Dim pKeyRes As PromptResult = acDoc.Editor.GetKeywords(pKeyOpts) '............ End Sub Ý của tôi là: Khi chạy đoạn code trên đến đoạn: Enter an option [Object/Point] <Object>: thì mặc định tôi có thể chọn được đối tượng luôn (không phải đánh Object hoặc Enter). Mong cácbác chỉ giúp. Thanks. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
Skywings 49 Báo cáo bài đăng Đã đăng Tháng 5 2, 2013 Ý bạn là kết hợp song song, vừa chọn đc đối tượng vừa nhận keyword cùng lúc!? Bạn có thể tham khảo cách viết ở đây (bằng C#): http://through-the-interface.typepad.com/through_the_interface/2010/05/adding-keyword-handling-to-autocad-nets-getselection.html Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
nvson 4 Báo cáo bài đăng Đã đăng Tháng 5 3, 2013 Bạn có thể gửi cho mình đoạn code đó ko? Mình vào trang đó không được. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
Skywings 49 Báo cáo bài đăng Đã đăng Tháng 5 3, 2013 Ok, code C# bạn nghiên cứu nhé: using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; namespace MyApplication { public class Commands { [CommandMethod("SELKW")] public void GetSelectionWithKeywords() { Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; // Create our options object PromptSelectionOptions pso = new PromptSelectionOptions(); // Add our keywords pso.Keywords.Add("FIrst"); pso.Keywords.Add("Second"); // Set our prompts to include our keywords string kws = pso.Keywords.GetDisplayString(true); pso.MessageForAdding = "\nAdd objects to selection or " + kws; pso.MessageForRemoval = "\nRemove objects from selection or " + kws; // Implement a callback for when keywords are entered pso.KeywordInput += delegate(object sender, SelectionTextInputEventArgs e) { ed.WriteMessage("\nKeyword entered: {0}", e.Input); }; // Finally run the selection and show any results PromptSelectionResult psr = ed.GetSelection(pso); if (psr.Status == PromptStatus.OK) { ed.WriteMessage( "\n{0} object{1} selected.", psr.Value.Count, psr.Value.Count == 1 ? "" : "s" ); } } } } Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
nvson 4 Báo cáo bài đăng Đã đăng Tháng 5 3, 2013 Cảm ơn bạn nhé. Mình sẽ test xem sao. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác