中望機械PLM接口說明文檔函數
中望機械提供了開放的數據訪問COM接口和API接口,經過這些接口,PLM或者其餘軟件能夠對圖紙文件中的標題欄、明細表和圖框數據進行訪問和操做。ui
建立IZwmApp接口spa
調用IZwmApp的方法GetDb獲得IZwmDb設計
調用IZwmDb的方法GetTitle獲得ITitle接口,利於ITitle對標題欄數據進行訪問和操做。指針
調用IZwmDb的方法調用GetBom獲得IBom接口,利於IBom對明細表進行訪問和操做。對象
從IBom獲得IBomRow接口,利於IBomRow對明細表行數據進行訪問和操做。索引
調用IZwmDb的方法GetFrame獲得IFrame;利於IFrame對圖框數據進行訪問和操做。接口
|
方法ci |
說明開發 |
1 |
GetDb(IZwmDb** ppZwmDb) |
獲得IZwmDb接口 |
2 |
GetCadPath(BSTR* bstrCadPath) |
獲得CAD的安裝路徑 |
3 |
GetZwmPath(BSTR* bstrZwmPath) |
獲得機械的安裝路徑 |
4 |
GetVersion(BSTR* bstrVersion) |
獲得機械軟件的版本 |
5 |
SendCommand(BSTR bstrCmd) |
給中望機械發送命令 |
6 |
GetAbout(BSTR* bstrAbout) |
彈出中望機械的關於信息 |
|
方法 |
說明 |
1 |
GetTitle(ITitle** ppITitle) |
獲得標題欄接口 |
2 |
GetBom(IBom** ppIBom) |
獲得明細表接口 |
3 |
GetFrame(IFrame** ppIFrame) |
獲得圖框接口 |
4 |
OpenFile(BSTR bstrFile) |
打開dwg文件,傳入空是當前打開圖紙 |
5 |
Close(void) |
關閉dwg文件 |
6 |
Save(void) |
保存dwg文件 |
7 |
RefreshTitle(void) |
刷新標題欄 |
8 |
RefreshBom(void) |
刷新明細表 |
9 |
RefreshFrame(void) |
刷新圖框 |
10 |
GetFrameCount(LONG* nCount) |
獲得圖框個數 |
11 |
GetFrameName(LONG nIndex, BSTR * bstrFrameName) |
根據索引獲得圖框名稱 |
12 |
SwitchFrame(BSTR bstrFrame) |
切換要訪問的圖框 |
|
屬性 |
說明 |
1 |
LONG Width |
圖框寬度 |
2 |
LONG Height |
圖框高度 |
3 |
StdName |
標準名稱:如GB,ISO... |
4 |
TitleStyleName; |
標題欄樣式名稱 |
5 |
BomStyleName; |
明細表樣式名稱 |
6 |
DhlStyleName; |
代號欄樣式名稱 |
7 |
FjlStyleName; |
附加欄樣式名稱 |
8 |
CslStyleName; |
參數欄樣式名稱 |
9 |
GglStyleName; |
更改欄樣式名稱 |
10 |
HaveDHL; |
是否存在代號欄 |
11 |
HaveFJL; |
是否有附加欄 |
12 |
HaveBTL; |
是否有標題欄 |
13 |
HaveCSL; |
是否存在參數欄 |
14 |
HaveGGL; |
是否存在更改欄 |
15 |
Scale1; |
比例係數一 |
16 |
Scale2; |
比例係數二 |
17 |
FrameSizeName; |
Frame 大小的名稱,即 A0、A1… |
18 |
FrameStyleName; |
圖框樣式名稱,如 分區圖框、無分區圖框... |
19 |
Orientation; |
圖框放置方向 , landscape(portrait) |
|
方法 |
說明 |
1 |
GetItemCount(LONG* pCount) |
獲得標題欄字段個數(列數) |
2 |
GetItem(LONG nIndex, BSTR* bstrLabel, BSTR* bstrName, BSTR* bstrValue) |
根據字段索引獲得字段的名稱,內碼,和值 |
3 |
SetItem(BSTR bstrKey, BSTR bstrValue) |
根據字段名稱(或內碼)設置標題欄某項的值 |
|
方法 |
說明 |
1 |
GetItemCount(LONG* nCount) |
獲得明細表行數 |
2 |
GetItem(LONG nIndex, IBomRow** ppBomRow) |
根據行索引獲得明細表對象 |
3 |
SetItem(LONG nIndex, IBomRow* pBomRow) |
根據行索引設置明細表對象 |
4 |
InsertItem(LONG nIndex, IBomRow* pBomRow) |
在特定行,插入一條明細表 |
5 |
DeleteItem(LONG nIndex) |
刪除特定一條明細表 |
6 |
AddItem(IBomRow* pIBomRow) |
增長一條明細表 |
7 |
GetItems(VARIANT* pvarArray) |
獲得全部的明細表行 |
8 |
SetItems(VARIANT varArray) |
設置全部明細表行 |
|
方法 |
說明 |
1 |
GetItemCount(LONG* pCount) |
獲得明細表字段個數(列數) |
2 |
GetItem(LONG nIndex, BSTR* bstrLabel, BSTR* bstrName, BSTR* bstrValue) |
根據字段索引獲得字段的名稱,內碼,和值 |
3 |
SetItem(BSTR bstrKey, BSTR bstrValue) |
根據字段名稱(或內碼)設置明細表行某項的值 |
導入類型庫: #import "中望機械安裝目錄\ZwmToolKit.zrx" no_namespace named_guids
示例代碼: 中望機械安裝目錄Sample\Sdk\Plm\ZwmSdk\demo\ZwmToolKit_Test_ZRX
API提供了基於面向的開發接口,首先要建立ZwcadmApp對象,而後從ZwcadmApp對象中獲得ZwcadmDb指針,經過ZwcadmDb指針獲得ZwcadmTitle、ZwcadmBom和ZwcadmFrame指針,而後根據ZwcadmTitle、ZwcadmBom和ZwcadmFrame指針獲得/設置標題欄、明細表和圖框信息。
ZwcadmApp類說明
|
函數 |
說明 |
1 |
GetDb() |
獲得ZwcadmDb指針 |
2 |
GetCadPath() |
獲得CAD的安裝路徑 |
3 |
GetZwmPath() |
獲得中望機械的安裝路徑 |
4 |
GetVersion() |
獲得中望機械的版本 |
5 |
GetAbout() |
獲得中望機械的關於信息 |
6 |
SendCommand(CString strCmd) |
給中望機械發送命令 |
ZwcadmDb類說明
|
函數 |
說明 |
1 |
OpenFile(const CString& strFile) |
打開dwg文件,空字符串針對當前文檔進行操做 |
2 |
GetTitle () |
獲得ZwcadmTitle指針 |
3 |
GetBom () |
獲得ZwcadmBom指針 |
4 |
GetFrame () |
獲得ZwcadmFrame指針 |
5 |
RefreshTitle() |
刷新標題欄 |
6 |
RefreshBom() |
刷新明細表 |
7 |
RefreshFrame() |
刷新圖框 |
8 |
GetFrameCount() |
獲得圖框個數 |
9 |
GetFrameName(int nIndex, CString& strFrameName) |
根據索引獲得圖框名稱 |
10 |
SwitchFrame(const CString& strFrame) |
切換圖框,不進行切換是針對主圖框操做 |
11 |
Save(void) |
保存dwg文件 |
12 |
Close(void) |
關閉dwg文件 |
ZwcadmTitle類說明
|
函數 |
說明 |
1 |
GetItemCount() |
獲得標題欄的屬性個數 |
2 |
GetItem(int nIndex, CString& strLabel, CString& strName, CString& strValue) |
根據索引獲得屬性的顯示名稱,內部名稱(內碼),屬性值 |
3 |
GetItem(const CString& strKey, CString& strValue) |
根據屬性的顯示名稱或者內部名獲得屬性值 |
4 |
SetItem (const CString& strKey, const CString& strValue) |
根據屬性的顯示名稱或者內部名稱(內碼)設置屬性值 |
|
GetLabels(CStringArray& arrLabel) |
獲得顯示名稱集合 |
|
GetNames(CStringArray& arrName)
|
獲得內部名稱集合 |
ZwcadmBom類說明
|
函數 |
說明 |
1 |
GetItemCount() |
獲得錶行個數 |
2 |
GetItem(int index, ZwcadmBomRow& objBomRow) |
根據索引獲得錶行對象 |
3 |
SetItem(int index, const ZwcadmBomRow& objBomRow) |
根據索引設置錶行對象 |
4 |
SetBomData(const CArray<ZwcadmBomRow>& arrBomRow); |
設置錶行集合 |
5 |
GetBomData( CArray<ZwcadmBomRow>& arrBomRow); |
獲得錶行集合 |
|
GetLabels(CStringArray& arrLabel) |
獲得顯示名稱集合 |
|
GetNames(CStringArray& arrName);
|
獲得內部名稱集合 |
ZwcadmBomRow類說明
|
函數 |
說明 |
1 |
GetItemCount() |
獲得錶行的屬性個數 |
2 |
GetItem(int nIndex, CString& strLabel, CString& strName, CString& strValue); |
根據索引獲得屬性的顯示名稱,內部名稱(內碼),屬性值 |
3 |
GetItem(const CString& strKey, CString& strValue) |
根據屬性的顯示名稱或者內部名獲得屬性值 |
4 |
SetItem (const CString& strKey, const CString& strValue) |
根據屬性的顯示名稱或者內部名稱(內碼)設置屬性值 |
|
GetLabels(CStringArray& arrLabel) GetNames(CStringArray& arrName);
|
獲得顯示名稱集合 |
獲得內部名稱集合 |
ZwcadmFrame類說明
|
函數 |
說明 |
|
StdName() |
樣式名稱 |
|
TitleStyleName() |
標題欄樣式名稱 |
|
BomStyleName() |
明細表樣式名稱 |
|
DhlStyleName() |
代號欄樣式名稱 |
|
FjlStyleName() |
附加欄樣式名稱 |
|
CslStyleName() |
參數欄樣式名稱 |
|
GglStyleName() |
更改欄樣式名稱 |
|
HaveDHL() |
是否存在代號欄 |
|
HaveFJL() |
是否有附加欄 |
|
HaveBTL() |
是否有標題欄 |
|
HaveCSL() |
是否存在參數欄 |
|
HaveGGL() |
是否存在更改欄 |
|
Scale1() |
比例係數一 |
|
Scale2() |
比例係數二 |
|
FrameSizeName() |
Frame 大小的名稱,即 A0、A1… |
|
FrameStyleName() |
圖框樣式名稱,如 分區圖框、無分區圖框… |
|
Orientation() |
圖框放置方向 , landscape(portrait) |
使用說明
引用頭文件: 中望機械安裝目錄Sample\Sdk\Plm\ZwmSdk\inc\ZwmToolKitExtLib.h
連接庫 : 中望機械安裝目錄Sample\Sdk\Plm\ZwmSdk\lib_zrx\ZwmToolKit.lib
示例代碼: 中望機械安裝目錄Sample\Sdk\Plm\ZwmSdk\demo\ZwmToolKit_Test_ZRX
標題欄和明細表的屬性分顯示名稱和內部名稱,內部名稱也叫內碼,程序中內碼做爲惟一的鍵值來使用,好比獲得設計者的名稱,經過標題欄接口GetItem(_T(「DESIGNER」), strDesigner)就可獲得設計者名稱,中望機械中使用的內碼說明以下:
標題欄內碼錶
屬性 |
描述 |
樣例 |
STANDARD |
標準化 |
|
CONSTRUCT |
施工 |
|
ORGNIZE |
編制 |
|
SIGNATURE |
簽字 |
|
CORRECT |
修改 |
|
PAGES |
圖紙張數 |
|
TOTALPAPER |
共幾頁 |
|
PAGENO |
第幾頁 |
|
TYPE |
規格 |
|
TYPE |
型號 |
|
INDEX |
編號 |
|
PARENTCODE |
裝配圖號 |
|
PARENTCODE |
部件圖號 |
|
PROJECTMARK |
階段標記 |
|
PROJECTMARK |
標記 |
|
DATE |
日期 |
|
TECHNOLOGY |
工藝、工藝路線 |
|
ASSEMBLENO |
位號 |
|
DRAWING |
繪圖、製圖 |
|
DESIGNER |
設計 |
|
CHECK |
審覈 |
|
APPROVE |
批准 |
|
EXAMINE |
複審 |
|
SCALE |
比例 |
|
FILENAME |
文件名稱 |
|
FRAMESIZE |
圖幅 |
|
FSCM |
控制標誌 |
|
COMPWT |
單重、單件 |
|
COMPWT |
重量 |
|
明細表內碼錶
屬性 |
描述 |
樣例 |
RELPOS |
序號 |
|
COMPNAME |
代號、圖號、圖樣代號 |
|
COMPNAME |
|
|
COMPDES |
名稱、圖名、圖樣名稱 |
|
COMPMAT |
材料、材質 |
|
COMPUMIS |
單位 |
|
COMPWT |
單重、單件 |
|
COMPWT |
重量 |
|
RELQTY |
數量 |
|
COMPTWT |
總重、總計 |
|
COMPREMARK |
備註 |
|
COMPTTERM |
零件類型 |
|
COMPTSUP |
表面處理 |
|
COMPITEM |
熱處理 |