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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代

Adblock Plus官方规则Easylist China说明与反馈贴(2015.12.15)

-------------------------------特别说明--------------------------------------- 视频广告问题:因Adblock Plus的局限,存在以下现象,优酷、搜狐、17173黑屏并倒数;乐视、爱奇艺播放广告。因为这些视频网站的Flash播放器被植入了检测代码,而Adblock Plus无法修改播放器。 如需同时使用ads