cad和mysql CAD開啟和關閉資料庫物件

2021-10-20 11:08:46 字數 1384 閱讀 8346

每乙個資料庫物件都可以通過下面3種方式來獲得:

通過物件控制代碼

通過物件id

通過c++例項指標

當控制項沒有執行時,圖形儲存在檔案系統中,而包含在dwg檔案中的物件是通過它的控制代碼來識別的。

當圖形開啟後,圖形資訊可以通過mcdbdatabase物件來訪問。在資料庫中每乙個物件都有乙個物件id,這個物件id儲存在當前編輯過程中,從mcdbdatabase的建立直到刪除,物件id一直存在。物件開啟函式將物件id作為引數,返回乙個mcdbobject物件指標。這個指標在物件被刪除前一直有效。

可以使用mx::mcdbopenobject()函式來開啟物件,該函式的原型如下:

mcad::errorstatus mcdbopenmcdbobject (

mcdbobject*& obj,

mcdbobjectid id,

mcdb::openmode mode,

mdesk::boolean openerasedobject = mdesk::kfalse);

mcad::errorstatus mcdbopenobject(t_object*& pobj, mcdbobjectid id, mcdb::openmode mode, bool openerased = false);

可以使用下面的函式通過控制代碼獲取物件id,函式原型如下:

mcad::errorstatus mcdbdatabase::getacdbobjectid(mcdbobjectid& retid,mdesk::boolean createifnotfound, const mcdbhandle& objhandle, mdesk::uint32 xrefid=0);

可以使用mcdbobjectpointer模板類開啟:

mcdbobjectpointer(mcdbobjectid objid,

mcdb::openmode mode,

bool openerased = false);

當然,也可以開啟乙個物件,然後獲得此物件的控制代碼:

pobject->getmcdbhandle(handle);

mds_name與物件id作用是相同的,在mcdb庫中提供了兩個單獨的函式在mds_name和mcdbobjectid之間轉換,函式原型如下:

mcdbgetadsname(mds_name& objname, mcdbobjectid objid);

mcdbgetobjectid(mcdbobjectid& objid, mds_name objname);

可以使用如下方式開啟物件:

kforread:讀方式。如果物件沒有被以寫方式開啟,它可以被最多256個使用者以讀方式開啟。

kforwrite:寫方式。如果乙個物件沒有被開啟,則它可以被以寫方式開啟,否則開啟物件的操作將失敗。

CAD開啟和關閉資料庫物件

1 每乙個資料庫物件都可以通過下面3種方式來獲得 1 通過物件控制代碼 2 通過物件id 3 通過c 例項指標 2 當控制項沒有執行時,圖形儲存在檔案系統中,而包含在dwg檔案中的物件是通過它的控制代碼來識別的。3 當圖形開啟後,圖形資訊可以通過mcdbdatabase物件來訪問。在資料庫中每乙個物...

CAD 移動和複製命令

方法一 選中要移動的圖形,然後輸入命令m,按 回車鍵 選中乙個基點,再選中另乙個點,移動到需要的位置 把第乙個基點移動到第二個基點 也可以輸入命令m,選擇移 形,回車,選中乙個基點,再選中另乙個點,移動到需要的位置 方法二 選中要移動的圖形,滑鼠點選中間的點,然後拖動它,移動到目標位置雙擊 方法三 ...

隨CAD載入Arx和dll

使用lisp載入 在.lsp中加入下面這句 command netload arc.dll 然後在autocad 使用登錄檔載入 非託管的arx程式的載入 非託管的arx程式是指用c 編譯的以.arx為字尾的動態鏈結庫檔案,實現方法很簡單,只需在登錄檔中加入以下資訊 示例 windows regis...