彩神iv

咖迷社區(CAXA彩神iv)

 找回密碼
 立即注冊

QQ登錄

隻需一步,快速開始

查看: 19306|回複: 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
5#
 樓主| 發表於 2011-12-22 17:20:00 | 隻看該作者

回複 4# wlp 的帖子

十分感謝!  想請教 如何取麵積的函數!望賜教
回複 支持 反對

使用道具 舉報

3

主題

15

帖子

61

積分

注冊會員

Rank: 2

積分
61
6#
 樓主| 發表於 2011-12-28 18:02:00 | 隻看該作者
各位好,最近 又遇到了些問題 是關於 如何打散文字的函數,比較麻煩,希望高手明示,如何獲取標注的文字,還有如何修改標注文字  那個set函數隻能修改對話框的內容 卻修改不了圖形空間的內容,希望高手 明示謝謝
回複 支持 反對

使用道具 舉報

2

主題

29

帖子

5007

積分

金牌會員

Rank: 6Rank: 6

積分
5007

咖迷論壇管理(CAXA)

7#
發表於 2011-12-29 10:38:00 | 隻看該作者
LKM集團-何生已經在群裏答複了哦:
1、如何獲取標注的文字:遍曆所有圖素,查找標注類型,找到後,可以得到對應的標注數值。
2、還有如何修改標注文字:在生成標注時,將對應的參數由NULL,直接改成需要的文字。
回複 支持 反對

使用道具 舉報

3

主題

15

帖子

61

積分

注冊會員

Rank: 2

積分
61
8#
 樓主| 發表於 2011-12-29 17:29:00 | 隻看該作者

回複 7# xsf 的帖子

十分感謝,   但是好像誤會我的意思,我做的是交互方麵的,就是已經存在的標注要修改為文字替換,我用那標注提供的那個set函數  隻能修改對話框的內容 卻修改不了圖像裏麵的內容 打開對話框按確定才能修改,

   再就是 打散  x  這個函數怎麽沒有呢  我需要做文字打散 裏麵好像有個 EXPLODE 函數  還有一個希望能提供這方麵的知識,qq不能經常上,有可能借不到信息,希望高手多到 論壇回答問題 謝謝!!!!!


還有一個問題 ,就是那個連續命令cammend不起作用是怎麽回事,隻能執行第一個命令!!!!!

以上問題 期待答複  十分感謝!!!!!!
回複 支持 反對

使用道具 舉報

3

主題

15

帖子

61

積分

注冊會員

Rank: 2

積分
61
9#
 樓主| 發表於 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
10#
發表於 2012-1-10 09:14:00 | 隻看該作者
1、setdimensionText是設置文本替代,沒有生效是BUG,已修正,請用最新版本驗證。
2、expord的結果CRxdbVoidPtrArray的內容就是打散對象指針組成的數組,可以挨個取出轉為CRxDbObject*使用。
3、crxedCommand目前還不支持帶參數啟動,僅支持激活相應命令。
回複 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注冊

本版積分規則

QQ|Archiver|手機版|小黑屋|咖迷社區(CAXA彩神iv) ( 京ICP備37209418號-1 )

GMT+8, 2024-6-5 21:23 , Processed in 0.140489 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回複 返回頂部 返回列表
彩神iv