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 竟然带有屏 ...
随机推荐
- 再看C
1. clrscr(void) 清屏 clear screen;gotoxy(x,y); 移动光标至指定位置;
- tomcat+redis实现session共享缓存
一:linux下redis安装 1.wget http://download.redis.io/releases/redis-3.2.4.tar.gz 2.tar xzf redis-3.2.4.ta ...
- 轻量级mvvm Web开发框架 postby:http://zhutty.cnblogs.com
今天特别郁闷,怎么说呢,之前一直就用angular,然后这两天用的是avalon这东西,反正,一开始没时间去玩它,第一个任务就是封装个jq插件,实现一个小功能.反正呢,就是越写越郁闷.用过angula ...
- 关于IE7 兼容问题
关于a标签的写法(目前测试只针对IE7,IE8及谷歌浏览器): <a onclick = 方法名(参数);></a> 此写法在 IE8以上及谷歌浏览器使用都没有问题,但在I ...
- hdu 4940 无源汇有上下界最大流
/* <img src="http://img.blog.csdn.net/20140823174212937?watermark/2/text/aHR0cDovL2Jsb2cuY3N ...
- canvas--画宇宙
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...
- 关于解决方案和web文件夹放在同一目录路径错误的问题
今天公司要做个b2b商城,下了个源码,目的是在这个基础上改,可是源码没有解决方案,于是建立了个解决方案,然后添加网站,发现解决方案和web目录位于不同目录(解决方案总是自动生成一个目录),可是我从网上 ...
- 【socket.io研究】1.官网的一些相关说明,概述
socket.io是什么? 官网的解释是一个实时的,基于事件的通讯框架,可以再各个平台上运行,关注于效率和速度. 在javascript,ios,android,java中都实现了,可以很好的实现实时 ...
- Lambda表达式 - 浅谈
概述: 只要有委托参数类型的地方,就可以使用 Lambda表达式.在讲述Lambda表达式之前,有必要先简要说明一下 委托中的"匿名方法": using System; using ...
- NSUserDefaults的使用方法
NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等,用户再次打开程序或开机后这些数据仍然存在.默认系统允许应用程序自定义它的行为去迎合用户的喜好.你可以在程序运行的时 ...