Вам необходимо использовать object.clone (обратный вызов)
DEMO
var canvas = new fabric.Canvas('myCanvas',{
width:window.innerWidth,
height:window.innerHeight,
});
canvas.on("mouse:over", function(e) {
if(e.target)
e.target.setStroke('orange');
canvas.renderAll();
});
canvas.on("mouse:out", function(e) {
if(e.target)
e.target.setStroke('red');
canvas.renderAll();
});
var line = new fabric.Line([10, 10, 10, 200], {
originX: 'center',
originY: 'center',
stroke: 'red',
hasControls: false,
strokeWidth: 3,
fill: 'red',
padding: 10
});
canvas.add(line);
line.clone(function(clonedLine) {
clonedLine.set({
x1: 50,
y1: 10,
x2: 50,
y2: 200,
stroke: 'green',
fill: 'green'
});
canvas.add(clonedLine);
},['padding','hasControls'])
#myCanvas {
border: 1px solid black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.7/fabric.js"></script>
<canvas id="myCanvas" >
</canvas>