找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 861|回复: 7

[求助]:如何用ARX动态连续插入图块?

[复制链接]
发表于 2006-4-13 10:11:44 | 显示全部楼层 |阅读模式

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

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

×
我是这样实现的,但是没法动态显示(即无法随鼠标动作有预览效果)。。。

int lgt_InsertBlock(char blockname[23],double x,double y,double xscale,double yscale,double ang)
{
        Acad::ErrorStatus ret;
    AcDbBlockTable *pBlockTable;
    acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,
        AcDb::kForRead);
        AcDbObjectId blockId;
        ret=pBlockTable->getAt(blockname,blockId, AcDb::kForWrite);
        if (ret!=Acad::eOk)
        {
                ads_printf("\n块%s不存在",blockname);
                pBlockTable->close();
                return 0;
        }
    pBlockTable->close();
        AcGePoint3d insPt(x,y,0);        //块插入点        AcDbBlockReference *pBlockRef =
                new AcDbBlockReference(insPt,blockId);

        AcGeScale3d scale3d(xscale,yscale,1); //设定插入比例
        pBlockRef->setScaleFactors(scale3d);
        pBlockRef->setRotation(ang*PI/180.0); // 设定转角

        AcDbObjectId blockrefId;
        AcDbBlockTableRecord *pBlockTableRecord;
    pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);
        ret=pBlockTableRecord->appendAcDbEntity(blockrefId,pBlockRef);
        if (ret!=Acad::eOk) {
                ads_printf("\n函数appendAcDbEntity blockref失败");
                pBlockTableRecord->close();
                delete pBlockRef;
                return 0;
        }

    pBlockTableRecord->close();
    pBlockRef->close();
        return 1;
}
为了连续,再如此做:
void Asdkaddblock()
{
        // TODO: Implement the command
char blockname[23];
int es;
es=acedGetString(0,"\输入要插入的块名:", blockname);
switch(es)
{
case RTNONE:
        return;
case RTCAN:
        return;
case RTERROR:
        return;
case RTNORM:
        while(1)
        {double x,y,xscale=1.0,yscale=1.0,ang=0.0;
        ads_point pt;
        if(acedGetPoint(NULL,"插入基点:",pt)!=RTNORM)
                return;
        x=pt[0];
        y=pt[1];
        if(lgt_InsertFileBlock(blockname,x,y,xscale,yscale,ang)!=1)
                return;
        }
        break;
}
}
能够不停的插入,直到点击右键。

问题在于不能即时动态预览出块的模样, 想请教各位大侠ARX是如何实现这样的一个功能?
先谢过  ~~ ^_^
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-4-13 15:28:14 | 显示全部楼层
使用橡皮筋类,源码如下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-13 17:44:33 | 显示全部楼层
missyou,你好,首先十分感谢你这么快有答复了。
我登记不久,它说我爱心不够,你能发到我邮箱lgtq@163.com或者qq82433176吗?
太谢谢了~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2006-4-16 17:24:47 | 显示全部楼层
acedDragGen实现,自己看看资料
拿JIG来玩,骗分的吧!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-18 16:09:34 | 显示全部楼层
acedDragGen 有什么功能,能详细讲解一下吗?? 帮助看不太懂。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 17:36 , Processed in 0.439292 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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