Some Random Thoughts on Marlin | Marlin随想

为了毕设做打印机研究3D打印机啊。 1 Marlin Marlin是一种3D打印机的固件(Firmware)。所谓固件,就是刷进开发板(或者单片机,比如Arduino)的程序。我们用Arduino的时候,上传的程序就是固件。3D打印机有很多类型的,比如Makerbot,Ultimaker,ZCorp等等。其中最简便最普及的是Reprap的。Reprap是一类打印机,其中很多不同型号,其中比较有名的像Mendel, Prusa, Huxley。而它们共同的特点是由Reprap社区开发的,大多是开源的,自复制的。因此非常便于DIY和改装。 固件也是有很多种的,比较有名的就是Grbl,Sprinter,Teacup等等。Marlin是基于Grbl和Sprinter开发的,这两年非常的活跃。支持的板子和LCD型号极为丰富。参考一下Github上几种固件的活跃度。所以选择了这个固件...
Read More

PyQt+QtDesigner App Dev Workflow | PyQt + QtDesigner 小程序制作流程

0. 起因 毕设要做一个发送GCode的小程序,需要GUI。所以接触了一下PyQt. 1. 安装 需要Qt,在Qt官网下载即可。想下载的话要回答一些问题,我选的in-house deployment,接受LGPL v3之类。然后选择一个完整版的Qt,800Mb左右。 Python环境,我就用的Anaconda,一个集成的Python环境。要不然原生Python装依赖库比较麻烦。我选择的Python2.7,主要因为很多行业软件还没升到3,比如Rhino, Houdini. PyQt5,用Anaconda装比较方便。用pip的话似乎只有py3.5版本的? pyinstaller,发布为exe时用。直接 pip install pyinstaller 2. 界面制作 制作GUI需要Qt Designer。类比一下,Qt Creator相当于Visua...
Read More

Introduction to Cracking .Net Assembly | 一些.NET程序集的破解初探

0. 起因 当然就是要破解Grasshopper插件。但是其实起源于笔者破解另一个C#程序。 1. .NET .NET是微软开发的一套技术平台,在其上可以方便快捷地搭建各种应用。.NET应用是基于.NET Framework的,后者是一个类库,一个程序的基础框架,包含很多系统和常用的API。.NET框架主要适合于Windows应用的开发,毕竟是自家的操作系统。当然最近好像也开始支持Linux了,这样基于.NET编写的应用就可以跑在linux。 因为.NET框架在Windows系统上非常通用,所以很多软件都是基于.NET开发的,比如建筑学生最常用的Rhinoceros,以及同样的Rhino插件Grasshopper及GH插件。 .NET框架的一个特点是不限定编程语言,使用C#, VB.NET以及F#均可以开发,这些高级语言具有互操作性,也就是不管用什么语言都可以被编译成一套...
Read More

Getting started with Caffe | Caffe的安装与使用

本来第二篇可以写其他内容的,比如前端和Javascript、建筑大数据与可视化、仿生找形,但这篇怎么就写了深度学习了呢,说来话长。这学期选了HCI课,本来以为能学习UX设计,然而并没有学到,相反读了很多论文。期中研究的社交媒体中亲密关系的监控行为。期末大作业本来可以选作VR的,但是被分配了机器学习作为课程项目。就这样,接触了好多很多新奇的内容。 1. 卷积神经网络 原理 卷积神经网络是一种特殊的神经网络,可以用卷积处理二维区域的数据,尤其适合识别图像。 Fig1 卷积神经网络图示如图1所示,神经网络输入一张图片后,一般会用卷积核对图片每一个小区域做卷积(Convolution),卷积层后面一般会有池化层(Pooling),激活层(比如ReLU),norm之类,网络最后一般有全连接层(FC)来输出分类。 图片输入时会转成一个矩阵(or 张量?,Caffe里称为blob)...
Read More