diff --git a/add_mesh_stairs/tread.py b/add_mesh_stairs/tread.py index ba2e3bd365d9da628c74cfcf0a19e015f2a9b01f..7b75811505be836a3027cc0160933f353808990b 100644 --- a/add_mesh_stairs/tread.py +++ b/add_mesh_stairs/tread.py @@ -216,27 +216,27 @@ class Treads: elif self.typ in ["id4"]: start = [Vector([0, -self.o, 0]), Vector([0, -self.o, -self.h]), Vector([0, -self.w, 0]), Vector([0, -self.w, -self.h])] - print("CHAOS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") self.d = radians(self.run) / self.n for i in range(self.n): coords = [] # Base faces. Should be able to append more sections: tId4_faces = [[0, 1, 3, 2]] - t_inner = Matrix.Rotation(-self.t / self.o, 3, 'Z') - coords.append(t_inner * start[0]) - coords.append(t_inner * start[1]) - t_outer = Matrix.Rotation(-self.t / self.w, 3, 'Z') - coords.append(t_outer * start[2]) - coords.append(t_outer * start[3]) + t_inner = Matrix.Rotation((-self.t / self.o) + (self.d * i), 3, 'Z') + coords.append((t_inner * start[0]) + Vector([0, 0, self.r * i])) + coords.append((t_inner * start[1]) + Vector([0, 0, self.r * i])) + t_outer = Matrix.Rotation((-self.t / self.w) + (self.d * i), 3, 'Z') + coords.append((t_outer * start[2]) + Vector([0, 0, self.r * i])) + coords.append((t_outer * start[3]) + Vector([0, 0, self.r * i])) k = 0 for j in range(self.deg + 1): k = (j * 4) + 4 - tId4_faces.append([k, k + 2, k + 6, k + 4]) - tId4_faces.append([k + 1, k + 3, k + 7, k + 5]) - tId4_faces.append([k, k + 1, k + 5, k + 4]) - tId4_faces.append([k + 2, k + 3, k + 7, k + 6]) + tId4_faces.append([k, k - 4, k - 3, k + 1]) + tId4_faces.append([k - 2, k - 1, k + 3, k + 2]) + tId4_faces.append([k + 1, k - 3, k - 1, k + 3]) + tId4_faces.append([k, k - 4, k - 2, k + 2]) rot = Matrix.Rotation(((self.d * j) / self.deg) + (self.d * i), 3, 'Z') for v in start: coords.append((rot * v) + Vector([0, 0, self.r * i])) - self.G.Make_mesh(coords, tId4_faces, 'treads') + tId4_faces.append([k, k + 1, k + 3, k + 2]) + self.G.Make_mesh(coords, tId4_faces, 'treads') return