怎么从gltf中得到三角面片_三维激光扫描仪在激光切割中的应用

8358adcdb798f463b570afe2ed6f8d15.gif 目前,激光切割在工业生产中应用越来越广泛,所谓激光切割就是利用高功率密度激光束照射被切割材料,使材料很快被加热至汽化温度,蒸发形成孔洞,随着光束对材料的移动,孔洞连续形成宽度很窄的(如0.1mm左右)切缝,完成对材料的切割。 很多激光切割工厂会遇到这种情况,客户拿来一些钣金成品件,需要切割板材后再加工同样的产品,而遇到轮廓比较复杂的工件,测绘起来就比较麻烦。 ec4a9c44be20aec43698708818a1c978.png ddf8b71af31141b92a1252d9fd39cb48.png

检测对象:冲压钣金件

客户需求:得到产品展平后的轮廓线,可以进行激光切割。

原有传统解决方案:手工描线,卡尺测量等人工方式。

原有测量方案的弊端:人工效率慢以及测量误差较大。

检测对象

6922cc3468460c03f2b2ac502abf57ed.png 6f54ac35a2d33d3bf6ecf6b4ad85ac61.png

中科广电技术解决方案

激光三维扫描仪配合Design X和UG软件平台组成扫描逆向解决方案,能够非常快速的进行扫描-逆向-出图,有效避免人为测量误差。 a3ea424cba107c56176a203e35e3f75f.png 常用逆向工程软件: Geomagic Design X、UG、PRO/E。 Geomagic Design X是业界最全面的逆向工程软件、结合基于历史树的CAD数模和三维扫描数据处理、使您能创建出可编辑、基于特征的CAD数模并与您现有的常用CAD软件相兼容。

三维扫描过程

1、实物三维扫描涉及到实际物体的大小,表面颜色,材质,细节分布情况,形状复杂程度,有否内腔等等。 这些具体信息,客户需要提供。 2、根据客户提供的实际情况,工程师进行判断分析,估算工期和价格。 3、签订合同(附加保密条款)。 4、现场扫描或在办公室扫描,获取原始三角面片数据。 5、对三维数据进行优化处理,提交三角面片数据。 6、扫描数据与CAD数据对比; 7、偏差注释; 尺寸测量、几何公差检测扫描数据进行去除噪音等处理。

截曲轮廓线

7b8333be6551591a14170e6a4d739223.png

3b49f716ab5eccca1f27b51f0ae1a455.png

客户拿到二维图纸后马上进行激光切割,从开始扫描到切割结束只用了三十分钟的时间,把原本一天的工作时间缩短到了短短的三十分钟,效率大大提高,客户对我司解决方案非常满意。

设备推荐

63f04559d203d55b3759f087045309e3.pnga3ea424cba107c56176a203e35e3f75f.png

f69a84a65c16d2663fd36c3c84538a75.png

0557b3ac18bf7b53a00a1a92f5b42919.png

行业应用

0c0e4be556e37743b7c69fb1644778be.png

54c5d21ba764cbb67b822ffea203db7a.png

6269456b15554c320b69bb748f39ffe4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"uniform float gltf_u_dec_texcoord_0_normConstant; uniform vec2 gltf_u_dec_texcoord_0_min; vec2 gltf_a_dec_texcoord_0; uniform float gltf_u_dec_position_normConstant; uniform vec3 gltf_u_dec_position_min; vec3 gltf_a_dec_position; precision highp float; uniform mat4 u_modelViewMatrix; uniform mat4 u_projectionMatrix; #ifdef APPLY_FLATTEN uniform sampler2D gltf_flattenTexture; uniform vec4 gltf_flattenBounds; uniform mat4 gltf_flattenRenderMatrix; uniform mat4 gltf_flattenInverseRenderMatrix; uniform float gltf_flattenHeight; #endif attribute vec3 a_position; attribute vec2 a_texcoord_0; varying vec2 v_texcoord_0; void gltf_decoded_POSITION() { vec3 weightedPosition = gltf_a_dec_position; vec4 position = vec4(weightedPosition, 1.0); position = u_modelViewMatrix * position; gl_Position = u_projectionMatrix * position; #ifdef PICK_VERTEX gl_PointSize = 1.0; #endif #ifdef APPLY_FLATTEN vec4 positionRelative = gltf_flattenInverseRenderMatrix * position; vec2 flattenBoundsDimension = gltf_flattenBounds.zw - gltf_flattenBounds.xy; vec2 texCoord = (positionRelative.xy - gltf_flattenBounds.xy) / flattenBoundsDimension; bool outOfBounds = texCoord.x > 1.0 || texCoord.x < 0.0 || texCoord.y > 1.0 || texCoord.y < 0.0; vec4 color = texture2D(gltf_flattenTexture, texCoord); if(!outOfBounds && abs(color.r - 1.0) < 0.1) { positionRelative.z = gltf_flattenHeight + sin(positionRelative.z) * 0.1; gl_Position = u_projectionMatrix * gltf_flattenRenderMatrix * positionRelative; } #endif v_texcoord_0 = gltf_a_dec_texcoord_0; } void gltf_decoded_TEXCOORD_0() { gltf_a_dec_position = gltf_u_dec_position_min + a_position * gltf_u_dec_position_normConstant; gltf_decoded_POSITION(); } void main() { gltf_a_dec_texcoord_0 = gltf_u_dec_texcoord_0_min + a_texcoord_0 * gltf_u_dec_texcoord_0_normConstant; gltf_decoded_TEXCOORD_0(); } "
最新发布
02-07

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值