找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 522|回复: 5

[编程申请]:ARX编程:画一圆柱体

[复制链接]
发表于 2004-8-21 23:23:43 | 显示全部楼层 |阅读模式

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

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

×
ARX编程实现:在指定点上AcGePoint3d 画一圆柱体,并着色。且高度、颜色可调整
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-8-22 14:50:39 | 显示全部楼层
AcDbObjectId Cad_CreateFrustum(AcGePoint3d Center,double xRadius,double yRadius,double tRadius,double Height,CString LayerName)
//生成圆柱体
//  Center -- 直径中心并位于高度的一半处
//  注意:地面平行于xy平面
{        AcDb3dSolid *p3d;
        AcGeMatrix3d mat;
  AcDbObjectId ObjId;

  p3d=new AcDb3dSolid;
  p3d->createFrustum(Height,xRadius,yRadius,tRadius);

        Center=Center+AcGeVector3d(0,0,1)*Height*0.5;
        mat.setToTranslation(Center-AcGePoint3d(0,0,0));
        p3d->transformBy(mat);
       
        ObjId=Cad_EntAddToModal(p3d,LayerName);
        p3d->close();
        return ObjId;
}

void Cad_ChnEntColor(AcDbObjectId entId,DWORD newColor)
//改变实体颜色
//entId为实体ID,newColor为新的颜色
{ AcDbEntity *pEntity;
  AcCmColor Color;

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

使用道具 举报

 楼主| 发表于 2004-9-8 16:00:16 | 显示全部楼层
函数Cad_EntAddToModal(p3d,LayerName) 的定义在哪儿啊?
请帖出来吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2004-9-13 15:06:49 | 显示全部楼层
将AcDbObject *增加到modal空间!
        acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
        //获得符号表中的模型空间块表纪录指针,用于添加对象
        pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);
        pBlockTable->close();
        //将直线添加到模型空间块表记录中
        pBlockTableRecord->appendAcDbEntity(objid,ent);
        //关闭块表纪录指针和直线指针
        pBlockTableRecord->close();
  return objid;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 03:49 , Processed in 0.340159 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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