几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   【转帖】用户交互问题 (http://www.dimcax.com/hust/showthread.php?t=9934)

yang686526 2009-04-21 05:23 PM

【转帖】用户交互问题
 
用户交互问题
www.dimcax.com
用户交互问题
case“c”:可以运行。但当输入m时第一点,第二点都行,就是选玩第二点后就直接退出了,这是怎么回事呢 using system; using system.collections; using autodesk.autocad.runtime; using autodesk.autocad.databaseservices; using autodesk.autocad.geometry; using autodesk.autocad.applicationservices; using autodesk.autocad.editorinput; using autodesk.autocad.colors; using dbtransman = autodesk.autocad.databaseservices.transactionmanager; [assembly: commandclass(typeof(应用编辑图像函数.commands))] namespace 应用编辑图像函数 { /// /// summary description for commands. /// public class commands { public commands() { // // todo: add constructor logic here // } // define command "asdkcmd1" [commandmethod("yy")] static public void test() { begin: database db = hostapplicationservices.workingdatabase; editor ed = application.documentmanager.mdiactivedocument.editor; promptselectionoptions pso = new promptselectionoptions(); pso.messageforadding="请选择对象"; promptselectionresult psr = ed.getselection(pso); selectionset sset = psr.value; objectid[] entids = sset.getobjectids(); foreach(objectid entid in entids) { promptkeywordoptions pko = new promptkeywordoptions("\n请选择您要进行的操作[复制移动添加]"); pko.keywords.add("c","c","c",false,true); pko.keywords.add("m","m","m",false,true); pko.keywords.add("s","s","s",false,true); pko.keywords.add("o","o","o",false,true); pko.keywords.default = "o"; promptresult pr = ed.getkeywords(pko); if(pr.status==promptstatus.cancel) {circle cir = new circle(new point3d(0,0,0),vector3d.zaxis,10); edit.appen(cir); return; } if(pr.status==promptstatus.none) { goto begin; } if(pr.status== promptstatus.ok) { switch (pr.stringresult.toupper()) { case"c": point3d tpt1; point3d fpt1; promptpointoptions ppo1=new promptpointoptions("\n请选择起始点"); ppo1.allownone = true; promptpointresult ppr1 = ed.getpoint(ppo1); if (ppr1.status == promptstatus.ok) { fpt1 = ppr1.value; } promptpointoptions ppo2 = new promptpointoptions("\n请输入第二点"); promptpointresult pr2 = ed.getpoint(ppo2); if (pr2.status == promptstatus.ok) { tpt1 = pr2.value; } edit.copy(entid,fpt1,tpt1); break; case"m": point3d mspt1; point3d mtpt1; promptpointoptions ppo3 = new promptpointoptions("\n请选择起始点"); ppo3.allownone = true; promptpointresult ppr3 = ed.getpoint(ppo3); if (ppr3.status == promptstatus.cancel) return; if (ppr3.status == promptstatus.none) if (ppr3.status == promptstatus.ok) mspt1 = ppr3.value; promptpointoptions ppo4 = new promptpointoptions("\n请选择终点"); ppo4.allownone = true; promptpointresult ppr4 = ed.getpoint(ppo4); if (ppr4.status == promptstatus.cancel) return; if (ppr4.status == promptstatus.ok) { mtpt1 = ppr4.value; edit.move(entid, mspt1, mtpt1); } break; } } } } } }
if (ppr3.status == promptstatus.none) 作怪
谢谢


所有的时间均为北京时间。 现在的时间是 09:10 PM.