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


12

在此处输入图片说明

该图像(来自Wikipedia的原始SVG,公共领域)是使用以下过程创建的:

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

有没有一种简单的方法可以用在Ubuntu上运行的软件来生产这样的SVG?(Pantograph是一个Blender插件,仅具有断开的下载链接;VRM,另一个Blender插件可用于Belnder 2.4x,但不适用于Blender 2.6x。)


好吧,这完全是阴影和灯光的问题..并非难事,Inkscape拥有3D工具,只是一个矩形。
乌里·埃雷拉

这是光,阴影和透视的问题。除非您的所有对象都是矩形并且与Inkscape的等距(“ 3D”)网格的轴对齐,否则在Inkscape中很难做到这一点。
1

Answers:


6

您有两种选择:

选项1

第一个需要Blender的最新版本(可从Graphicall获取),现在可以使用Freestyle渲染引擎。

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

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

原始Blender渲染: 在此处输入图片说明

Freestyle SVG输出: 在此处输入图片说明

Freestyle仍在开发中,您可以在其博客上关注其进度。

SVGWriter中的静止图像SVG编写器当前仅渲染一幅图像,即您无法将每一帧渲染到SVG。为此,我已经重写了脚本,作者告诉我,我的修改将在以后的更新中集成到主要下载中。这是修改

选项2

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

sudo python3 setup.py install

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

然后,您需要下载SVGwriter for Blender。安装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输出。为了清晰起见,增加了线的粗细 在此处输入图片说明


1

有许多适用于Sketchup的免费插件,其中一个可以满足您的需求,而您无需购买Sketchup专业版。顺便说一下,它还可以通过免费插件导出多种类型的3D格式。给出不好的建议之前,请先检查您的信息CS Cameron

这是供参考的插件页面


很高兴知道。谷歌没有制作Linux版本,真是可惜。将尝试使用VirtualBox。
1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.