Web在线预览CAD(使用AUTODESK)

历经磨难终于找到了有什么办法在线打开cad又可以测量长度,计算的接口了!!
重点是不用钱!!!!废话不多说说下过程
1 我是在linux环境下测试开发的
2 要在linux中按curl yum install curl
3 基本上每个url都会带有token ,记得填写

1. 这个是autodesk官网

待会走的流程上面有的看

2. 登录账号,然后创建app,创建后获取Client ID 和Client Secret

在这里插入图片描述

3.获取token有24小时时效

把自己的Client ID 和Client Secret替换下面的 your-Client ID和your-Client Secret

curl -v
‘https://developer.api.autodesk.com/authentication/v1/authenticate’ -X
‘POST’ -H ‘Content-Type: application/x-www-form-urlencoded’ -d
‘client_id=your-Client ID&client_secret=your-Client
Secre
t&grant_type=client_credentials&scope=data:read data:write
bucket:create bucket:read’

4. 创建bucket your-bucketKey自己随便取后期是需要用到的

curl -v “https://developer.api.autodesk.com/oss/v2/buckets”
-X POST
-H “Content-Type: application/json”
-H “Authorization: your-token
-d ’
{
“bucketKey”:“your-bucketKey”,
“policyKey”:“transient”
}’
这里的policyKey如果是persistent就表示容器是永久的,如果是transient就表示容器是暂时的(时效24小时)
在这里插入图片描述
我这边已经提交过了所以返回存在
这个是成功返回
![在这里插入图片描述](https://img-blog.csdnimg.cn/82ec391851e245149e9512f294ff0f0e.png

5. 上传文件 去到对应的目录下

下面的mybucket填写上面申请的bucket
fileName对应的文件名称

curl -v
‘https://developer.api.autodesk.com/oss/v2/buckets/mybucket/objects/fileName

-X ‘PUT’
-H ‘Authorization: Bearer yout-token
-H ‘Content-Type: text/plain; charset=UTF-8’
-T ‘fileName
成功返回
在这里插入图片描述

6.进行解码对这个objectId(上一步获取)

http://linuxkiss.com/tools/base64.html

7.进行转换 your-Base64-Encoded URN 加密的内容 your-token

curl -X ‘POST’
-H ‘Content-Type: application/json; charset=utf-8’
-H ‘Authorization: Bearer your-token
-v ‘https://developer.api.autodesk.com/modelderivative/v2/designdata/job’

-d
‘{
“input”: {
“urn”: “your-Base64-Encoded URN”,
“compressedUrn”: true,
“rootFilename”: “A5.iam”
},
“output”: {
“destination”: {
“region”: “us”
},
“formats”: [
{
“type”: “svf”,
“views”: [
“2d”,
“3d”
]
}
]
}
}’
成功返回
在这里插入图片描述

8.最后一步展示在index.html

这两个就是token 和上一步返回的urn
YOUR_ACCESS_TOKEN

urn:<YOUR_URN_ID>

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.css">
    <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.js"></script>
</head>

<body>
  <div id="forgeViewer"></div>
</body>
<script>

var viewer;
var options = {
    env: 'AutodeskProduction',
    api: 'derivativeV2',  // for models uploaded to EMEA change this option to 'derivativeV2_EU'
    getAccessToken: function(onTokenReady) {
        //
        // TODO: Replace static access token string below with call to fetch new token from your backend
        // Both values are provided by Forge's Authentication (OAuth) API.
        //
        // Example Forge's Authentication (OAuth) API return value:
        // {
        //    "access_token": "<YOUR_APPLICATION_TOKEN>",
        //    "token_type": "Bearer",
        //    "expires_in": 86400
        // }
        //    
        var token = 'YOUR_ACCESS_TOKEN';
        var timeInSeconds = 3600; // Use value provided by Forge Authentication (OAuth) API
        onTokenReady(token, timeInSeconds);
    }
};

var documentId = 'urn:<YOUR_URN_ID>';
Autodesk.Viewing.Initializer(options, function() {

    var htmlDiv = document.getElementById('forgeViewer');
    viewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv);
    viewer.start();
    Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);

    function onDocumentLoadSuccess(viewerDocument) {
        // Choose the default viewable - most likely a 3D model, rather than a 2D sheet.
        var defaultModel = viewerDocument.getRoot().getDefaultGeometry();
        viewer.loadDocumentNode(viewerDocument, defaultModel);
    }

    function onDocumentLoadFailure() {
        console.error('Failed fetching Forge manifest');
    }    

});

</script>

在这里插入图片描述

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版本的图纸文件。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值