咖迷社区(CAXA数码大方)

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 19205|回复: 20

caxa二次开发学习心得

[复制链接]

3

主题

15

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2011-12-9 10:32:00 | 显示全部楼层 |阅读模式
贵公司好,通过一段时间的学习caxa的二次开发,有了一些认识,这几天的学习也遇到了很多问题,在这里请教一下!我现在学习的方面是,自定义图形
想了解关于直线,圆等基本图形的类定义方面的代码,你们给封装了,(就是dbent。h)这在学习研究方面是比较烦恼的,希望能提供一些代码,也不需要全部,只是想弄明白其中的原理,有利于二次开发的发展,还有caxa论坛我天天去,就是没有二次开发的新的内容,群里也没有新的学习资料,希望为了caxa二次开发的发展,能够多给些资料!!谢谢
再有一个问题就是关于取面域的函数,我在get的函数只发现 getpoint等,有可能不了解取面积是什么问题,希望给讲解一下,还有输入一个实数的例子,总之,第九章和第五张,第二章是绘图基础,希望多提供一些这方面的代码,谢谢!!
以下是dbent。h的部分内容
/*------------------------------------------------------------------------------
// CrxDbLine : 直线
**----------------------------------------------------------------------------*/
CRX_DEFINE_CLSID(17ECF72D-C046-4E9A-8416-FD8220FD33B5,CRxDbLine)
class CRXDB_API CRxDbLine: public CRxDbCurve
{
public:
        CRxDbLine(ICxCrxObject *i_pCrxObject = NULL);
        CRxDbLine(const CRxGePoint3d& start, const CRxGePoint3d& end);
        //~CrxDbLine();
        CRX_DECLARE_DYNCREATE(CRxDbLine)

        DBCURVE_METHODS

                CRxGePoint3d         startPoint() const;
        CDraft::ErrorStatus   setStartPoint(const CRxGePoint3d&);

        CRxGePoint3d         endPoint() const;
        CDraft::ErrorStatus   setEndPoint(const CRxGePoint3d&);

        CDraft::ErrorStatus getOffsetCurves(double offsetDist,
                                                         CRxDbVoidPtrArray& offsetCurves) const;

        virtual CDraft::ErrorStatus   extend(CAXA::Boolean extendStart,const CRxGePoint3d& toPoint);

        };

inline CAXA::Boolean CRxDbLine::isClosed() const
{
        return CAXA::kFalse;
}

inline CAXA::Boolean CRxDbLine::isPeriodic() const
{
        return CAXA::kFalse;
}

inline CAXA::Boolean CRxDbLine::isPlanar() const
{
        return CAXA::kTrue;
}

inline CDraft::ErrorStatus CRxDbLine:etStartParam(double& v1) const
{
        v1 = 0.0;
        return CDraft::eOk;
}

//inline CDraft::ErrorStatus CrxDbLine:etSpline(CrxDbSpline*&) const
//{
//        return CDraft::eNotApplicable;
//}
想了解关于 CDraft::ErrorStatus   setEndPoint(const CRxGePoint3d&); 函数定义,谢谢 希望公布更过内容
谢谢!!!
回复

使用道具 举报

2

主题

29

帖子

5007

积分

金牌会员

Rank: 6Rank: 6

积分
5007

咖迷论坛管理(CAXA)

发表于 2011-12-9 12:18:00 | 显示全部楼层
第一个回答正确者奖励100积分
回复 支持 反对

使用道具 举报

0

主题

31

帖子

169

积分

游客

积分
169
发表于 2011-12-12 09:08:00 | 显示全部楼层
内部实现咋会公开呢? 拿来用,解决你自己的问题就O了。其他的都是浮云。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

104

积分

游客

积分
104
发表于 2011-12-12 09:43:00 | 显示全部楼层
获得一个实数和获取点类似,可以参考如下代码。
crx_real rVal;
crxedGetReal(_T("\n请输入一个实数"), &rVal);

CAtlString sVal;
sVal.Format( _T("输入实数%f"), rVal );
crxutPrintf( sVal );
回复 支持 反对

使用道具 举报

3

主题

15

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2011-12-22 17:20:00 | 显示全部楼层

回复 4# wlp 的帖子

十分感谢!  想请教 如何取面积的函数!望赐教
回复 支持 反对

使用道具 举报

3

主题

15

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2011-12-28 18:02:00 | 显示全部楼层
各位好,最近 又遇到了些问题 是关于 如何打散文字的函数,比较麻烦,希望高手明示,如何获取标注的文字,还有如何修改标注文字  那个set函数只能修改对话框的内容 却修改不了图形空间的内容,希望高手 明示谢谢
回复 支持 反对

使用道具 举报

2

主题

29

帖子

5007

积分

金牌会员

Rank: 6Rank: 6

积分
5007

咖迷论坛管理(CAXA)

发表于 2011-12-29 10:38:00 | 显示全部楼层
LKM集团-何生已经在群里答复了哦:
1、如何获取标注的文字:遍历所有图素,查找标注类型,找到后,可以得到对应的标注数值。
2、还有如何修改标注文字:在生成标注时,将对应的参数由NULL,直接改成需要的文字。
回复 支持 反对

使用道具 举报

3

主题

15

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2011-12-29 17:29:00 | 显示全部楼层

回复 7# xsf 的帖子

十分感谢,   但是好像误会我的意思,我做的是交互方面的,就是已经存在的标注要修改为文字替换,我用那标注提供的那个set函数  只能修改对话框的内容 却修改不了图像里面的内容 打开对话框按确定才能修改,

   再就是 打散  x  这个函数怎么没有呢  我需要做文字打散 里面好像有个 EXPLODE 函数  还有一个希望能提供这方面的知识,qq不能经常上,有可能借不到信息,希望高手多到 论坛回答问题 谢谢!!!!!


还有一个问题 ,就是那个连续命令cammend不起作用是怎么回事,只能执行第一个命令!!!!!

以上问题 期待答复  十分感谢!!!!!!
回复 支持 反对

使用道具 举报

3

主题

15

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2011-12-31 17:29:00 | 显示全部楼层
假如 pent 是指向标注的指针
pent->dimensionText() 是否为读取 标注
Pent->setdimensionText() 是设置吗? 为何指针只改变了对话框的内容呢》
getoffsetcurves 偏移函数如何使用
CRxdbVoidPtrArray 这个类的用法是什么
explode  这个函数是炸开吗?返回值类型CRxdbVoidPtrArray 怎么用?
CRx指南 2003 提到的explcrxe 炸开函数 为什么没有?
偏移,取域这些函数没有吗?
Crxed command 函数 和结果缓冲区
Crxed command(RTSTR,"Circle",RTSTR,"0,0,0".RTSTR,"10"RTNONE)
根本画不出一个圆,是单步操作,
aa 这个命令是如何实现的;
如何将得到的CxCHAR 转换为double


以上希望 贵公司能给出例子 如果没有例子对于我们这些菜鸟,都是没有用的,这些问题我相信只有贵公司的大侠才能解决,让网友们解决他们才得到教材没多久呢,这些都是我学习时遇到的难题,希望贵公司的大侠们早点解决这些问题,如果不解决,支持国产就是句空话!
回复 支持 反对

使用道具 举报

0

主题

6

帖子

104

积分

游客

积分
104
发表于 2012-1-10 09:14:00 | 显示全部楼层
1、setdimensionText是设置文本替代,没有生效是BUG,已修正,请用最新版本验证。
2、expord的结果CRxdbVoidPtrArray的内容就是打散对象指针组成的数组,可以挨个取出转为CRxDbObject*使用。
3、crxedCommand目前还不支持带参数启动,仅支持激活相应命令。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|咖迷社区(CAXA数码大方) ( 京ICP备05001831号-1 )

GMT+8, 2024-5-23 10:37 , Processed in 0.202890 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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