HTML5 在cad领域中的研究

来自个人百度空间的文章---2014.11.2

1、html5简介

优点:跨平台支持各种浏览器(activex只有极少数浏览器支持),下一代html协议。

缺点:目前仅支持二维。

AutoCAD的网页cadactivex版本将会下架,被其他版本取代

2、DEMO的研究

    1、功能

目前实现功能:

绘制功能:画线,画四边形,画弧,画圆,画椭圆,画B样条曲线,画文字,画标注,画半径标注

编辑功能:删除

测量功能:测面积功能,测长度功能

图层功能:实现了图层颜色,图层锁定,图层可见功能

提示功能:绘图区域中上方将显示提示信息

undoredo功能(需要在IIS下才能使用)

选择功能(不能选文字和dim)

缩放功能(鼠标中键)

平移功能(下方手型按钮)

   所有命令的基本流程是左键点击获取点,拖动鼠标绘制JIG……

   ESC取消所有命令,ENTER可以结束测量类命令

   2、使用技术

  • 所有代码使用js语言编写

  • 使用jquery等js框架操作html标签

  • 使用JSON等js框架构造数据库

  • 开发了一款简易的命令系统

  • jig采用定时器原理实现的setInterval

  • 绘制图形使用了html5中的canvas标签,同其他主流绘制引擎类似,支持像素操作和颜色混合操作

3、内存技术

      使用json框架依托的存储结构.如图:

     以“O”开头的------{存储对象}

     使用chrome浏览器为例10W条线

     软件使用前的内存:


 

     软件使用后的内存:

     没有增加多少内存,且在浏览器中编程,不必担心内存泄漏等问题,除了在IE上需要对对象循环引用和闭包引起注意以外,js编程不用考虑内存问题

4、性能

     如果图形当中有10W条线,pan一下大概需要3秒钟(所有图形绘制一遍),html5的绘制有一点问题,且只支持二维图形。后续可能有优化的空间。绘制一条线的代码如下:


 

5、后续能开发的功能

  • 在服务端将dwg文件翻译成js能很快解析的格式,例如翻译成文本格式或者xml格式。打开绘制页面时采用web技术读取服务端信息。

  • 将所有按钮功能补充完整,开发夹点功能等。

6、存在的问题

  • 由于是js代码编写,需要代码加密技术,acad采用的htmls管道来处理这个问题

  • 传输dwg文件的“伪文件”受网络传输质量的影响

附:

一、代码结构

二、功能介绍

视频:

ICAD 360-DEMO

附:代码在我的 GITHUB

GitHub - jianglin-code/H5-CAD: CAD graphics editor written in H5


 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
1、总体介绍 CADViewer+图纸浏览控件是一个实现对AutoCAD R14-2016图纸(DWG/DWF/DXF)安全浏览的ActiveX产品。CADViewer+提供平移\缩放\全图\测距\测面积\图层显示控制等常用功能,并支持VC++、Dephi、Java、VB、.Net、Php等开发语言。 2、功能介绍 安装本软件后,可以通过各类语言来调用CADViewer+控件。控件具备如下功能: 1)开窗放大功能 产品提供开窗放大功能,使用者可以根据需要对图纸进行局部放大充满窗口 2) 放大、缩小功能 使用者可以根据需要对图纸进行放大、缩小浏览,此处支持鼠标滑轮滚动对图纸进行放大、缩小的调整。 3) 全图 系统提供全图显示功能。 4)平移 此处有三种方式可使用此功能:1可以对图纸进行多方向拖动。2)单击鼠标右键,选项也由此功能键,可点击使用此功能。 5) 捕捉设置 本软件提供捕捉设置功能,方便使用者在测量距离和面积时进行点的捕捉。使用者单击鼠标右键,选择“捕捉设置”进入捕捉设置界面,即可对其进行设置。 6) 测量功能 本软件提供测量距离、测量面积两种测量功能方便用户使用。 测量距离功能 点击测量功能按钮后,使用者选定两点后即可测出两点间距离。 测量面积功能 使用者点击测量面积按钮后,单击鼠标左键进行区域选(不包含曲线选),选完成后单击鼠标右键即显示所选区域的周长和面积。 7) 图层管理 本软件提供图层管理功能,使用者单击鼠标右键或者点击图层管理的图标,选择“图层管理”进入图层管理界面,该界面可进行“显示”“冻结”“锁定”的更改,单击相应图标即可进行设置。 8) 视觉样式显示模型 视觉样式是一组设置,用来控制视口边和着色的显示。更改视觉样式的特性,而不是使用命令和设置系统变量。一旦应用了视觉样式或更改了其设置,就可以在视口查看效果。 二维线框 显示用直线和曲线表示边界的对象。光栅和 OLE 对象、线型和线宽均可见。 三维线框 显示用直线和曲线表示边界的对象。 三维隐藏 显示用三维线框表示的对象并隐藏表示后向面的直线。 三维真实 着色多边形平面间的对象,并使对象的边平滑化。将显示已附着到对象的材质。 三维概念 着色多边形平面间的对象,并使对象的边平滑化。着色使用古氏面样式,一种冷色和暖色之间的转场而不是从深色到浅色的转场。效果缺乏真实感,但是可以更方便地查看模型的细节。 3、、产品特色 1)支持多种主流编程语言 产品支持在VC++、VB、.Net和html调用控件。 2)提供可靠的安全性 用户只可在线浏览图纸文件,无法进行拷贝、另存和打印等操作。 3)无需安装AutoCAD即可实现在线浏览图纸文件 采用自主图纸解析引擎,脱离AutoCAD,即可浏览图纸文件。 4)提供了方便的浏览辅助工具 为用户提供了一系列的浏览辅助工具,方便用户进行浏览,其包括:移动、放大、缩小、充满显示、开窗放大,测量距离和面积等。 5)支持多版本CAD图纸文件 支持浏览R14-2015版本的图纸文件。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值