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

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

在此处输入图片描述

这个图片 (原始 SVG 来自 Wikipedia(英语:,公共领域)是使用以下步骤创建的:

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

有没有一种简单的方法可以用在 Ubuntu 上(本地)运行的软件来制作这样的 SVG?(受电弓,一个 Blender 插件,只有损坏的下载链接;电压调节模块,另一个 Blender 插件适用于 Belnder 2.4x,但不适用于 Blender 2.6x。)

答案1

您有两个选择:

选项1

第一个需要较新版本的 Blender(可从图形化),现在可以使用自由式渲染引擎

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

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

原始 Blender 渲染: 在此处输入图片描述

自由式 SVG 输出: 在此处输入图片描述

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

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

选项 2

第二个选项仅允许您渲染贝塞尔曲线。首先,您必须安装SVG写入适用于 Python 3。你可以进入文件夹并运行

sudo python3 setup.py install

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

然后你需要下载SVG编写器对于 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。以下是输出示例

原始 Blender 曲线 在此处输入图片描述

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

答案2

Sketchup 有许多免费插件,其中一个插件正好满足您的需求,您无需购买 Sketchup pro。顺便说一句,它还能够通过免费插件导出多种类型的 3D 格式。在给出糟糕的建议之前,请检查您的信息 CS Cameron

这是供参考的插件页面

相关内容