中望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实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命