如何将3D模型渲染为SVG矢量图形? (平面投影)

在此处输入图像描述

此图像( 来自维基百科的原始SVG ,公共域)是使用以下过程创建的:

  1. 在Google Sketchup中创建3D模型
  2. 导出为PDF
  3. 在Inkscape中导入
  4. 保存为SVG

是否有一种简单的方法来生成这样一个SVG与在Ubuntu上运行(本机)的软件? ( Pantograph ,一个Blender插件,只打破了下载链接; VRM ,另一个Blender插件可以与Belnder 2.4x配合使用,但不适用于Blender 2.6x。)

你有两个选择:

选项1

第一个需要最近构建的Blender(可从Graphicall获得 ),现在可以使用Freestyle渲染引擎

Freestyle是一款用于3D场景的非真实感线条绘制渲染的软件。

在Freestyle中有一个插件, SVGWriter ,可以将Blender场景写入SVG 。 该页面提供了使用说明。 以下是其输出的示例:

原始搅拌机渲染: 在此处输入图像描述

Freestyle SVG输出: 在此处输入图像描述

Freestyle仍在开发中,您可以在他们的博客上关注其进展。

SVGWriter中的静止图像SVG编写器当前仅渲染一个图像,即您无法将每个帧渲染为SVG。 我已经重写了脚本来执行此操作,作者已通知我,我的修改将在未来的更新中集成到主下载中。 这是修改

选项2

第二个选项仅允许您渲染贝塞尔曲线。 首先,您必须为Python 3安装svgwrite 。您可以通过进入该文件夹并运行来完成此操作

sudo python3 setup.py install 

您可能需要将svgwrite文件夹复制到.blender / version_number / python / lib / python3.2 /

然后,您需要为Blender下载SVGwriter 。 安装Git然后运行

 git clone git://gitorious.org/blender-2-6-svg-export/blender-2-6-svg-export.git 

在下载的文件夹中,您需要复制Python脚本(以.py结尾的那些脚本)并覆盖位于./blender/[version_number]/scripts/addons/io_curve_svg/或/ usr / lib / blender / scripts中的脚本。 / addons / io_curve_svg /。

最后,在Blender中,绘制贝塞尔曲线,然后转到文件>导出> SVG。 这是输出的一个例子

原始搅拌机曲线 在此处输入图像描述

SVG输出。 为清楚起见,增加了线条粗细 在此处输入图像描述

Sketchup有许多免费插件,其中一个可以满足您的需求,而且您不需要购买Sketchup专业版。 顺便说一下,它也可以通过免费插件导出多种类型的3D格式。 在提出糟糕的建议之前检查你的信息CS Cameron

这是插件页面供参考