SVG使用javascript、d3或inkscape脚本(如inkscape GUI)合并形状

SVG使用javascript、d3或inkscape脚本(如inkscape GUI)合并形状,javascript,svg,union,diagram,Javascript,Svg,Union,Diagram,我正在做一个简单的网站,我把一些图形。现在我使用Inkscape绘制每个图。我使用Inkscape在形状之间进行并集操作。然后我保存新的图表,进行另一个并集,保存,等等。我需要重复150次:( 我想知道我是否可以使用javascript或D3库来完成它,或者至少是一种让Inkscape自动完成的方法 在理想情况下,会有一个函数: union(shapeA,shapeB): replace ShapeA and ShapeB by ShapeAunionB 你能给我一些关于这个问题的建议吗?有什

我正在做一个简单的网站,我把一些图形。现在我使用Inkscape绘制每个图。我使用Inkscape在形状之间进行并集操作。然后我保存新的图表,进行另一个并集,保存,等等。我需要重复150次:(

我想知道我是否可以使用javascript或D3库来完成它,或者至少是一种让Inkscape自动完成的方法

在理想情况下,会有一个函数:

union(shapeA,shapeB): replace ShapeA and ShapeB by ShapeAunionB

你能给我一些关于这个问题的建议吗?有什么帮助吗?

有一个开源库:

Javascript裁剪器库为直线和多边形执行剪裁和偏移。支持所有四种布尔剪裁操作-相交、并集、差分和异或。多边形可以是任何形状,包括自交多边形

功能演示:


我用Python编写了一个脚本,它调用Inkscape命令行,就像Erik Dahlström建议的网站一样

command = "inkscape -f file.svg --verb=EditDeselect --select=shapeA --select=shapeB --verb=SelectionUnion --verb=FileSave --verb=FileClose" os.system(command)

可以编写inkscape脚本来实现这一点。有关如何开始,请参阅。谢谢Erik!:)我用Python编写了一个脚本,它调用inkscape命令行,正如您建议的网站所解释的那样
command=“inkscape-f file.svg--verb=EditDeselect--select=shapeA--select=shapeB--verb=SelectionUnion--verb=FileSave--verb=FileClose”os.system(command)
我想如果你把你的解决方案作为一个答案发布就好了。