当前位置: 首页 > 知识库问答 >
问题:

web - 如何将solidworks的模型嵌入到网页中运行并且进行交互?

敖淮晨
2023-11-14

有一个solidworks装配模型,希望能够嵌入到网页中,当点击某个部位的时候,能够触发函数事件,并且修改该部位的颜色。

共有2个答案

云焱
2023-11-14

��你们做成了就赶超英美了,
就我所知道的知识,
这种都是要软件厂商把他们的核心代码转化为wasm到浏览器运行才能搞定的,
参考CAD的例子,有可能solidworks也是同理
https://web.autocad.com
https://webassembly.org/
https://madewithwebassembly.com/showcase/autocad/

燕翔飞
2023-11-14

把SolidWorks 转成→ GLTF/OBJ格式:

<!DOCTYPE html><html><head>  <title>SolidWorks Model Viewer</title>  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>  <script src="https://threejs.org/examples/js/loaders/GLTFLoader.js"></script>  <style>    #model-container {      width: 100%;      height: 100vh;      background-color: #eee;    }  </style></head><body>  <div id="model-container"></div>  <script>        const scene = new THREE.Scene();    const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);    const renderer = new THREE.WebGLRenderer();    renderer.setSize(window.innerWidth, window.innerHeight);    document.getElementById('model-container').appendChild(renderer.domElement);    // 加光源    const light = new THREE.PointLight(0xffffff, 1, 1000);    light.position.set(0, 0, 10);    scene.add(light);    // 加载模型    const loader = new THREE.GLTFLoader();    loader.load('path/to/your/model.gltf', function (gltf) {      const model = gltf.scene;      scene.add(model);      camera.position.z = 5;    });    // 交互    const raycaster = new THREE.Raycaster();    const mouse = new THREE.Vector2();    function onMouseClick(event) {      mouse.x = (event.clientX / window.innerWidth) * 2 - 1;      mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;      raycaster.setFromCamera(mouse, camera);      const intersects = raycaster.intersectObjects(scene.children, true);      if (intersects.length > 0) {        const object = intersects[0].object;        object.material.color.set(0xff0000);  // 改变颜色为红色      }    }    window.addEventListener('click', onMouseClick, false);       function animate() {      requestAnimationFrame(animate);      renderer.render(scene, camera);    }    animate();  </script></body></html>
 类似资料:
  • 问题内容: 我通过腻子SSH连接到linux服务器。我试图将其作为这样的后台进程运行: 但是,在2.5小时后,终端变为非活动状态,该过程终止。无论如何,即使在终端断开连接的情况下,我仍然可以保持该过程正常进行吗? 编辑1 实际上,我尝试过,但是一旦关闭Putty SSH终端或拔出Internet插头,服务器进程就会立即停止。 在腻子里我有什么需要做的吗? 编辑2(2012年2月) 永远有一个模块。

  • 要启动Web工程,在项目中加入Jetty plugin即可: 例 9.2. 采用Jetty plugin启动web工程 build.gradle apply plugin: 'jetty' 由于Jetty plugin继承自War plugin.使用 gradle jettyRun 命令将会把你的工程启动部署到jetty容器中. 调用 gradle jettyRunWar 命令会打包并启动部署到j

  • 问题内容: 我正在尝试使用Mongoid / DeviseRails3.1模板(Mongoid_和Devise),并且不断收到错误消息,指出ExecJS无法找到JavaScript运行时。当我没有安装任何东西时,这还算公平,但是我尝试安装Node.js,Mustang和RubyRacer,但是没有任何效果。 我找不到JavaScript运行时。有关可用运行时的列表,请参见sstephenson /

  • 问题内容: 我是python的新手。只知道什么是python。我创建了以下代码(在python IDLE中): 然后,我将此页面保存在本地主机中为index.py 我使用http://localhost/index.py运行脚本 但是它没有显示执行的python脚本。而是将上面的代码显示为HTML。问题出在哪儿?请有人告诉我如何在网页中运行python吗? 问题答案: 为了显示您的代码,您需要执行

  • 目前的需求如下,大概来讲就是要嵌入一个远程web程序,并做一下联动效果。采用哪种方式比较合适,我看官方文档有讲可以采用: Iframes、WebView、WebContentsView 三种方式,哪种更适合我这个场景呢?

  • 问题内容: 我有一个页面,其中发生了许多耗时的功能。我想做的是在过程的每个步骤完成后,更新网页以使用户知道刚刚完成的步骤。本质上,用户提交查询,然后服务器查询数据库,处理数据,绘制图像并在页面上显示结果。我想让网页说出该功能执行的步骤。它会说“先查询”然后“正在处理” …等等。 伪: 我已经研究过使用Ajax来更新页面而不重新加载它,但是根据我的简单理解(对Ajax零经验),客户端将向服务器请求文