-
Notifications
You must be signed in to change notification settings - Fork 676
/
Copy pathdxf-render.js
66 lines (57 loc) · 1.57 KB
/
dxf-render.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
var inflateGrp;
var fileParentGroup;
function drawDXF(file, fileName) {
// console.group("DXF File:")
yflip = false;
Array.prototype.unique = function() {
var n = {},
r = [];
for (var i = 0; i < this.length; i++) {
if (!n[this[i]]) {
n[this[i]] = true;
r.push(this[i]);
}
}
return r;
}
fileObject = new THREE.Group();
row = [];
pwr = [];
cutSpeed = [];
parser2 = new window.DxfParser();
dxf2 = parser2.parseSync(file);
console.log(dxf2)
var fileLayers = [];
var errorcount = 0
for (i = 0; i < dxf2.entities.length; i++) {
fileLayers.push(dxf2.entities[i].layer)
console.log('drawEntity - DXF: ' + i, dxf2.entities[i])
var dxfentity = drawEntity(i, dxf2.entities[i], dxf2);
if (dxfentity) {
fileObject.add(dxfentity);
} else {
errorcount++
}
// console.log( dxf2.entities[i].type + i)
};
if (errorcount > 0) {
var message = fileName + " contained " + errorcount + " unsupported entities. These were ignored."
Metro.toast.create(message, null, 6000, 'bg-amber');
}
fileObject.name = fileName;
fileObject.userData.layers = $.unique(fileLayers);
fileObject.position.x = 0;
fileObject.position.y = 0;
// fileObject.translateX((sizexmax / 2) * -1);
// fileObject.translateY((sizeymax / 2) * -1);
// putFileObjectAtZero(fileObject);
// scene.add(fileObject);
// calcZeroOffset(fileObject)
objectsInScene.push(fileObject)
layers = [];
layers = row.unique();
viewExtents(fileParentGroup);
svgxpos = 0;
svgypos = 0;
// console.groupEnd();
};