找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2961|回复: 6

[求助]:在arx中自定义实体遇到的问题

[复制链接]
发表于 2006-5-19 21:38:35 | 显示全部楼层 |阅读模式

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

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

×
我在arx中自定义了一个类,但在加到数据库的时候发生错误,想问一下是否需要什么注册的操作?是否只能在dbx中写啊?谢谢
头文件

class EObject:public AcDbEntity
{
protected:
char *m_name;
Adesk::Int32 m_ID;
char *m_location;
AcGePoint3d m_center;

public:
EObject();
virtual ~EObject(){}
virtual Adesk::Boolean worldDraw (AcGiWorldDraw *mode);
virtual Acad::ErrorStatus getGeomExtents(AcDbExtents & extents);
virtual Acad::ErrorStatus transformBy(const AcGeFastTransform& xform);
virtual Acad::ErrorStatus getTransformedCopy(const AcGeMatrix3d &xform, AcDbEntity *&pEnt);
virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes,AcDbIntArray & geomIds) const;
virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray &indices,const AcGeVector3d &offset);
cpp文件
        EObject::EObject()
        {
                m_ID = -1;
                m_location = m_name = NULL;
                m_center = AcGePoint3d::kOrigin;
                acutPrintf("1eee\n");
        }

        Adesk::Boolean EObject::worldDraw(AcGiWorldDraw *mode)
        {
                return (Adesk::kTrue) ;
        }

        Acad::ErrorStatus EObject::getGeomExtents(AcDbExtents & extents)
        {
                return Acad::eOk;
        }

        Acad::ErrorStatus EObject::transformBy(const AcGeFastTransform& xform)
        {
                 assertWriteEnabled(Adesk::kFalse, Adesk::kFalse);
                 return Acad::eNotApplicable;
        }

        Acad::ErrorStatus EObject::getTransformedCopy(const AcGeMatrix3d &xform, AcDbEntity *&pEnt)
        {
                assertReadEnabled();
                Acad::ErrorStatus es = Acad::eOk;
                return es;
        }

        Acad::ErrorStatus EObject::getGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray &osnapModes,AcDbIntArray & geomIds) const
        {
                return Acad::eNotImplemented;
        }
   
        Acad::ErrorStatus EObject::moveGripPointsAt(const AcDbIntArray &indices,const AcGeVector3d &offset)
        {
                return Acad::eNotImplemented;
        }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-5-20 00:15:44 | 显示全部楼层
要实现dwgin dwgout  要注册 ,要定义一个宏,要。。。,太多了。。
不一定要写在dbx中,arx也行  ,dbx和arx没有本质区别
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-20 09:52:04 | 显示全部楼层
很多事情不是"要"还是"不要"的问题,而是"好"与"不好"的问题。
按照ObjectArx设计者的意图,custom object应该是放在DBX中。
放在ARX中有什么好处?难道这样就会使编程更方便,ARX不用连接DBX模块了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-20 14:07:35 | 显示全部楼层
houdy ,去看看arx SDK吧,看看为什么要放在DBX中!不知道就不要在这里误人子弟,放在DBX中的主要目的就是代码的重用,跟DLL是一个目的!既是说如果你做在DBX中也可以在别的程序中使用,如3dMax!说得不对望指正!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-20 19:02:29 | 显示全部楼层
houdy ,去看看arx SDK吧,看看为什么要放在DBX中!不知道就不要在这里误人子弟,放在DBX中的主要目的就是代码的重用,跟DLL是一个目的!既是说如果你做在DBX中也可以在别的程序中使用,如3dMax!说得不对望指正!
>>>> 你说的很对。具体的原因就是你说的那样。
可能我在误人子弟,当时我觉得放在DBX是个不错的选择,所以我一直坚持这样做。但这并不是一定要这样做,不这样作就不行。我选择我认为有优势的方案。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-20 21:08:14 | 显示全部楼层
汗,我只想问问大概怎么写,我又用dbx按照sdk里给的例子作了一个,行了。但我还是想问一下如果在arx里写,除了重载那四个in,out函数,还有哪些操作?sdk里的解释是基于dbx的,没有讲在arx里怎样写,还望哪位高手详细解释一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 22:59 , Processed in 0.470941 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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