找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 654|回复: 6

从objectarx帮助里抄的创建匿名块的程序怎么不能运行?

[复制链接]
发表于 2002-10-23 22:14:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
从objectarx帮助里抄的创建匿名块的程序,为什么status != RTKWORD?
entlist = acutBuildList(
    RTDXF0, "BLOCK",
    2, "*ANON", // Only the '*' matters.
    10, "1", // No other flags are set.
    0 );

if (entlist == NULL) {
    acdbFail("Unable to create result buffer list\n");
    return BAD;
}

status = acdbEntMake(entlist);
acutRelRb(entlist); // Release acdbEntMake buffer.

if (status != RTNORM) {

    acdbFail("Unable to start anonymous block\n");
    return BAD;
}

entlist = acutBuildList(RTDXF0, "ENDBLK", 0 );

if (entlist == NULL) {
    acdbFail("Unable to create result buffer list\n");
    return BAD;
}

status = acdbEntMake(entlist);
acutRelRb(entlist); // Release acdbEntMake buffer.

if (status != RTKWORD) {
    acdbFail("Unable to close anonymous block\n");
    return BAD;

}
status = acedGetInput(newblkname);

if (status != RTNORM) {
    acdbFail("Anonymous block not created\n");
    return BAD;

}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2002-10-24 15:35:56 | 显示全部楼层
请大家帮忙找出原因。我调试发现问题出在下面代码。status = acdbEntMake(entlist);返回值为-5003.status != RTKWORD
status = acdbEntMake(entlist);
acutRelRb(entlist); // Release acdbEntMake buffer.
if (status != RTKWORD) {
acdbFail("Unable to close anonymous block\n");
return BAD;

}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-10-24 15:56:40 | 显示全部楼层
最初由 xulpec 发布
请大家帮忙找出原因。我调试发现问题出在下面代码。status = acdbEntMake(entlist);返回值为-5003.status != RTKWORD
status = acdbEntMake(entlist);
acutRelRb(entlist); // Release acdbEntMake buffer.
if (...


  1. entlist = acutBuildList(RTDXF0, "ENDBLK", 0 );

  2. if (entlist == NULL) {
  3. acdbFail("Unable to create result buffer list\n");
  4. return BAD;
  5. }

  6. status = acdbEntMake(entlist);
  7. acutRelRb(entlist); // Release acdbEntMake buffer.

  8. if (status != RTKWORD) {
  9. acdbFail("Unable to close anonymous block\n");
  10. return BAD;

  11. }
复制代码


上面代码status != RTKWORD有问题,应该改为status != RTNORM

你去试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-10-24 16:03:20 | 显示全部楼层
objectarx帮助里是RTKWORD,我从帮助里照抄的。即使为RTNORM也不行,我调试发现status=-5003,相当于status=RTREJ。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-10-24 16:07:17 | 显示全部楼层
最初由 xulpec 发布
objectarx帮助里是RTKWORD,我从帮助里照抄的。即使为RTNORM也不行,我调试发现status=-5003,相当于status=RTREJ。


你还是把整个的函数都贴到论坛来吧,是不是你哪里录入错误了啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-10-24 16:14:45 | 显示全部楼层
仔细看了下你的代码,你定义的块中没有实体啊


  1. entlist = acutBuildList(
  2. RTDXF0, "BLOCK",
  3. 2, "*ANON", // Only the '*' matters.
  4. 10, "1", // No other flags are set.
  5. 0 );

  6. if (entlist == NULL) {
  7. acdbFail("Unable to create result buffer list\n");
  8. return BAD;
  9. }

  10. status = acdbEntMake(entlist);
  11. acutRelRb(entlist); // Release acdbEntMake buffer.

  12. if (status != RTNORM) {

  13. acdbFail("Unable to start anonymous block\n");
  14. return BAD;
  15. }

复制代码


在上面代码后面,和下面的 endblk 封闭前,应该有你的实体加入块的,现在直接就封闭了,就有问题了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-10-24 16:27:36 | 显示全部楼层
我上面的代码是完全从objectarx帮助里抄过来的,我曾在中间画了一个圆也不行。画圆代码如下.
entlist = acutBuildList(RTDXF0, "CIRCLE",// Entity type  
    8, layer, // Layer name
    10, center, // Center point
    40, 10.0, // Radius
    0 );

if (entlist == NULL) {
    acdbFail("Unable to create result buffer list\n");
    return ;
}

status = acdbEntMake(entlist);
acutRelRb(entlist); // Release acdbEntMake buffer.

if (status == RTERROR) {

    acdbFail("Unable to make circle entity\n");
    return ;

}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 04:40 , Processed in 0.358016 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表