1.Houdini中导入SVG文件—支持所有Shape
Houdini中导入SVG文件—支持所有Shape
由于制作地图的源码需求,使用OSM的源码编辑器操作繁琐,JOSM的源码用户体验不佳,且与地形坐标的源码匹配容易出错。
在权衡了多种工具后,源码鼹鼠双鼠标源码最终选择了基于SVG格式的源码笔和线段源码开源矢量图编辑器软件Inkscape来绘制城市道路和小区地块。
Inkscape能够轻松设置画布大小,源码方便与地形对齐,源码功能强大,源码支持贝塞尔曲线,源码编辑弯曲的源码道路变得轻松许多。
尽管SVG绘制方便,源码但导入过程中却遇到麻烦。源码龙腾俱乐部源码网络上没有找到功能完善的源码SVG导入到Houdini的库,基本功能较弱,源码不支持贝塞尔曲线,只能通过折线连接贝塞尔曲线的糖果疯狂消源码起始点和结束点。
在无法找到合适的解决方案后,决定自己动手实现SVG文件导入到Houdini的功能。经过几天的努力,成功实现了这一功能。850源码搭建教程
相比其他实现方式,本Houdini导入SVG功能的主要优点在于支持所有SVG shape,包括七种:"path", "polygon", "polyline", "line", "rect", "ellipse", "circle"。针对path节点,支持导入所有Path的控制命令。
Houdini支持Python,因此寻找一个能够读取SVG的Python库相对简单。然而,并未找到功能完善的SVG Python库。幸运的是,在Inkscape的源代码中,发现了一个功能强大的纯Python SVG库。
以下是Houdini中的节点和放置在hda的code区的大量Python代码。
支持复制SVG中自定义或内嵌的属性,例如以下图所示,支持将SVG中的自定义属性或内置属性复制到生成的Houdini Primitive中。
以下是HDA下载地址: