找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: zrqzrq

[求助]:ARX,紧急求助!!

[复制链接]
发表于 2003-1-23 12:24:23 | 显示全部楼层
用指针是没问题的,最好是用它。
再把 pString=acutNewRb(RTSTR);替换成 pString=acutNewRb(2);就行了。
如果查查手册 setFromRbChain(...);
字符串所对应的DXF组码从1到4,6到9,或102,但不包括RTSTR(即5005)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-1-23 20:38:21 | 显示全部楼层
我定义的是 AcDbDictionary *pNamedObj,  不是struct resbuf 类,
所以是不行的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2003-1-24 09:56:42 | 显示全部楼层
这里有段代码,可参考!
void RectWindow::addXtnDict()
{
    AcDbXrecord *pXrec = new AcDbXrecord;
    AcDbObject *pObj;
    AcDbObjectId dictObjId, xrecObjId, entId;
    AcDbDictionary *pNamedObjD, *pDict;

        char windotype[] = {"Rect"};
        ads_name ename;
        struct resbuf* prbXtn;

        AcDbHandle handEnt;
        char strHandle[17];

        AcGePoint2d sp(getWindowStartPoint());

        ads_point lwrleft;
        lwrleft[X] = sp.x;
        lwrleft[Y] = sp.y;
        lwrleft[Z] = 0.0;

    acdbCurDwg()->getNamedObjectsDictionary(pNamedObjD, AcDb::kForWrite);

    // Check to see if the dictionary we want to create is
    // already present if it's not, then create it and add
    // it to the named object dictionary.
    //
    if (pNamedObjD->getAt("WINDO_INFO", (AcDbObject*&) pDict,
        AcDb::kForWrite) == Acad::eKeyNotFound)
    {
        pDict = new AcDbDictionary;
        pNamedObjD->setAt("WINDO_INFO", pDict, dictObjId);
    }
    pNamedObjD->close();

       
        // Get the last entity
        ads_entlast(ename);
        // Get the entity object ID
        acdbGetObjectId(entId, ename);

        // Open the enity for a read operation
        acdbOpenObject(pObj, entId, AcDb::kForRead);

        pObj->getAcDbHandle(handEnt);

        handEnt.getIntoAsciiBuffer(strHandle);

    pObj->close();

    acdbOpenObject(pDict, dictObjId, AcDb::kForWrite);
    pDict->setAt(strHandle, pXrec, xrecObjId);
    pDict->close();

        prbXtn = ads_buildlist(AcDb::kDxfText, windotype,
                                                   AcDb::kDxfInt32, getWindowRows(),
                                                   AcDb::kDxfInt32, getWindowCols(),
                                                   AcDb::kDxfReal, getWindowLength(),
                                                   AcDb::kDxfReal, getWindowHeight(),
                                                   AcDb::kDxfXCoord, lwrleft,
                                                   RTNONE);

        // Add the data list to the Xrecord.  Notice that this
    // member function takes a reference to resbuf *NOT* a
    // pointer to resbuf, so you must dereference the
    // pointer before sending it.
    //
    pXrec->setFromRbChain(*prbXtn);
    pXrec->close();

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

使用道具 举报

发表于 2003-1-24 10:55:01 | 显示全部楼层
是啊,你为什么不用acutBuildList(AcDb::kDxfText,"good",RTNONE)呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 16:14 , Processed in 0.344508 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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