前阵子闲来无事做了一些键帽模型
前阵子闲来无事做了一些键帽模型,主要是针对CherryMX键轴制作的原厂键帽和OEM版键帽,这两套模型制作完了之后,有一些网友提出来需要特殊长度的空格。 搜索了一下,发现空格键帽的长度规格的确不是很统一,虽然6.25U是比较主流的,但还有诸如6U、6.5U甚至7U等,结合与网友的交流,发现还有一些人需要3U的空格和80mm的空格…… 所以今天又花了一些时间,将主要长度的空格分别制作了一下,并导出成step格式和stl格式,方便大家使用。 空格和其他常规按键最大的不同在于:空格的上面是凸出的,其他常规按键的上表面是略微凹陷的。所以从侧视图上看,能看出来这些空格都是凸起的。 底面与常规按键也有一些差异,因为空格是比较长的按键,所以有卫星轴做左右两侧的承托,所以空格键帽里面的立柱是3个。当然常规按键中比较长的按键,例如shift、enter等按键,因为比较长所以里面的立柱也是有3个。 今天主要制作的就是上面7颗空格键帽的模型文件,分别是3U、6U、6.25U、6.5U、7U和80mm长度。 如上就是今天完成的工作,使用的建模工具是freeCAD,我很喜欢这款软件。
如何将STP格式模型转换成STL格式
一、基本操作流程 我使用的是FreeCAD软件,以下是具体过程。 1、首先启动FreeCAD,并使用“打开”功能将STP格式模型载入到工作区; 2、之后选择“视图”-“工作台”-“Mesh Design“进入到Mesh Design工作模式; 3、选中刚刚导入的STP零件,并点击菜单中的细分形状图标、也就是“实体->面形”图标; 4、在左侧任务面板中,可以看到“曲面细分”任务,此时如果直接点击“OK”按钮是可以依“标准”公差和细分粒度完成STP转STL的,但是转换出来的效果并不理想,所以可以改用其他算法和细分粒度进行转换; 5、使用Netgen算法,精细度选择“精细“、参数属性中选中“优化曲面”和“二阶元素“,此时在点击“OK”,便可以生成更高质量的STL模型; 6、如果需要生成的STL更加细腻、平滑,可以在上面第5步环节,精细度选择”非常精细“,这样生成的效果会更好,但是相应的生成出来的文件尺寸也会更大; 7、稍等片刻,完成转换,可以看到零件列表面板中已经有了STL格式的零件模型; 8、在STL零件模型上点击鼠标右键,弹出菜单中选择“导出网络”,就可以弹出Stl文件保存对话框,完成最终的文件输出了; 二、相关话题: 1、FreeCAD中的曲面细分中,标准、Mefisto、Netgen、gmsh四种方式有什么区别? 答:这是四种不同的曲面细分网格生成器、也就是不同的四种曲面生成算法。标准生成器是基于三角形进行曲面描述的,优点是速度快、缺点是复杂形状的零件难以完成准确的表述,导致生成的曲面失真严重;Mefisto相对标准生成的曲面更精细,但是依然难以处理复杂零件结构;Netgen可以使用三角形、四边形综合生成曲面形状,从而表达复杂的零件结构;gmsh是四种曲面生成器中最复杂、最慢、但也是最细腻的,因为它可以使用三角形、四边形、六边形表达曲面; 2、Netgen 曲面生成器中的优化曲面、二阶元素、四角形为主分别有什么区别? 答:如图零件,如果是曲面较多的,或曲面要求精度严格的,则应该选中曲面优化、二阶元素两个优化策略,这样可以零STL表述曲面时更加的准确、平滑。当然代价是计算量比较大、转换耗时较多、最终生成的文件尺寸也比较大。四角形为主则是当三角形、四角形描述曲面时,如果两个三角形可以构造成矩形则会使用矩形替代,这样显然会令最终的STL文件尺寸小、但因为转换过程中增加了矩形代替两个三角形的判断策略,转换时间会更长。
FreeCAD也可以完成对Modal文件的纹理贴图
以前只会使用FreeCAD进行3D模型的设计,并不会用它进行纹理贴图。今天上网搜索了一下,发现使用FreeCAD进行贴图也是很容易就可以实现的,所以接下来考虑用这个功能做一个贴图创作。 技术上不难实现,但是困难在于“做什么”——我现在越来越觉得好的产品并不是技术有多么的刁钻、先进,而是它最终的实用性和外观是否能够打动人,这一点,技术人往往会忽略。 和技术产品开发类似的是工艺产品的开发,工艺环节或工艺条件固然重要,但是如何利用现有的工艺能力设计、制造出具有美感的产品,则并不与工艺能力正相关。有关系、但不大。 所以无论是技术还是工艺,都只是辅助、锦上添花的事情。关键还在于是否有好的想法和审美,但这正是我所欠缺的。一段时间以前当我认识到自己的这个巨大的短板时,没有“豁然开朗”的畅快,反而是更加的苦恼了。因为脑袋里面总是空空如也。 于是看书、看电影、逛展览、逛博物馆……我想通过万里路的行动开阔眼界、刺激灵感,但是收效甚微。所以此时此刻,纵使我想做一个有趣的产品,但命题为“有趣”,却不知该从何处着手。
小半天儿都在调整WebGIS的页面
其实也没有做什么太复杂的工作,就是在划水、走神,一边看着视频、一边改了改前端页面中的CSS样式,写了几行JS代码。好在WebGIS也算是大概写好了,就先这样吧。 说是“大概写好了”,其实并没有彻底实现。原因是我使用的是WebGL Earth提供的一套前端框架,但是经过测试发现它的框架中存在着“不兼容”问题:例如在Android手机的微信中,打开相关的页面之后,是没有“拖拽”和“缩放”的,这个问题在它的Issue中似乎也有提及,并且一直处于“bug未修复”状态。 最近我还是一如既往地忙,所以也没有时间查找其中具体的原因,只能一叶障目的假装已经完成了大多数功能和工作。这个遗留的问题,或者就甩到以后有时间再去修补;或者就放弃使用WebGL Earth,而改用OpenLayers3重新实现一遍好了。 另外:昨天看了ES6的规范,但我还是没有太多的感觉,所以继续按照自己最熟悉的方法来写JS代码,我到现在都不知道自己写出来的JS代码究竟是基于哪套规范写出来的。 无论如何,以上工作就先如此告一段落。接下来还要用freeCAD画一画另一款产品的外壳先。