明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1734|回复: 3

求助(arx二次开发)!!!!!!!-->mccad转移

[复制链接]
发表于 2003-6-19 17:51:00 | 显示全部楼层 |阅读模式
用arx生成两个实体,用循环语句反复进行布尔运算(subtract),循环到一半时,AutoCAD名令行提示如下:实体上布尔运算失败。建模操作错误:相交曲线的包容不一致。实在搞不清楚什么意思。请各位高手指点。源代码如下。两个实体指针已定义。         
   int tol=int(Q2);
   AcDbObjectId objIdS1;
   for(i=tol-30;i<=tol+30;i++)
   {  
    if(i<tol+30){objIdS1=copy(ids);}
    else{objIdS1=ids;}
    acdbOpenObject(p3dObj1,objIdS1,AcDb::kForWrite);
    x1.set(cos(Jf2),0,-sin(Jf2));
    y1.set(-sin(Jf2),0,-cos(Jf2));
    z1.set(0,1,0);
    moveBy1.x=sg*cos(i*PI/180)*cos(Jf2);
        moveBy1.y=-sg*sin(i*PI/180);
        moveBy1.z=-sg*sin(Jf2)*cos(i*PI/180);
        mat1.setCoordSystem(moveBy1,x1,y1,z1);
    p3dObj1->transformBy(mat1);
    p3dObj1->close();
    x.set(1,0,0);
    y.set(0,cos(PI*mg2/180),-sin(PI*mg2/180));
    z.set(0,sin(PI*mg2/180),cos(PI*mg2/180));
    mat.setCoordSystem(moveBy,x,y,z);
    acdbOpenObject(p3dObj,objId,AcDb::kForWrite);
    acdbOpenObject(p3dObj1,objIdS1,AcDb::kForWrite);
    p3dObj->transformBy(mat);
    p3dObj->booleanOper(AcDb::kBoolSubtract,p3dObj1);
    p3dObj->close();
    p3dObj1->close();
发表于 2003-6-27 10:20:00 | 显示全部楼层
循环次数是不是不对?
 楼主| 发表于 2003-6-27 14:26:00 | 显示全部楼层
感谢你的关注,friendyuan!
该问题已解决.既不在autocad2000下运行,改在aucad2002下运行即可,
没有任何问题。
再次感谢你的关注。
发表于 2003-7-1 17:29:00 | 显示全部楼层
是的.我曾碰到類似的問題.
實在并不是在任意狀況下都能做布爾操作(2000下).例如一個下陷,一個上陷.就不用減.
當時我是在2000下開發.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 08:06 , Processed in 0.173508 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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