STLtoSVG,and SVG to Bmp
先用这两个工具:
Slic3R或者Skeinforge:这个两个工具的作用就是把STL文件切片为叠加的矢量图(SVG格式)
因为SVG是分层的,一层一层的把每层都转换成一张Bmp文件
听说ImageMagick和Inkscape都可以转换
Slic3r-console的命令行用这个:
Slic3r-console --layer-height 0.25 --output D:\test.svg --export-svg "C:\test.stl"
第一个参数0.25是切片的厚度0.25mm(毫米)。后面的参数一目了然了,导出的格式的svg的。如果不指定,默认为G-code格式。
Slic3R源码当中的stl.h文件是STL文件相关数据的描述和对STL文件操作的接口(stl_open(),stl_close()等函数)。这接口的上层还封装了C++的类,以TriangleMesh类来封装ReadStlFile。ReadStlFile调用了stl_open()函数。ReadStlFile函数被更上层的Perl语言来调用。关于C/C++模块的SVG类是用来调试的时候产生作用的,不能运用到项目中。关于Slic3R中的SVG文件导出部分,是用Perl语言的Print模块的export_svg函数来完成全部写入的功能的。
B9Creator项目(项目工程源码在GitHub上)也可以把STL转换成SVG。B9是用Qt框架来开发的。Qt调用了底层的分析STL文件的算法。 B9ModelLoader类封装了STL文件解析的相关函数。B9通过AddModel来加载STL,然后保存为.b9l的文本文件,里面有相关stl文件路径和其他相关参数的描述,然后再根据b9l里面的信息进行slice,slice为slc文件,然后通过edit模块,导入slc文件,然后再导出一系列的bmp格式文件。
************************************************************************************************
注意:以上我倒腾来倒腾过去,其实最终目的是为了把stl文件切片成一系列的层,然后把每层转换成对应的位图(bmp)。所以我放弃了用Slic3R,因为它引入了Perl,引入了复杂。Perl代码以乱而闻名,所以我学习成本有点大了。 我最后还是用B9Creator来实现的,把B9的有用的类分离出来供自己调用,也折腾了好久,现在整个实现项目都传到了我的github上了,地址为:
https://github.com/CaltechFlame/stl2bmps
References:
http://stackoverflow.com/questions/9853325/how-to-convert-a-svg-to-a-png-with-image-magick
http://manual.slic3r.org/SVGOutput.html
http://manual.slic3r.org/CommandLineUsage.html
http://graphicdesign.stackexchange.com/questions/8021/how-to-batch-export-layers-of-inkscape-generated-svg-file-to-bitmap-for-sprites http://tavmjong.free.fr/INKSCAPE/MANUAL/html/CommandLine-Export.html
STLtoSVG,and SVG to Bmp的更多相关文章
- JQUERY PLUGIN:BARCODE条形码插件
1)query.barcode.js安装 同其他jquery插件一样,只需要将jquery框架和jquery.barcode.js导入页面即可. <script type="text/ ...
- 快速加载DXF、DWG格式文件控件ABViewer
ABViewer是一种高品质,低成本,高效率的多功能设计及工程文档管理应用程序. ABViewer为您提供专业的cad文件浏览和编辑工具. 支持多种格式,如:DWG格式, DXF, DWF, Hewl ...
- GoAccess日志分析工具
1.1 GoAccess简介 GoAccess是一个非常良心的开源软件,它的良心之处体现在如下方面: 1)安装简单: 2)操作容易: 3)界面酷炫: GoAccess 官网 https://goacc ...
- Barcode.js功能强大的条码生成jQuery插件
本文转载自http://www.uedsc.com/barcode-js.html Barcode.js是一个基于jQuery库的插件,用于绘制条形码或者二维码,能够生成基于DIV+CSS或者Canv ...
- 网页截图工具CutyCapt
网页截图工具CutyCapt CuteCapt是Kali Linux提供的一款网页截图工具.该工具运行在命令行中,可以将WebKit引擎解析的网页保存为图片.它保存的文件支持矢量图和位图两大类型, ...
- react技术栈实践(1)
本文来自网易云社区 作者:汪洋 背景 最近开发一个全新AB测试平台,思考了下正好可以使用react技术开发. 实践前技术准备 首先遇到一个概念,redux.这货还真不好理解,大体的理解:Store包含 ...
- (转)OL记载Arcgis Server切片
http://blog.csdn.net/gisshixisheng/article/details/47955787 概述: 本文讲述如何在OpenLayers中调用Arcgis Server切片并 ...
- PIE加载自定义服务数据详细介绍
这段时间我一直在研究如何用PIE加载在线地图服务,遇到了许多问题,多亏了技术员小姐姐的帮助,才让我能正确加载ArcGIS Online在线服务.天地图在线地图和谷歌在线地图.我是根据博客园PIE官方博 ...
- 鲜为人知的 Windows 技能
IE/Edge 竟然可以转换图片格式 SVG 转 PNG.SVG 转 BMP 在图片上点击右键,选择"图片另存为" Windows/Office 屏幕录制 office 竟然带有屏 ...
随机推荐
- [LeetCode] 116. Populating Next Right Pointers in Each Node 解决思路
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...
- Wix - 教程
1. 不错的教程 http://www.merlinia.com/mdt/WiXTutorial4.msl 2.
- 你需要知道的九大排序算法【Python实现】之快速排序
五.快速排序 基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序. 算法实现: #coding: ...
- 解决Wamp 开启vhost localhost 提示 403 Forbbiden 的问题!
非常奇怪的一个问题.我曾经从来都没有这样过!訪问 http://localhost/ 提示 403 Forbbiden. 我之前的设置一直都是这种: httpd.conf <Directory ...
- Android经常使用的五种弹出对话框
一个Android开发中经常使用对话框的小样例,共同拥有五种对话框:普通弹出对话框,单选对话框,多选对话框,输入对话框及进度条样式对话框: <LinearLayout xmlns:android ...
- Weka算法Clusterers-DBSCAN源代码分析
假设说世界上仅仅能存在一种基于密度的聚类算法的话.那么它必须是DBSCAN(Density-based spatial clustering of applications with noise).D ...
- jquery——zTree, 完美好用的树插件
Demo 这绝对是我见过最完美的tree了,尽管是国产货,但一点不输国外产品,国外的还没有见过这么强的. _______________________________________________ ...
- Jquery-uploadify多文件上传插件使用介绍
Jquery-uploadify多文件上传插件使用起来非常的给力,在此记录一下使用方法. query-uploadify插件的属性设置 <script src="JS/jquery.m ...
- 坑爹的vector iterators incompatible错误(VS中属性页-->C/C++-->代码生成-->>运行库)
之前一直被这个错误折磨着,就是不知道问题在那,后来找了很多资料,大概都是说这是因为多个线程同时操作vector的问题(参考这里).可是我这里的代码并没有问题,因为同样的代码在别的解决方案中已经成功运行 ...
- USB HID Report Descriptor 报告描述符详解
Report descriptors are composed of pieces of information. Each piece of information is called an Ite ...