云图天下图纸浏览批注开发控件 - yttxsoft.com3.8.1 二维线框...
Transcript of 云图天下图纸浏览批注开发控件 - yttxsoft.com3.8.1 二维线框...
行云流水、革旧图新
1 / 60
云图天下图纸浏览批注开发控件
CADViewerX for Windows 开发手册
V7.3.0
电话:010-88259086
手机:18810227119
QQ:1754353149
网站:http://view.yttxSoft.com
版权所有© 北京云图天下软件有限公司
行云流水、革旧图新
2 / 60
1、关于云图天下
北京云图天下软件有限公司成立于 2011 年,是一家以产品和中间件为导向的软件公司。公司面向企
业和政府客户提供移动信息管理系统开发配置平台、RTX 移动应用解决方案和图文档管理解决方案;是专
业的图纸浏览技术提供商。同时客户群体广泛分布于软件公司、地产公司、设计院、政府机关、科研机构
和院校等。
云图天下公司将继续秉承“行云流水、革旧图新”的企业精神,为广大用户提供更多更好的产品、技
术和服务!
2、产品概述
云图天下 CADViewerX 图纸安全浏览控件是一个 OCX 控件产品,用户无需安装 AutoCAD 即可实现
图纸安全浏览。支持 DWG、DXF 和 DWF 文件的安全浏览;防止拷贝、另存和打印;提供平移、缩放、
全图显示、测量距离面积和图层显示控制等功能;支持浏览 R14-2020 版本的图纸文件。
云图天下 CADViewerX 图纸安全浏览控件支持在 VC++、VB、.net、Html 中调用,可以完美的嵌入
到您的应用程序中。
CADViewerX 支持所有 IE 版本和 Firefox 浏览器(兼容 56 之前版本),由于 Google Chome 浏览在
42 版之后不支持 NPAPI,可以在 41 或以前版本使用。
CADViewerX 的界面支持简易工具条模式和功能区模式界面,如下:
一、功能区模式界面
行云流水、革旧图新
3
二、简易工具条界面
3、功能介绍
安装本软件后,可以通过各类语言来调用 CADViewerX 控件。控件具备如下功能:
行云流水、革旧图新
4
3.1 开窗放大功能
产品提供开窗放大功能,使用者可以根据需要对图纸进行局部放大充满窗口,图 2-4 中红笔圈出的按
钮即为开窗放大按钮,如图 2-4 中所示,使用者点击开窗放大按钮(也可单击鼠标右键,选择开窗放大功
能,下同),选中了红色线框内的图像,选定完成后窗口显示如图 2-5
图 2-4 开窗放大前的窗口显示示例图
行云流水、革旧图新
5
图 2-5 开窗放大后的窗口显示示例图
3.2 放大、缩小功能
使用者可以根据需要对图纸进行放大、缩小浏览,图 2-7,2-8 中红笔圈出的按钮即为放大按钮和缩小
按钮,例如点击放大按钮,即窗口显示如图 2-7.此处支持鼠标滑轮滚动对图纸进行放大、缩小的调整。
行云流水、革旧图新
6
图 2-6 原图示例图
图 2-7 使用放大功能后的窗口显示示例图
行云流水、革旧图新
7
图 2-8 使用缩小功能后的窗口显示示例图
3.3 全图
系统提供全图显示功能,图 2-8 中红笔圈出的按钮即为全图按钮,单击此按钮窗口中将显示整张图纸
内容(如图 2-9 所示内容)。
行云流水、革旧图新
8
图 2-9 全图显示示例图
3.4 平移
此处有三种方式可使用此功能:1)如图 2-9 中红笔圈出的按钮即为移动功能按钮,单击此按钮后,
可以对图纸进行多方向拖动。2)单击鼠标右键,选项中也由此功能键,可点击使用此功能。上述 2 种方
式使用者可以根据个人使用习惯选择使用。平移后效果如图 2-10 所示。
行云流水、革旧图新
9
图 2-10 将图向右拖动后的窗口显示示例图
3.5 捕捉设置
本软件提供捕捉设置功能,方便使用者在测量距离和面积时进行点的捕捉。使用者单击鼠标右键,选
择“捕捉设置”进入捕捉设置界面,即可对其进行设置,捕捉设置的界面如图 2-11,初始默认情况与图
2-11 相同。
行云流水、革旧图新
10
图 2-11 捕捉设置界面
3.6 测量功能
本软件提供测量距离、测量面积两种测量功能方便用户使用。
3.6.1 测量距离功能
点击测量功能按钮后,使用者选定两点后即可测出两点间距离。如图 2-12 所示,其中所测距离为红
框中连线所示距离。
行云流水、革旧图新
11
图 2-12 测量距离示例图
3.6.2 测量面积功能
使用者点击测量面积按钮后,单击鼠标左键进行区域选中(不包含曲线选中),选中完成后双击鼠标左
键即显示所选区域的周长和面积。如图 2-13 所示,图中所测面积为红框中三角形所选面积。
行云流水、革旧图新
12
图 2-13 测量面积示例图
3.7 图层管理
本软件提供图层管理功能,使用者单击鼠标右键或者点击图层管理的图标,选择“图层管理”进入图
层管理界面,该界面可进行“显示”“冻结”“锁定”的更改,单击相应图标即可进行设置。以图 2-13 为
例,当图层管理界面如图 2-14 更改“显示”“冻结”“锁定”状态时,浏览结果如图 2-15。
行云流水、革旧图新
13
图 2-14 图层管理更改状态前文件浏览图
图 2-15 图层管理更改状态
行云流水、革旧图新
14
3.8 视觉样式
视觉样式是一组设置,用来控制视口中边和着色的显示。更改视觉样式的特性,而不是使用命令和设置
系统变量。一旦应用了视觉样式或更改了其设置,就可以在视口中查看效果。
3.8.1 二维线框
显示用直线和曲线表示边界的对象。光栅和 OLE 对象、线型和线宽均可见。
图 2-16 二维线框图
3.8.2 三维线框
显示用直线和曲线表示边界的对象。
行云流水、革旧图新
15
图 2-17 三维线框图
3.8.3 三维隐藏
显示用三维线框表示的对象并隐藏表示后向面的直线。
行云流水、革旧图新
16
图 2-18 三维隐藏图
3.8.4 三维真实
着色多边形平面间的对象,并使对象的边平滑化。将显示已附着到对象的材质。
行云流水、革旧图新
17
图 2-19 三维真实图
3.8.5 三维概念
着色多边形平面间的对象,并使对象的边平滑化。着色使用古氏面样式,一种冷色和暖色之间的转场而
不是从深色到浅色的转场。效果缺乏真实感,但是可以更方便地查看模型的细节。
行云流水、革旧图新
18
图 2-20 三维概念图
3.9 视口显示
3.9.1 切换视口角度
控件提供俯视、仰视等多个角度来切换视口,适合三维图纸。
行云流水、革旧图新
19
3.9.动态视角
控件提供动态视角功能,可以任意旋转方向,查看图纸,适合三维图纸。
行云流水、革旧图新
20
3.10 文字查找
控件提供文字模糊查找功能,可以查找图纸内 TEXT 实体和 MTEXT 实体的文字,并自动定位。
行云流水、革旧图新
21
3.11 图纸批注
CADViewerX 提供了比较丰富的图纸批注功能,同时可以通过三种模式进行批注二次开发:
1)直接将批注实体保存到文件中;2)将批注实体独立保存到文件中;3)通过调用服务动态生成批注实
体。
3.11.1 基本设置
点击批注颜色可以设置当前批注的颜色;线型宽度用来设置随手画、多线等线宽:
行云流水、革旧图新
22
3.11.2 添加批注实体
提供随手画、直线、多线等实体,如下图:
文字输入:
行云流水、革旧图新
23
3.11.3 删除批注实体
首先选中批注实体,然后点击删除批注,即可删除批注实体:
3.11.4 多用户批注开关
点击“批注显示”,可以开关用户的批注信息:
行云流水、革旧图新
24
3.11.5 保存批注
行云流水、革旧图新
25
3.12 图纸编辑
CADViewerX 提供了基本的图纸编辑功能,如修改文字,删除实体,新增基本绘图要素。
3.12.1 基本设置
点击绘图颜色可以设置当前绘制实体的颜色;线型宽度用来设置随手画、多线等线宽。
也可以新建图层,设置图层的颜色,绘制的实体将显示图层的颜色:
设置层颜色:
行云流水、革旧图新
26
3.12.2 添加基本绘图实体
提供随手画、直线、多线等实体,如下图:
文字输入:
行云流水、革旧图新
27
3.12.3 删除实体
首先选中实体,然后点击“删除实体”,即可删除实体:
3.12.4 保存文件
修改图纸之后可保存,如果是新建图纸,则需要输入文件名。
行云流水、革旧图新
28
3.13 图纸打印
提供专业级图纸打印功能,点击打印预览进行预览,点击确定进行打印:
点击【打印预览】可以预览打印效果,点击【确定】进行打印。
行云流水、革旧图新
29
4、产品特色
4.1 支持多种主流编程语言
产品支持在 VC++、Java、VB、.Net 和 html 中调用控件。
4.2 提供可靠的安全性
用户只可在线浏览图纸文件,无法进行拷贝、另存和打印等操作。
4.3 无需安装 AutoCAD 即可实现在线浏览图纸文件
采用自主图纸解析引擎,脱离 AutoCAD,即可浏览图纸文件。
4.4 提供了方便的浏览辅助工具
为用户提供了一系列的浏览辅助工具,方便用户进行浏览,其中包括:移动、放大、缩小、充满显示、
开窗放大,测量距离和面积等。
4.5 支持多版本 CAD 图纸文件
支持浏览 R14-2020 版本的图纸文件。
4.6 支持多浏览器
支持 IE 所有版本,支持 Firefox,支持 Chome 41 以前的版本。
5、二次开发集成方案
图纸控件的集成到应用系统中,可通过嵌入到 Web 页面中或客户端的 Form 中完成;嵌入的控件与
行云流水、革旧图新
30
服务器端的交互通过 HTTP 协议或者 FTP 协议完成,如下图所示:
5.1 基于 Web 页面的二次开发
1)在 HTML 中的二次开发嵌入代码如下:
// 默认打开 HTTP 图纸文件
<object style="WIDTH: 803px; HEIGHT: 473px" class="xdActiveX"
classid="clsid:3F029CF6-B113-4551-A719-5BB2620D3CB1" id="cCADViewer"
name="cCADViewer" codebase= "CADView.CAB#version=7,3,0,1">
<param name="_Version" value="65536"/>
<param name="_ExtentX" value="16113"/>
<param name="_ExtentY" value="11668"/>
<param name="_StockProps" value="0"/>
<param name ="HttpFile" value="http://192.168.0.1/test1.dwg" />
<param name="DisplayDriver" value ="0" />// 使用2D显示驱动
<param name="Skin" value ="3" /> // 主题样式 0-白色 1-灰色 2-黑色 3-蓝色
<param name="IsRibbonUI" value="0" />// 0-简易工具条 1-功能区
<param name="ToolbarState" value ="1" /> // 显示功能区
<param name="SafeOpen" value ="0" /> // 使用非安全浏览
<param name="TTFToSHX" value ="1" />// 是否将字体换为SHX,提高大图的显
示速度
</object>
// 默认打开 FTP 图纸文件
行云流水、革旧图新
31
<object style="WIDTH: 803px; HEIGHT: 473px" class="xdActiveX"
classid="clsid:3F029CF6-B113-4551-A719-5BB2620D3CB1" id="cCADViewer"
name="cCADViewer" codebase= "CADView.CAB#version=5,1,0,0">
<param name="_Version" value="65536"/>
<param name="_ExtentX" value="16113"/>
<param name="_ExtentY" value="11668"/>
<param name="_StockProps" value="0"/>
<param name ="FtpInfo" value="Base64编码(服务器|端口|用户|密码)" />
<param name="FtpFile" value=" //Test/test1.dwg" />
<param name="DisplayDriver" value ="0" />
<param name="FTPassive" value ="0" />
// 0-主动模式 1-被动模式
<param name="Skin" value ="3" />
// 主题样式 0-白色 1-灰色 2-黑色 3-蓝色
<param name="ToolbarState" value ="1" />
<param name="SafeOpen" value ="1" />
<param name="TTFToSHX" value ="1" />
// 是否将字体换为SHX,提高大图的显示速度
</object>
2)通过 javascript 调用控件 FTP 接口或 HTTP 接口访问服务器端文件,代码如下:
// 打开FTP图纸文件
function OpenFtpFile() {
// 设置打开窗口显示信息
cCADViewer.OpenOption(0, 0, 0, 0, 0);
var sServer = prompt("请输入FTP服务器地址:", "192.168.0.10");
if (sServer == "")
return;
var sUser = prompt("请输入FTP登录用户:", "test");
if (sUser == "")
return;
var sPass = prompt("请输入FTP登录密码:", "test");
if (sPass == "")
return;
// 设置FTP的模式, OpenOption第三个参数,0-为主动模式 1-为被动模式,默认为0
cCADViewer.OpenOption(0, 0, 0, 0, 0);
行云流水、革旧图新
32
// 设置FTP的信息
cCADViewer.FtpInfo(sServer, 21, sUser, sPass);
// 或者Base64编码(服务器|端口|用户|密码)
//cCADViewer. FtpInfoEncode(Code);
var sFile = prompt("请输入需要打开的FTP文件全路径:", "//test.dwg");
if (sFile != "") {
var nRet = cCADViewer.FtpOpen(sFile);
if (nRet <= 0)
alert(cCADViewer.GetErrorMsg());
}
}
// 打开HTTP的DWG文件
function OpenHttpFile() {
// 设置打开窗口显示信息
cCADViewer.OpenOption(0, 0, 0, 0, 0);
var sFile = prompt("请输入Http图纸文件全路径:",
"http://localhost/WebGetDWG/GetDWG.aspx");
if (sFile != "") {
var nRet = cCADViewer.HttpOpen(sFile, "");
if (nRet <= 0)
alert(cCADViewer.GetErrorMsg());
}
}
5.2 基于 Firefox 浏览的 Web 端二次开发
1)在 HTML 中的二次开发嵌入代码如下:
<object
id="fCADViewer"
TYPE="application/cadviewer-activex"
WIDTH="803" HEIGHT="473"
clsid="{3F029CF6-B113-4551-A719-5BB2620D3CB1}"
行云流水、革旧图新
33
progid="CADView.CAB#version=6,2,0,1"
param DisplayDriver="1"
param_HttpFile="http://www.yttxsoft.com/CADViewer/viewer/WebGetDWG/GetDWG.aspx?name=test1.d
wg"
param_ToolbarState="1"
param_SafeOpen="1">
</object>
注意:在 Firefox 使用图纸控件,请确认首先安装了支持 Firefox 的插件 fCADViewer.exe。
2)通过 javascript 调用控件 FTP 接口或 HTTP 接口访问服务器端文件,代码如下:
在 Firefox 中,找到对象的 Id 请用 document.all.fCADViewer,fCADViewer 表示 object 的 ID。
例如打开本地文件的 Javacript 的调用方法如下:
var nRet = document.all.fCADViewer.OpenFile(sFile);
5.3 在 HTML 中的初始化参数说明
1)默认打开FTP图纸文件
<param name ="FtpInfo" value="Base64编码(服务器|端口|用户|密码)" />
<param name="FtpFile" value=" //Test/test1.dwg" />
2)默认打开HTTP图纸文件
<param name ="HttpFile" value="http://192.168.0.1/test1.dwg" />
3)设置主题样式
<param name = "Skin" value ="3" /> // 主题样式 0-白色 1-灰色 2-黑色 3-蓝色
4)设置显示驱动
<param name="DisplayDriver" value ="0" /> // 0-三维驱动 1-二维驱动 2-DirectX驱动
5)功能区默认显示样式
<param name="ToolbarState" value ="1" /> // 显示功能区:0-默认关闭 1-默认显示
6)是否安全模式打开打开图纸
<param name="SafeOpen" value ="0" /> // 0-非安全,客户端有缓存 1-安全,客户端无缓存
7)设置按钮的显示状态
<param name="FuncsHide" value ="LAYER;BKCOLOR" /> // 禁用某些功能
8)设置FTP的打开模式
<param name="FTPassive" value ="0" />// 0-主动模式 1-被动模式,默认主动模式,本参数需要根据
FTP服务支持的类型而设定
9)设置工具条样式
<param name="IsRibbonUI" value="0" />// 0-简易工具条 1-功能区模式
行云流水、革旧图新
34
功能代码:
LAYER:层管理器
BKCOLOR:背景设置
SNAP:捕捉设置
FULLSCR:全屏按钮
DIST:测量距离
AREA:测量面积
2DFRAME:2D 显示
3DFRAME:3D 显示
HIDDEN:隐藏显示
FLAT:平滑显示
GOURAND:渲染显示
6、二次开发接口介绍
6.1 初始化类
6.1.1.void AboutBox()
功能说明:显示控件关于对话框
输入参数:无
输出参数:无
特别说明:无
调用示例:cCADViewer.AboutBox();
6.1.2.long InitViewer(String DocFile, long ToolBarState)
功能说明:初始化图形控件,从 V5.1 本函数作废,不再使用
输入参数:DocFile:默认初始化打开本地图纸文件全路径,此处不支持 FTP 和 HTTP 文件;
行云流水、革旧图新
35
ToolBarState:工具区显示状态,0-工具区默认关闭;1-工具区默认为显示
输出参数:1 为成功 -1 失败
特别说明:只有调用了 InitViewer,才能打开图纸文件,在打开图纸前必须调用;
调用示例:
默认为空:cCADViewer.InitViewer("", 0);
默认加载本地文件:cCADViewer.InitViewer("C:\\test.dwg", 0);
6.1.3.long SetRegCode(String Code)
功能说明:给控件设置注册码
输入参数:Code 注册代码
输出参数:
特别说明:本接口为预留接口,尚未开放
调用示例:
6.1.4.long SetAccessCode(String Code)
功能说明:给控件设置控制码
输入参数:Code 控制代码
输出参数:1 为成功 0 为失败
特别说明:本接口为预留接口,尚未开放
调用示例:
6.1.5.long SetToolBar(long Show)
功能说明:设置控件工具区是否显示
输入参数:0 为隐藏 1 为显示
输出参数:1 为成功 0 为失败
特别说明:
调用示例:if( bShow == 1)
cCADViewer.SetToolBar(0);
else
cCADViewer.SetToolBar(1);
行云流水、革旧图新
36
6.1.6.long GetToolBar()
功能说明:返回工具区的显示状态 0-隐藏 1-显示
输入参数:无
输出参数:0-隐藏 1-显示
特别说明:
调用示例:var bShow = cCADViewer.GetToolBar()
6.1.7.long SetSkin(long SkinID)
功能说明:设置皮肤号--预留功能
输入参数:SkinID 主题样式 0-白色 1-灰色 2-黑色 3-蓝色
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.1.8.long SetBackgroundColor(long red, long green, long blue)
功能说明:设置图纸背景颜色
输入参数:RGB 设置,red:红色 green:绿色 blue:蓝色
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.SetBackgroundColor(255, 255, 255)
6.1.9.long SelectBox()
功能说明:选择框
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:暂时未开放
调用示例:
6.1.10.long SetUserInfo(String UserCode, String UserName)
功能说明:设置批注用户号和用户名
输入参数:
输出参数:1 为成功 0 为失败
特别说明:暂时未开放
行云流水、革旧图新
37
调用示例:
6.1.11.long SetFontsPath (string fontPath)
功能说明:设置字体搜索路径,在目录下必须有 txt.shx 和 hztxt.shx 两个字体
输入参数:fontPath SHX 字体所在路径
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.1.12.long SetTTFToSHX (long isUseSHX)
功能说明:将 TrueType 字体设置为 SHX 字体,可以提高大图的显示速度。
输入参数:是否设置为 SHX 字体,1 为设置 0 为不设置
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.1.13. void SetIsRibbonUI (long IsRibbon)
功能说明:设置工具条模式
输入参数:IsBibbon 0-简易工具条 1-功能区模式
输出参数:1 为成功 0 为失败
特别说明:默认为功能区模式
调用示例:cCADViewer. SetIsRibbonUI(0);
6.2 文件操作类
6.2.1.long OpenFile(String FileName)
功能说明:打开一个本地图纸文件
输入参数:FileName:本地全路径文件名
行云流水、革旧图新
38
输出参数:1 为成功 0 为失败 -1 为文件不存在
特别说明:
调用示例:cCADViewer.OpenFile("c:\\test.dwg");
6.2.2 long OpenMarkFile(String FileName)
功能说明:打开一个本地图纸文件可进行批注操作
输入参数:FileName:本地全路径文件名
输出参数:1 为成功 0 为失败 -1 为文件不存在
特别说明:V6.4.0 之后新增接口
调用示例:cCADViewer.OpenMarkFile("c:\\test.dwg");
6.2.3.long SaveAsDwg(String DwgName)
功能说明:当前图另存为图纸文件
输入参数:DwgName:本地全路径文件名
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.2.4.long Save()
功能说明:对当前打开的图纸文件保存
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.2.5.long HttpOpen(String SrcUrl, String DestPath)
功能说明:HTTP 方式打开文件
输入参数:SrcUrl:文件 URL 地址,DestPath:本地全路径文件名,如果 DestPath 为空,则不会生成实
体文件直接打开文件
输出参数: 1 为成功
0 为打开文件失败
-2 为下载失败
-3 无法获取零时文件
行云流水、革旧图新
39
特别说明:
6.2.6.long HttpSave(String SaveUrl)
功能说明:将当前打开的文档保存到远程中,本地必须有实体文件
输入参数:SaveUrl:文件 URL 地址,远程 IIS 必须提供写的权限
输出参数:1 为成功 0 为无本地文件 -1 为上传失败
特别说明:调用 HttpSave 的前提是 HttpOpen 打开的时候,DestPath 不能为空
调用示例:
6.2.7.long FtpInfo(String Server, long Port, String User, String Pass)
功能说明:设置 FTP 访问登录信息
输入参数:Server:FTP 服务器,Port:端口,User:登录名,Pass:登录密码
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.FtpInfo("192.168.0.11", 21, "test", "test");
6.2.8.long FtpInfoEncode(String InfoEnCode)
功能说明:设置 Ftp 的链接信息“服务器|端口|用户|密码”进行 Base64 编码作为参数传入
输入参数:InfoEnCode:编码字符串
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.2.9.long FtpOpen(String SrcUrl, String DestPath)
功能说明:FTP 方式打开文件
输入参数:SrcUrl:文件 FTP 全路径地址,DestPath:本地全路径文件名,如果 DestPath 为空,则不会
生成实体文件直接打开文件
输出参数:
大于等于 1 为成功;
-1 为尚未设置 FtpInfo 信息或 FtpInfo 设置不正确,无法连接 FTP 服务器(有可能用户名、密码、
端口设置错误);
-2 为初始化通讯环境失败;
-3 为服务器文件不存在;
-4 为 DestPath 路径不存在;
行云流水、革旧图新
40
-9 为下载被中止;
-10 为下载出现异常;
-14 为打开下载文件错误;
特别说明:cCADViewer.FtpOpen("//2010/test.dwg", “”);
6.2.10.long FtpSave(String SaveUrl)
功能说明:将当前打开的文档保存到远程中,本地必须有实体文件
输入参数:SaveUrl:文件 FTP 全路径地址
输出参数:
大于等于 1 为成功;
-1 为尚未设置 FtpInfo 信息或 FtpInfo 设置不正确,无法连接 FTP 服务器(有可能用户名、密码、
端口设置错误);
-2 为初始化通讯环境失败;
-3 为服务器文件不存在;
-4 为 DestPath 路径不存在;
-9 为上载被中止;
-10 为上载出现异常,不存在或被占用;
2 为文件已经存在,已经被覆盖;
特别说明:
调用示例:
6.2.11.long HttpOpenMark (String UrlOpen, String UrlSave)
功能说明:HTTP 方式打开文件
输入参数:UrlOpen:文件 URL 地址,
UrlSave:保存文件 http 全路径,可以
输出参数: 1 为成功
0 为打开文件失败
-2 为下载失败
-3 无法获取零时文件
特别说明:
cCADViewer.HttpOpenMark("http://192.168.0.1/AA/test.dwg", "
http://192.168.0.1/upload.aspx");
行云流水、革旧图新
41
6.2.12. long FtpOpenMark(String UrlOpen, String UrlSave)
功能说明:HTTP 方式打开文件
输入参数:UrlOpen:文件 FTP 全路径,
UrlSave:保存文件 FTP 全路径
输出参数: 1 为成功
0 为打开文件失败
-2 为下载失败
-3 无法获取零时文件
特别说明:FTP 路径必须是全路径
cCADViewer.FtpOpenMark("//AA/test.dwg", "//AA/test,dwg");
6.3 显示类
6.3.1.long ZoomIn()
功能说明:当前视图放大
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.ZoomIn();
6.3.2.long ZoomOut()
功能说明:当前视图缩小
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.ZoomOut();
6.3.3.long ZoomWin()
功能说明:开窗放大
输入参数:无
输出参数:1 为成功 0 为失败
行云流水、革旧图新
42
特别说明:
调用示例:cCADViewer.ZoomWin();
6.3.4.long ZoomAll()
功能说明:全图显示
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.ZoomAll();
6.3.5.long Dolly()
功能说明:当前视图平移显示
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.Dolly();
6.3.6.long Rotate()
功能说明:当前视图按鼠标右键旋转
输入参数:无
输出参数:返回成功或失败
特别说明:1 为成功 0 为失败
调用示例:CADViewer. Rotate ();
6.3.7.long RegenAll()
功能说明:当前视图重画
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
行云流水、革旧图新
43
6.3.8.long SetViewRect(long Left, long Top, long Right, long Bottom)
功能说明:设置视口大小
输入参数:Left, Top, Right, Bottom:左上角和右下角坐标
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.3.9.long GetViewRect(long * Left, long * Top, long * Right, long * Bottom)
功能说明:获取视口大小
输入参数:获取 Left, Top, Right, Bottom:左上角和右下角坐标
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.3.10.long FullScreen()
功能说明:切换为全屏模式
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.FullScreen();
6.4 工具类
6.4.1.long DistTool()
功能说明:测量距离
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.DistTool();
6.4.2.long AreaTool()
功能说明:测量面积
行云流水、革旧图新
44
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.AreaTool();
6.4.3.long LayerMgr()
功能说明:显示层管理器
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.LayerMgr();
6.4.4.long SnapOption()
功能说明:捕捉设置框
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
6.4.5.String GetErrorMsg()
功能说明:返回各类错误信息,返回为错误字符串
输入参数:无
输出参数:错误信息字符串
特别说明:
调用示例:
6.4.6.long OpenOption (long MsgShow, long SafeOpen, long FTPPassive, long op4,
long op5)
功能说明:设置 HTTP 或 FTP 上下载地址信息是否显示
输入参数:MsgShow 为是否显示本地和远程路径地址,1 为显示 0 为不显示;V5.3 之后作废
SafeOpen 为是否安全模式打开文件,1 为安全模式,0 为非安全模式
备注:安全模式表示客户端不保留缓存文件,非安全模式保留缓存文件
FTPPassive 为打开 FTP 文件采用的模式,0 为主动模式,1 为被动模式,默认主动,需要根
行云流水、革旧图新
45
据 FTP 服务器支持的模式来设定
Op3-op5 为预留参数
输出参数:1 为成功 0 为失败
特别说明:本接口 V4.1 以上版本提供
调用示例:
6.4.7.long SetDisplayDriver(long Drive)
功能说明:设置显示驱动
输入参数:0 为 DirectX 驱动,可显示三维图形 1 为 GDI 驱动,只能显示 2D 图纸
输出参数:1 为成功 0 为失败
特别说明:建议使用 DirectX 驱动,显示速度比 GDI 要快
调用示例:
cCADViewer. SetDisplayDriver (1);
6.4.8. long FindLocation(string keyword)
功能说明:调用接口进行查找关键词
输入参数:keyword: 输入查找的关键词
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
cCADViewer.FindLocation(“测试”);
6.4.9.long DoPrint()
功能说明:调出打印对话框
输入参数:无
输出参数:1 为成功 0 为失败
特别说明:
调用示例:cCADViewer.DoPrint();
行云流水、革旧图新
46
6.4.10. long CreateHumbnail (string LocalFile, long ThumbnailWidth, long
ThumbnailHeight)
功能说明:调用接口生成 DWG 文件的缩略图
输入参数:LocalFile: dwg 文件本地全路径
ThumbnailWidth:缩略图宽度,0 为默认宽度
ThumbnailHeight:缩略图高度,0 为默认高度
输出参数:返回 PNG 格式的缩略图本地全路径,失败返回空
特别说明: 缩略图的宽度和高度设置为 0,缩略图默认生成 160*90 的缩略图
调用示例:
cCADViewer.CreateHumbnail (“c:\temp\a.dwg”, 0, 0);
6.4.11 long PrintToPDF(long Paper, long Direct, long Color, long Layout, string
DwgFile, string PdfFile, string Autor)
功能说明:调用接口对图纸中模型空间和布局空间的图纸转为 PDF
输入参数:
Paper:纸张大小序号,序号代表的纸张:
0-A0
1-A1
2-A2
3-A3
4-A4
5-B5
Direct:纸张方向,序号代表的纸张方向:
0-横向
1-纵向
Color:打印颜色,序号代表的颜色类型:
0-黑白
1-灰度
Layout:是否大于布局,序号代表是否选择布局:
0-仅打印模型空间
1-打印所有布局空间图纸,合成为一个 PDF
DwgFile: dwg 文件本地全路径
PdfFile:保存 Pdf 文件本地全路径
Autor:作者名称
行云流水、革旧图新
47
输出参数:返回 0 为失败,返回 1 是成功
特别说明: 将图纸打印为 PDF,仅支持布局空间和模型只有一个图幅,而且图幅大小相同,图幅外围无
垃圾信息。
调用示例:
cCADViewer.PrintToPDF(1, 0, 0, 0, “c:\test.dwg”, “c:\test.pdf”, “云图天下”);
6.4.12. string GetDwgKeywords(string LocalFile)
功能说明:调用接口获取 DWG 文件内所有的文字内容
输入参数:LocalFile: dwg 文件本地全路径
输出参数:返回所有文字信息
特别说明:文字信息包括单行文本和多行文本,但无法获取天正文本内容
调用示例:
String sKeys = cCADViewer. GetDwgKeywords (“c:\temp\a.dwg”);
6.4.13.double GetDefaultFontSize ()
功能说明:获取默认的字体高度,根据当前视口大小获取合适的字体大小
输入参数:无
输出参数:字体高度
特别说明:
调用示例:double dFontSize = cCADViewer. GetDefaultFontSize();
6.5 批注接口
6.5.1. long SetEnableMark (long enable)
功能说明:是否启用批注模式,允许可显示批注功能区
输入参数:enable: 1 允许批注,0 不允许批注
输出参数:1 为成功 0 为失败
行云流水、革旧图新
48
特别说明:
调用示例:
cCADViewer.SetEnableMark (1);
6.5.2. long MarkBlockEx(string BlockSrcUrl, string LayerName, double x, double y,
double scale, double angle, long KeyId);
功能说明:插入 DWG 图块
输入参数:
BlockSrcUrl:图块文件路径,可以是本地文件,也就而已是一个 http 地址
LayerName:所在图层名称
X:插入点 X
Y:插入点 Y
Scale:图块比例
Angle:图块角度
KeyId:图块关键词,用于查询用
输出参数:0 为成功 <0 为失败,-
特别说明:
调用示例:
cCADViewer.MarkBlockEx(“http://www.yttxsoft.com/test.dwg”, “标注”,0.0, 0.0, 1.0, 0.0, 1000);
cCADViewer.MarkBlockEx(“C:\test.dwg”, “标注”,0.0, 0.0, 1.0, 0.0, 1000);
6.5.3. long MarkSaveFile(string UserName, string DestFile)
功能说明:保存全部批注或某用户的批注到指定文件中
输入参数:
UserName:批注用户,空为所有用户
DestFile:批注保存文件,只能为本地路径
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
cCADViewer.MarkSaveFile(“c:\test.dwg”);
行云流水、革旧图新
49
6.5.4. long MarkInsertFile(string SrcFile)
功能说明:将批注文件插入到当前图纸中
输入参数:SrcFile: 批注文件路径,只能是本地文件路径
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
cCADViewer.MarkInsertFile(“c:\test.dwg”);
6.6 编辑类
6.6.1. long SetEnableEditor (long enable)
功能说明:是否启用编辑模式,允许之后可以对图纸进行编辑和添加实体。
输入参数:enable: 1 允许编辑,0 不允许编辑
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
cCADViewer.SetEnableEditor (1);
6.6.2. long AddBlock (string layerName, double x, double y, double scale, double
angle, string blockSrcUrl, long keyId);
功能说明:插入 DWG 图块
输入参数:
blockSrcUrl:图块文件路径,可以是本地文件,也就而已是一个 http 地址
layerName:所在图层名称,如果为空则当前图层
x:插入点 X
y:插入点 Y
scale:图块比例
angle:图块角度
keyId:图块标识关键词,用于查询用
输出参数:0 为成功 <0 为失败,-
行云流水、革旧图新
50
特别说明:
调用示例:
cCADViewer.AddBlock (“http://www.yttxsoft.com/test.dwg”, “标注”,0.0, 0.0, 1.0, 0.0, 1000);
cCADViewer.AddBlock (“C:\test.dwg”, “标注”,0.0, 0.0, 1.0, 0.0, 1000);
6.6.3. long AddImage (string layerName, double x, double y, long imgWidth, long
imgHeight, string imgSrcUrl, long keyId);
功能说明:插入图片
输入参数:
imgSrcUrl:图块文件路径,可以是本地文件,也就而已是一个 http 地址
layerName:所在图层名称,如果为空则当前图层
x:插入点 X
y:插入点 Y
imgWidth:生成的图片宽度
imgHeight:生成的图片高度
keyId:实体标识关键词,用于查询用
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer.AddImage (“http://www.yttxsoft.com/test.png”, “标注”,0.0, 0.0, 200, 200, 1000);
cCADViewer.AddImage (“C:\test.png”, “标注”,0.0, 0.0, 200, 200, 1000);
6.6.4. long AddLine (string layerName, string styleName, long colorIndex, double x1,
double y1, double x2, double y2, long keyId);
功能说明:添加线段
输入参数:
layerName:所在图层名称,如果为空则当前图层
styleName:线型名称,如果为空则用实线
colorIndex:线型颜色序号,0-255,颜色值请参考 AutoCAD 颜色表,0-表示层颜色
x1:开始点 X
y1:开始点 Y
行云流水、革旧图新
51
x2:结束点 X
y2:结束点 Y
keyId:实体标识关键词,用于查询用
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer.AddLine (“图层 1”, “DOT”, 0, 10.0, 12.0, 20.0,20.0, 1000);
6.6.5. long AddPLine (string layerName, string styleName, long colorIndex, string
lineInfos, long keyId);
功能说明:添加多线段
输入参数:
layerName:所在图层名称,如果为空则当前图层
styleName:线型名称,如果为空则用实线
colorIndex:线型颜色序号,0-255,颜色值请参考 AutoCAD 颜色表,0-表示层颜色
lineInfos:线段信息,
点序列: x,y,width|x,y,width|.... x,y,width 分别代表坐标点和线宽度
例如:1.0,2.0,0.0|2.0,3.0,0.0
keyId:实体标识关键词,用于查询用
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer.AddPLine (“图层 1”, “DOT”, 0,“1.0,2.0,0.0|2.0,3.0,0.0”, 1000);
6.6.6. long AddRect (string layerName, string styleName, long colorIndex, double x1,
double y1, double x2, double y2, double lineWidth, long keyId);
功能说明:添加矩形
输入参数:
layerName:所在图层名称,如果为空则当前图层
styleName:线型名称,如果为空则用实线
colorIndex:线型颜色序号,0-255,颜色值请参考 AutoCAD 颜色表,0-表示层颜色
x1:左下点 X
行云流水、革旧图新
52
y1:左下点 Y
x2:右上点 X
y2:右上点 Y
lineWidth:线宽
keyId:实体标识关键词,用于查询用
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer.AddRect (“图层 1”, “DOT”, 0, 10.0, 12.0, 20.0,20.0, 1000);
6.6.7. long AddCircle (string layerName, string styleName, long colorIndex, double x,
double y, double r, long keyId);
功能说明:添加圆
输入参数:
layerName:所在图层名称,如果为空则当前图层
styleName:线型名称,如果为空则用实线
colorIndex:线型颜色序号,0-255,颜色值请参考 AutoCAD 颜色表,0-表示层颜色
x:圆心点 X
y:圆心点 Y
r:半径
keyId:实体标识关键词,用于查询用
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer.AddCircle (“图层 1”, “DOT”, 0, 10.0, 12.0, 50.0, 1000);
6.6.8. long AddText (string layerName, string styleName, long colorIndex, double x,
double y, double height, string text, long keyId);
功能说明:添加文字
输入参数:
layerName:所在图层名称,如果为空则当前图层
styleName:线型名称,如果为空则用实线
colorIndex:线型颜色序号,0-255,颜色值请参考 AutoCAD 颜色表,0-表示层颜色
x:插入点 X
y:插入点 Y
行云流水、革旧图新
53
height:字高
text:文字内容,\r 换行
keyId:实体标识关键词,用于查询用
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer.AddText (“图层 1”, “DOT”, 0, 10.0, 12.0, 10.0, “测试文字”, 1000);
6.6.9. long Add2DBar(string LayerName, long colorIndex, double x, double y, double
height, string textBar, long keyId)
功能说明:在当前打开的图纸中添加二维码
输入参数:
layerName:二维码所在图层名称,如果为空则当前图层
colorIndex:二维码颜色序号,0-255,颜色值请参考 AutoCAD 颜色表,0-表示层颜色
x:插入点 X
y:插入点 Y
height:二维码宽度和高度
textBar:二维码内容
keyId:实体标识关键词,暂时没有用
输出参数:0 为成功 <0 为失败
特别说明: 二维码内容可以为网址,内容越多二维码的点数越多,二维码采用 QR Code(ISO 18004)
调用示例:
cCADViewer. m_cViewer.Add2DBar(_T("二维码图层"),1, 100, 100, 200, “http://www.yttxsoft.com”, 100);
6.7 数据获取
6.7.1. string MarkGetText (string userName)
功能说明:获取批注层的文字内容
输入参数:userName: 批注人名称,可以为空
行云流水、革旧图新
54
输出参数:所有批注文本,文字之间用\r 换行
特别说明:
调用示例:
String sText = cCADViewer.MarkGetText(“admin”);
6.7.2. string GetAllText (string layName,string splitChar)
功能说明:获取指定图层的所有文字内容,用 splitChar 字符分隔
输入参数:layName: 层名称,为空则获取所有图层文字
splitChar:文字之间的分隔字符
输出参数:指定的单行文本和多行文字,文字之间用 splitChar 字符分隔
特别说明:
调用示例:
String sText = cCADViewer. GetAllText(“layer1”, “\n”);
6.8 二维码接口
6.8.1. long SetEnable2DBarcode(long enable)
功能说明:是否启用添加二维码,允许可显示主功能区
输入参数:enable: 1 允许,0 不允许
输出参数:1 为成功 0 为失败
特别说明:
调用示例:
cCADViewer. SetEnable2DBarcode (1);
6.8.2. long Set2DBarInfo(string LayerName, long colorIndex, double height, string
textBar)
功能说明:设置添加二维码的基本信息
行云流水、革旧图新
55
输入参数:
LayerName:所在图层名称
colorIndex:二维码颜色,默认 255 为层颜色
height:二维码的默认高度
textBar:二维码的内容文本
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer. Set2DBarInfo (“二维码图层”, 255,100.0,“http://www.yttxsoft.com”);
6.8.3. long Add2DBar(string LayerName, long colorIndex, double x, double y, double
height, string textBar, long keyId)
功能说明:直接添加二维码
输入参数:
LayerName:所在图层名称
colorIndex:二维码颜色,默认 255 为层颜色
x:二维码插入 X
y:二维码插入 Y
height:二维码的高度
textBar:二维码的内容文本
keyId:二维码唯一标识
输出参数:0 为成功 <0 为失败
特别说明:
调用示例:
cCADViewer. Set2DBarInfo (“二维码图层”, 255,100.0,“http://www.yttxsoft.com”);
7、如何禁止功能菜单
从 V5.4.1 开始提供可设置某些功能按钮不显示,具体办法如下:
行云流水、革旧图新
56
7.1 在网页中如何禁止
在 Object 增加参数” FuncsHide”,将需要禁止的功能代号用分号隔开,如下:
<object style="WIDTH: 803px; HEIGHT: 473px" class="xdActiveX"
classid="clsid:3F029CF6-B113-4551-A719-5BB2620D3CB1" id="cCADViewer"
name="cCADViewer" codebase= "CADView.CAB#version=6,8,0,1">
<param name="_Version" value="65536"/>
<param name="_ExtentX" value="16113"/>
<param name="_ExtentY" value="11668"/>
<param name="_StockProps" value="0"/>
<param name ="HttpFile" value="http://192.168.0.1/test1.dwg" />
<param name = "Skin" value ="3" />
// 主题样式 0-白色 1-灰色 2-黑色 3-蓝色
<param name="DisplayDriver" value ="1" /> // 使用2D显示驱动
<param name="ToolbarState" value ="1" /> // 显示功能区
<param name="SafeOpen" value ="0" /> // 使用非安全浏览
<param name="FuncsHide" value ="LAYER;BKCOLOR" /> // 禁用某些功能
功能代码:
LAYER:层管理器
BKCOLOR:背景设置
SNAP:捕捉设置
FULLSCR:全屏按钮
DIST:测量距离
AREA:测量面积
2DFRAME:2D 显示
3DFRAME:3D 显示
HIDDEN:隐藏显示
FLAT:平滑显示
GOURAND:渲染显示
3DVIEW:三维浏览功能组
PRINT: 打印按钮
行云流水、革旧图新
57
7.2 在客户端容器中如何禁止
在 VC++ 对话框中直接在 FuncsHide 属性中设置禁止的功能代码,如:LAYER;BKCOLOR
8、如何支持火狐(Firefox)浏览器?
CADViewer+从 V.6.2.0 开始支持火狐浏览器,首先确保正确安装图纸控件之后,执行安装目录下的
fCADViewer.exe,这是支持 Firefox 的插件,如下图:
,
控件开发商可将此安装包打包到统一的安装分发包中,静默参数为:
打开 Firefox 的附件组件-》插件中,可看到:
行云流水、革旧图新
58
其中有“CADViewerX hosting plugin for Firefox”,即证明安装成功。可以将“询问是否激活”改为“总是
激活”。
访问图纸控件页面,第一次可能会询问是否激活,如下图:
点击“激活….”,询问如下图,选择“长期允许”:
安装之后即可访问页面,Demo页面地址:http://view.yttxsoft.com/demo.asp
9、售后服务
北京云图天下软件有限公司(以下简称:云图天下)设有专门的售后服务团队,具有完善的售后服务
行云流水、革旧图新
59
流程体系,针对由云图天下开发的系统提供售后服务保证,云图天下承诺真诚向甲方客户提供优质可靠的
售后服务支持。
9.1 售后服务理念
追求品质卓越,以客户为中心、提供客户满意的咨询和服务,是云图天下一直以来的质量宗旨和追求。
我们始终认为客户满意是一个实实在在的可以度量的目标,要达到这一目标,不仅要确保在项目周期
过程中提供的项目服务达到客户满意的目标,尤其需要确保项目交付后的售后服务过程中持续让客户满
意,使得售后服务与项目承诺不脱节。
长期以来,在我们追求高质量的客户满意度过程中,经过不断的总结、积累、提升,形成了一套完善
的售后服务流程体系。
9.2 售后服务范围
产品自正式版购买之后,即进入售后服务过程。云图天下为客户提供定期的免费 1 年的售后服务。
免费售后服务期内,服务范围包括云图天下开发的所有产品。
售后服务的具体内容以《产品购买合同》的服务条款为准。基本的服务项目列表如下:
服务项目 详细说明
软件
产品服务器端安装指导
产品客户端安装指导
新版本通告服务
产品 BUG 改进通告
产品新版本升级通告
新需求开发 对于免费维护期间内客户提出的需求变更,云图天下将根据评估新需求的所需
工作量,收取一定的开发费用
免费售后服务期满后,服务范围和维护费率由双方协调签订维护协议。在维护协议范围内,云图天下
将一如既往地向甲方客户提供优质的售后服务。
行云流水、革旧图新
60
9.3 售后服务方式
服务方式 详细说明
邮件支持服务 经我们授权的甲方客户可将问题请求以电子邮件的形式报告给售后服务人员,售后服务人员
提供热线 5×8 小时支持服务。(Email:[email protected])
远程技术支持服
务
经客户授权后,我们可以进行远程诊断以明确问题所在。该项工作是在不影响系统运行和威
胁系统安全的前提下,得到客户同意后方可进行的。甲方客户需提供远程访问的便利,以加
快问题的解决速度。(QQ:1754353149)
软件产品的增补
及升级工作 随着我公司软件产品提升,我公司对已有客户软件提供做一定的产品升级及增补服务。
9.4 售后服务流程
甲方客户通过专线电话、E-mail、传真等途径向售后服务部门提出问题后,售后服务人员将会在规定的最
短时间内响应客户,通过电话与客户及时沟通并确认问题。
在此过程中的所有客户问题事前的记录、事中的跟踪和事后的统计分析将有一套完善的追踪记录。