杜长宇
杜长宇 Daniel Du
Sr. Developer Consultant @ Autodesk
1860 050 3761
先轻松一下,请静心欣赏
Click Here for Demo -AEC | Click Here for Demo -car
答案就是.....
无需任何插件
几乎所有现代浏览器都支持
但是WebGL也不是那么简单
给大家介绍几种在线三维模型浏览工具
上传你的模型
在浏览器和移动设备中浏览
简单、而且免费使用!
ipt, neu, stla, stl, xlsx, jt, jpg, skp, prt, dwf, xls, png, sldasm, step, dwg, zip, nwc, model, sim, stp, ste, f3d, pdf, iges, dwt, catproduct, csv, igs, sldprt, cgr, 3dm, sab, obj, pptx, cam360, jpeg, bmp, gbxml, exp, ppt, doc, wire, ige, rcp, txt, dae, x_b, 3ds, rtf, rvt, g, sim360, iam, asm, dlv3, x_t, pps, session, xas, xpr, docx, catpart, stlb, tiff, nwd, sat, fbx, smb, smt, ifc, dwfx, tif
还在继续增加中...
View and Data API
REST API
JavaScript API
代码出没,请注意
详细看看
算了,下次吧
服务器端提供基于REST的API,用于模型的身份认证、模型上传、转换等
repo name: workflow-*-view.and.data.api
WinForm, ASP.NET WebForm, ASP.NET MVC, Node.JS(JavaScript), Python, Ruby, Curl, JSP, Android, iOS(ObjectC), Mac(Swift)
在你的页面上
引用如下 JavaScript Libraries:
<link rel="stylesheet" href="https://viewing.api.autodesk.com/viewingservice/v1/viewers/style.css" type="text/css">
<script src="https://viewing.api.autodesk.com/viewingservice/v1/viewers/viewer3D.min.js"></script>
创建一个div标签作为容器,id为"viewer"
<div id="viewer"></div>
使用JavaScript来初始化
function initialize() {
var options = {
'document' : 'urn:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXlidWNrZXQvc2t5c2NwcjEuM2Rz',
'env':'AutodeskProduction',
'getAccessToken': getToken,
'refreshToken': getToken,
};
var viewerElement = document.getElementById('viewer');
var viewer = new Autodesk.Viewing.Viewer3D(viewerElement, {});
Autodesk.Viewing.Initializer(options,function() {
viewer.start();
loadDocument(viewer, options.document);
});
}
token
function getToken() {
return "GX6OONHlQ9qoVaCSmBqJvqPFUT5i";
}
你应该写一个获取token的服务,这里只是为了演示而hardcode.
loadDocument()
function loadDocument(viewer, documentId) {
// Find the first 3d geometry and load that.
Autodesk.Viewing.Document.load(documentId, function(doc) {
var geometryItems = [];
geometryItems = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), {
'type' : 'geometry',
'role' : '3d'
}, true);
if (geometryItems.length > 0) {
viewer.load(doc.getViewablePath(geometryItems[0]));
}
}, function(errorMsg) {// onErrorCallback
alert("Load Error: " + errorMsg);
});
}
总共不超过60行代码,即可把一个可交互的三维模型嵌入到你的网页中。
详细在线教程:
https://github.com/Developer-Autodesk/tutorial-getting.started-view.and.data
漫游控制、显示/隐藏、相机视点控制、爆炸显示、屏幕截图、用户事件响应、自定义界面...
http://developer-autodesk.github.io
众多示例程序供您学习参考!
CAD设计师 - AutoCAD 或其他CAD软件
建筑设计师 - Revit 或其他建筑设计软件
机械设计师 - Inventor/Fusion或其他设计软件
3D设计师 - Max、Maya
...