Web在线预览CAD(使用AUTODESK)

news/2024/10/31 1:34:38/

历经磨难终于找到了有什么办法在线打开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) APIonTokenReady(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>

在这里插入图片描述


http://www.ppmy.cn/news/907146.html

相关文章

Autodesk全系列下载,Autodesk全版本下载

Autodesk全系列下载&#xff0c;Autodesk全版本下载 Autodesk 安装信息及下载地址|http://bbs.chicg.com/read.php?tid36 下载中心 Autodesk 分类| http://bbs.chicg.com/d/category/2/0

DXF00-00 时间:2021.11.30-2021.11.30 关键词1:Autodesk CAD 关键词2:脱机帮助文档 关键词3:下载及使用

登陆Autodesk官网 https://www.autodesk.com.cn/ 点击“产品”&#xff0c;“工程建设”&#xff0c;“主要产品”&#xff0c;“AutoCAD” https://www.autodesk.com.cn/products/autocad/overview 点击左边&#xff0c;最底部&#xff0c;“支持和学习” https://knowle…

2023.7.15

同余最短路 P3403 跳楼机 题意&#xff1a;给定h高的楼层&#xff0c;起始位置在第一层&#xff0c;可以选择操作向上移动x层或y层或z层&#xff0c;回到第一层 求可以到达的楼层数 思路&#xff1a;转化题意为求axbyczk(k在[1,h]&#xff0c;x,y,z为正整数,有多少k满足条件&am…

BaseDexClassLoader加载类流程源码阅读

安卓10 类图 双亲委派机制 Java层 BaseDexClassLoader 没有loadClass实现&#xff0c;继承的是 ClassLoader 实现 路径 libcore\ojluni\src\main\java\java\lang\ClassLoader.java protected Class<?> loadClass(String name, boolean resolve)throws ClassNotFound…

unity GUI按钮点击开关面板文本

gui一般格式 1画布canvas 2面板panel 3 按钮button 4文本text 2面板panel 3按钮button 4文本text 2面板panel 3文本text playmaker ugui插件 playmaker-addons-Ecosystem uGuiProxyFull

html 开关按钮 js代码,JavaScript实现开关等效果

废话不多说了&#xff0c;直接给大家贴代码了&#xff0c;具体代码如下所示&#xff1a;开关灯 html, body { margin: 0px; padding: 0px; width: 100%; height: 100%; cursor: pointer; background-color: white; } var oBody document.getElementById("bodyEle");…

手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三)

上一次我们初步认识了SDK编程和透传&#xff0c;给模组更新FW。 这一次我们直接用一个开源平台实现我们最终的目的&#xff0c;用一个APP远程控制模组开关。 我们使用的平台是机智云提供的开发平台。 开始之前我们先把硬件搭建起来&#xff0c;大概规划一下成品的样子 电路规划…