使用 AJAX/javascript(.stl 或 .json)加载 XML3D 模型
Load XML3D models with AJAX/javascript (.stl or .json)
是否可以从 javascript/jquery/ajax 更改模型?我设法仅在 get 请求上使用基本 xml3d.js 可视化 .stl 文件(使用 xml3d-stl-plugin mentioned by ksons on Can i use xml3d with stl models?)或 xml3d .json 文件。如果能够通过 ajax 选择 3d 模型并将其可视化,那就太好了。
也许更好,如果可以直接从客户端使用文件(使用 HTML5 本地文件),就像在 http://www.html5rocks.com/en/tutorials/file/dndfiles/ 中一样(这样它就可以开始可视化由用户并同时将文件上传到服务器以使用它执行一些业务逻辑,这将节省大量时间)。
这两种解决方案中的任何一种都可以吗? (最好直接使用.stl文件)
使用 URL.createObjectURL 方法相对容易:
<input id="upload" type="file"/>
<script>
function handleFileSelect(evt) {
var file = evt.target.files[0];
$("mesh").attr("src", URL.createObjectURL(file));
};
document.getElementById('upload').addEventListener('change', handleFileSelect, false);
</script>
我将此功能添加到 xml3d-stl-plugin 示例中:http://xml3d.github.io/xml3d-stl-plugin/examples/
类似地,您可以从 XHR 创建引用。
是否可以从 javascript/jquery/ajax 更改模型?我设法仅在 get 请求上使用基本 xml3d.js 可视化 .stl 文件(使用 xml3d-stl-plugin mentioned by ksons on Can i use xml3d with stl models?)或 xml3d .json 文件。如果能够通过 ajax 选择 3d 模型并将其可视化,那就太好了。
也许更好,如果可以直接从客户端使用文件(使用 HTML5 本地文件),就像在 http://www.html5rocks.com/en/tutorials/file/dndfiles/ 中一样(这样它就可以开始可视化由用户并同时将文件上传到服务器以使用它执行一些业务逻辑,这将节省大量时间)。
这两种解决方案中的任何一种都可以吗? (最好直接使用.stl文件)
使用 URL.createObjectURL 方法相对容易:
<input id="upload" type="file"/>
<script>
function handleFileSelect(evt) {
var file = evt.target.files[0];
$("mesh").attr("src", URL.createObjectURL(file));
};
document.getElementById('upload').addEventListener('change', handleFileSelect, false);
</script>
我将此功能添加到 xml3d-stl-plugin 示例中:http://xml3d.github.io/xml3d-stl-plugin/examples/
类似地,您可以从 XHR 创建引用。