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

2023-11-23 22:50

本文主要是介绍中望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

这篇关于中望CAD 2017机械版接口说明文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420818

相关文章

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化