侧边栏壁纸
博主头像
Ivan Zhang

所谓更牛,就是换个罪受

  • 累计撰写 48 篇文章
  • 累计创建 54 个标签
  • 累计收到 6 条评论

目 录CONTENT

文章目录

4. H5版网页显示图纸集成步骤

Ivan Zhang
2022-01-19 / 0 评论 / 0 点赞 / 471 阅读 / 2,185 字
温馨提示:
本文最后更新于 ,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
有什么问题或观点欢迎评论留言,或者 交流。
如果觉得文章对您有所帮助,可以给博主打赏鼓励一下。
  1. 浏览器显示 CAD 图纸,实际上真正显示的是 CAD 图纸转换生成的 ocf 文件,需要将 ocf 文件传递给前端,H5 版控件就可以解析显示 ocf 文件。
  2. 浏览器支持:支持主流的浏览器,比如 Chrome、火狐、Edge、360、QQ 等国产浏览器,IE 浏览器只支持IE11。
  3. 样例代码必须部署到服务器中,本地 html 无法加载显示 ocf 文件。
  4. GStarSDK.js 文件后引入到 HTML 文本内的 script 标签中,前端所有的功能都是该文件提供的。
  5. 第一步先初始化显示控件
属性类型必填说明
wrapidStringtrue绘图容器的DOM ID(容器需要设置宽和高)
switchLayoutCBFunctiontrue切换布局的回调函数,实现逻辑为获取相应布局数据重新开图,形参接收将切换的布局信息对象
apiHostStringtrueAPI域名,转换PDF、另存功能需要向该域名发送请求
tipsTimeNumberfalse错误提示信息存在时间(毫秒),默认3000(3秒)
mobileSizeLimitNumberfalse移动端可打开ocf文件的最大限制(字节数),默认5242880(5M)
pcSizeLimitNumberfalsePC端可打开ocf文件的最大限制(字节数),默认12582912(12M)
sizeLimitCBFunctionfalse当ocf文件超过设置的最大值后,执行该回调函数,里面可以定义自己的业务逻辑
measureAccuracyNumberfalse测量数值的精度位数,默认是2
languageStringfalse语言设置,可选'zh'(简中)/'en'(英语)/'ko'(韩语),默认'zh'
modeStringfalse填充显示模式
  • "default":默认值,粗文字不填充,其他填充图案正常填充;
  • "line":所有元素都不填充;
  • "fill":所有需要填充元素都填充
    // 初始化SDK
    var gstarSDK = new GStarSDK({
        // 容器ID
        wrapId: 'webcad',
        // 点击布局功能会触发此回调
        switchLayoutCB: switchLayout,
        // API域名,转换PDF、另存功能需要向该域名发送请求,如果没有用的转PDF、版本转换功能,则无须关注这个参数。
        apiHost: window.location.host,
        // 错误提示信息存在时间(毫秒),默认3000(3秒)
        tipsTime: 3000,
        // 移动端可打开ocf文件的最大限制(字节数),默认5242880(5M)
        mobileSizeLimit: 10242880,
        // PC端可打开ocf文件最大限制(字节数),默认12582912(12M)
        pcSizeLimit: 20582912,
        // 当ocf文件超过设置的最大值后,执行该回调函数
        sizeLimitCB: sizeLimit,
        // 语言设置,可选'zh'(简中)/'en'(英语)/'ko'(韩语),默认'zh'
        language: 'zh',
        // 测量数值的精度位数
        measureAccuracy: 3,
        // 填充显示模式,"default":默认值,粗文字不填充,其他填充图案正常填充;"line":所有元素都不填充;"fill":所有需要填充元素都填充
        mode: 'default',
    })
    
    1. 第二步打开CAD图纸默认的ocf文件,defaultocfurl是ocf文件的url地址,render功能可以渲染显示ocf文件。
    属性类型必填说明
    typeStringtrue渲染数据的类型,现仅支持"ocf"格式
    bufferDataarraybuffertruearraybuffer格式 二进制数据对象
    fileIdStringtrue当前图纸的唯一标识,转换pdf、版本转换功能,需要使用该参数
    defaultViewportBooleanfalse默认false:打开图纸时为视口为全图;true:打开图纸为图纸保存时默认视口
        // 初始化渲染默认ocf文件
        // 默认显示的ocf文件url地址
        //var defaultocfurl = 'http://localhost:63342/file/ocf/1001/test.ocf'
        var defaultocfurl = demoocfurl['*MODEL_SPACE'] || demoocfurl['*Model_Space'] || demoocfurl['default']
        getDrawSheet(defaultocfurl, function (arraybuffer) {
            gstarSDK.render('ocf', arraybuffer, fileId, true)
        })
    
    1. 点击前端的布局功能,切换到其他布局,就会执行初始化时 switchLayoutCB 定义的回调函数,回调函数中的 src 是向后台发送请求连接,其中 globalName 是布局对应的名称。需要将该布局名作为参数传给后台,后台接收这个请求后,生成该布局名对应的 ocf 文件,然后返回 ocf 文件的 url 地址。前端接收后,就可以显示 ocf 文件了。
      向后台请求的这个连接,需要后台研发编码代码实现,接收前端这个请求,转换为 ocf 后返回。

    浩辰WebCAD网页版程序及样例代码202101 - 高级版

    读取所有布局名称然后转换ocf

    0

    评论区