肥仔教程网

SEO 优化与 Web 开发技术学习分享平台

如何通过 5个步骤使用API和宏实现SOLIDWORKS自动化

SOLIDWORKS 宏是自动执行重复性任务和流程的代码段。例如,隐藏工程图中的所有草图,从 BOM 表中快速排除特定零部件,或完成一系列建模操作。

在本文中,您将了解 SOLIDWORKS API 并学习如何创建自己的 SOLIDWORKS 宏。

glTF入门——动画_gltfloader


下面的文件是在最小gltf文件基础上增加了动画,表示的是上图所示的一个旋转的三角形,针对动画部分添加了注释

{
  "scene": 0,
  "scenes" : [
    {
      "nodes" : [ 0 ]
    }
  ],
  
  "nodes" : [
    {
      "mesh" : 0,
      // rotation属性是使用4元数表示的旋转,[0,0,0,1]表示旋转角度为0°,即没有任何旋转,这里不对四元数做相关说明,后续文章再单独介绍
      "rotation" : [ 0.0, 0.0, 0.0, 1.0 ]
    }
  ],
  
  "meshes" : [
    {
      "primitives" : [ {
        "attributes" : {
          "POSITION" : 1
        },
        "indices" : 0
      } ]
    }
  ],
  //该属性定义动画内容
  "animations": [
    {
      //表示动画数据来源
      "samplers" : [
        {
          //input对应accessors,2表示第2个序列数据,这个数据对应5个时间节点
          "input" : 2,
          //动画数据只是关键帧,interpolation定义了中间过渡动画插值方法,LINEAR表示采用线性插值
          "interpolation" : "LINEAR",
          //input对应accessors,3表示第3个序列数据,这个数据对应5个四元数表示的旋转
          "output" : 3
        }
      ],
      //通道,动画可以包含多个通道,每个通道一般都是简单的动画,多个通道组合可以产生复杂的动画效果
      "channels" : [ {
        //对应samplers[0]
        "sampler" : 0,
        //指定动画的目标对应
        "target" : {
          //对应nodes[0]
          "node" : 0,
          //这里表示nodes[0]中的rotation属性应该被执行
          "path" : "rotation"
        }
      } ]
    }
  ],

  "buffers" : [
    {
      "uri" : "data:application/octet-stream;base64,AAABAAIAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAA=",
      "byteLength" : 44
    },
    //buffers[1]表示的旋转相关的数据,响应的解码后的十六进制见后面截图,共100个字节
    {
      "uri" : "data:application/octet-stream;base64,AAAAAAAAgD4AAAA/AABAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAD0/TQ/9P00PwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAPT9ND/0/TS/AAAAAAAAAAAAAAAAAACAPw==",
      "byteLength" : 100
    }
  ],
  "bufferViews" : [
    {
      "buffer" : 0,
      "byteOffset" : 0,
      "byteLength" : 6,
      "target" : 34963
    },
    {
      "buffer" : 0,
      "byteOffset" : 8,
      "byteLength" : 36,
      "target" : 34962
    },
    // 对应buffers[1],字节长度为100
    {
      "buffer" : 1,
      "byteOffset" : 0,
      "byteLength" : 100
    }
  ],
  "accessors" : [
    {
      "bufferView" : 0,
      "byteOffset" : 0,
      "componentType" : 5123,
      "count" : 3,
      "type" : "SCALAR",
      "max" : [ 2 ],
      "min" : [ 0 ]
    },
    {
      "bufferView" : 1,
      "byteOffset" : 0,
      "componentType" : 5126,
      "count" : 3,
      "type" : "VEC3",
      "max" : [ 1.0, 1.0, 0.0 ],
      "min" : [ 0.0, 0.0, 0.0 ]
    },    
    {
	  //对应bufferViews[2]
      "bufferView" : 2,
      //起始偏移量为0
      "byteOffset" : 0,
      //5126表示数据类型为FLOAT,占用4个字节
      "componentType" : 5126,
      //有5组数据,共占用5x4=20字节,每个数据表示一个时间点
      "count" : 5,
      //数据为标量
      "type" : "SCALAR",
      "max" : [ 1.0 ],
      "min" : [ 0.0 ]
    },    
    {
      //对应bufferViews[2]
      "bufferView" : 2,
      //起始偏移量为20
      "byteOffset" : 20,
      //5126表示数据类型为FLOAT,占用4个字节
      "componentType" : 5126,
      //有5组数据,共占用5x(4x4)=80字节,每个数据对应一个四元数,表示对应时间点旋转的角度
      "count" : 5,
      //数据为VEC4向量,使用4元数来表示旋转
      "type" : "VEC4",
      "max" : [ 0.0, 0.0, 1.0, 1.0 ],
      "min" : [ 0.0, 0.0, 0.0, -0.707 ]
    }
  ],
  
  "asset" : {
    "version" : "2.0"
  }
  
}

你见过哪些实用到爆的 Java 代码技巧?

专注于Java领域优质技术,欢迎关注

作者:java小瓜哥

导语

自从毕业后,今年已经是我工作的第 8 个年头了,我甚至都快忘记了到底是那年毕业的。从出来本人一直在做 Java 相关的工作,现在终于有时间坐下来,写一篇关于 Java 写法的一篇文章,来探讨一下如果你真的是一个 Java 程序员,那你真的会写 Java 吗?

笔者是一个务实的程序员,故本文绝非扯淡文章,文中内容都是干货,望读者看后,能有所收获。

反射性能黑洞:Java高并发下的3倍提速方案

导语

某交易平台因反射调用导致吞吐量暴跌50%!本文通过

C#语言学习笔记24 —— 事件(Event)的使用

C# 事件(Event)

概述

C# 事件(Event)能够让一个类或对象,在有关注的事情发生时,通知其它类和对象。

系列专栏(十一):类语法_类别宾语是什么

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,Mozilla Web开发者博客推出了《ES6 In Depth》系列文章。CSDN已获授权,将持续对该系列进行翻译,组织成【探秘ES6】系列专栏,供大家学习借鉴。本文为该系列的第十一篇。

在感受了本系列文章前几篇的复杂程度后,我们现在得以有片刻的喘息。再没有闻所未闻的编码方式,使用生成器(Generator)编码;再没有无所不能的代理对象(Proxy Object),为JavaScript语言内部算法实现提供了钩子函数;再没有新的数据结构,避免了用户自主开发的需要。相反,我们要说说与一个旧问题相关的语法和清理技法(idiom),那就是JavaScript中对象构造函数的创建。

<< 1 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言