当前位置: 首页 > news >正文

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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

相关文章:

  • 每天一算法 -- (排序算法总结)
  • 由int指令引发的中断(1301)
  • [NOI2005]月下柠檬树[计算几何(simpson)]
  • js-模块化requirejs
  • 海量数据处理:十道面试题与十个海量数据处理方法总结
  • 8Python全栈之路系列之MySQL触发器
  • 二、网络配置文件
  • shell并发处理mysql数据统计备份删除释放
  • HDU 1255 覆盖的面积(线段树+扫描线)
  • cocos2d-x lua 中使用protobuf并对http进行处理
  • SSH防暴力破解的解决方法
  • 第三篇:一个Spark推荐系统引擎的实现
  • 2017 计蒜之道 初赛 第一场 B.阿里天池的新任务
  • C# WebApi 返回JSON
  • 可执行文件的装载
  • 【知识碎片】第三方登录弹窗效果
  • Effective Java 笔记(一)
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • jQuery(一)
  • JS学习笔记——闭包
  • Odoo domain写法及运用
  • python docx文档转html页面
  • Redis字符串类型内部编码剖析
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • webpack入门学习手记(二)
  • 基于 Babel 的 npm 包最小化设置
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 算法-插入排序
  • 详解移动APP与web APP的区别
  • 新手搭建网站的主要流程
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #QT(智能家居界面-界面切换)
  • ${factoryList }后面有空格不影响
  • (第一天)包装对象、作用域、创建对象
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (十六)串口UART
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .NET 的程序集加载上下文
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET4.0并行计算技术基础(1)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • /usr/bin/env: node: No such file or directory
  • ::