中望机械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 |
热处理 |