中望CAD 2017机械版接口说明文档

中望机械PLM接口说明文档

 

 

概述

中望机械提供了开放的数据访问COM接口和API接口,通过这些接口,PLM或者其他软件可以对图纸文件中的标题栏、明细表和图框数据进行访问和操作。

1       COM接口

1.1   接口的关系

创建IZwmApp接口

调用IZwmApp的方法GetDb得到IZwmDb

调用IZwmDb的方法GetTitle得到ITitle接口,利于ITitle对标题栏数据进行访问和操作。

调用IZwmDb的方法调用GetBom得到IBom接口,利于IBom对明细表进行访问和操作。

从IBom得到IBomRow接口,利于IBomRow对明细表行数据进行访问和操作。

调用IZwmDb的方法GetFrame得到IFrame;利于IFrame对图框数据进行访问和操作。

 

1.2   IZwmApp接口说明

 

方法

说明

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.3   IZwmDb接口说明

 

方法

说明

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.4   IFrame接口说明

 

属性

说明

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.5   ITitle接口说明

 

方法

说明

1

GetItemCount(LONG* pCount)

得到标题栏字段个数(列数)

2

GetItem(LONG nIndex, BSTR* bstrLabel, BSTR* bstrName, BSTR* bstrValue)

根据字段索引得到字段的名称,内码,和值

3

SetItem(BSTR bstrKey, BSTR bstrValue)

根据字段名称(或内码)设置标题栏某项的值

1.6   IBom接口说明

 

方法

说明

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.7   IBomRow接口说明

 

方法

说明

1

GetItemCount(LONG* pCount)

得到明细表字段个数(列数)

2

GetItem(LONG nIndex, BSTR* bstrLabel, BSTR* bstrName, BSTR* bstrValue)

根据字段索引得到字段的名称,内码,和值

3

SetItem(BSTR bstrKey, BSTR bstrValue)

根据字段名称(或内码)设置明细表行某项的值

1.8   使用说明

导入类型库: #import "中望机械安装目录\ZwmToolKit.zrx" no_namespace named_guids

示例代码:   中望机械安装目录Sample\Sdk\Plm\ZwmSdk\demo\ZwmToolKit_Test_ZRX

 

2       API接口

 

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

 

3       内码说明

标题栏和明细表的属性分显示名称和内部名称,内部名称也叫内码,程序中内码作为唯一的键值来使用,比如得到设计者的名称,通过标题栏接口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

热处理

 

 

转载于:https://my.oschina.net/u/1013816/blog/897646

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值