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


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(C++)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-16, 07:51 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】关于acedcommand()的一个奇怪问题

关于acedcommand()的一个奇怪问题
关于acedcommand()的一个奇怪问题
想采用启动自动加载的方式,实现一些自定义的命令不成功,
经调试,发现一个奇怪的问题:
比如在acrxentrypoint入口函数里的initapplication()后添加:
rc=acedcommand(rtstr,"circle",rtstr,"5,5,0",rtstr,"5",0);
发现rc返回一个负值,命令不能实现;
如果将这句代码放于某一函数中,将此函数加到initapplication()后,则可成功实现命令。
为什么会有这个现象?还请哪位高手指点一二!thx!
壁立千仞,无欲则刚;
海纳百川,有容乃大!
在iniapp()中添加命令组,acedregcmds->addcommand
acdocmanager->sendstringtoexecute(acdocmanager->curdocument(),
"circle 5,5,0 5 ");
注意:在circle、 5,5,0 和 5 之后必须有一个空格符。
在一些场合不宜直接使用acedcommand()。在arx的初始化部分,不仅是让程序员编写初始化的程序码,acad本身也在初始化,这里不宜编写直接改变acad 数据库数据的程序码,acedcommand()就是属于这类操作。
用sendstringtoexecute()方法可以实现命令调用,不过命令开始执行点不一样,acedcommand(〕直接启动命令,而sendstringtoexecute()是把启动命令的主动权交给acad,acad通过窗口消息队列安排适当点启动命令,一般是在当前任务完成后启动命令。楼主的情况是装入arx后接着启动 circle命令。
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



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


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多