def METHOD_NAME(self):
    # adjust to the variables you want in the local scope
    x, h = self.x, self.h
    d = self.ClampingSize
    t = self.thickness
    # triangle with sides: x (horizontal), h (upwards) and l
    # angles: 90° between x & h
    #           b between h & l
    #           c between l & x
    l = math.sqrt(x * x + h * h)
    b = math.degrees(math.asin(x / l))
    c = math.degrees(math.asin(h / l))
    if x > h:
        if 90 + b + c < 179:
            b = 180 - b
    else:
        if 90 + b + c < 179:
            c = 180 - c
    # small triangle top: 2*t, h1, l1        
    h1 = (2*t)/x*h
    l1 = (2*t)/x*l
    # small triangle left: x2, 2*t, l2        
    x2 = (2*t)/h*x
    l2 = (2*t)/h*l
    # render your parts here
    if self.Sturdy:
        width = sum(self.sy) + (len(self.sy) - 1) * t
        self.rectangularWall(x, width, "fffe", callback=[None, self.xHoles, None, None], move="right", label="bottom")
        self.rectangularWall(h, width, "fGfF" if self.Mounting else "fefF", callback=[None, None, None, self.hHoles], move="up", label="back")
        self.rectangularWall(x, width, "fffe", callback=[None, self.xHoles, None, None], move="left only", label="invisible")
        for i in range(2):
            self.move(x+x2+2*t + self.edges["f"].margin(), h+h1+2*t + self.edges["f"].margin(), "right", True, label="side " + str(i))
            self.polygonWallExt(borders=[x2, 0, 0, "e", x, 0, 0, "h",2*t, 90, 0, "e", 2*t, 0, 0, "e", h, 0, 0, "h",h1, 180-b, 0, "e", l+l1+l2, 180-c, 0, "e"])
            if self.Clamping:
                self.hole(0, 0, 1, color=Color.ANNOTATIONS)
                self.rectangularHole(x/2+x2,2*t+d/2,dx=d,dy=d,r=d/8)
                self.rectangularHole((x+x2+2*t)-2*t-d/2,h/2+2*t,dx=d,dy=d,r=d/8)
            self.move(x+x2+2*t + self.edges["f"].margin(), h+h1+2*t + self.edges["f"].margin(), "right", False, label="side " + str(i))
        if len(self.sy) > 1:
            for i in range(len(self.sy) - 1):
                self.move(x + self.edges["f"].margin(), h + self.edges["f"].margin(), "right", True, label="support " + str(i))
                self.polygonWallExt(borders=[x, 90, 0, "f", h, 180-b, 0, "f", l, 180-c, 0, "e"])
                if self.Clamping:
                    self.rectangularHole(x/2,d/2-t/2,dx=d,dy=d+t,r=d/8)
                    self.rectangularHole(x-d/2+t/2,h/2,dx=d+t,dy=d,r=d/8)
                self.move(x + self.edges["f"].margin(), h + self.edges["f"].margin(), "right", False, label="support " + str(i))
    else:
        self.sy.insert(0,0)
        self.sy.append(0)
        width = sum(self.sy) + (len(self.sy) - 1) * t
        self.rectangularWall(x, width, "efee", callback=[None, self.xHoles, None, None], move="right", label="bottom")
        self.rectangularWall(h, width, "eGeF" if self.Mounting else "eeeF", callback=[None, None, None, self.hHoles], move="up", label="side")
        self.rectangularWall(x, width, "efee", callback=[None, self.xHoles, None, None], move="left only", label="invisible")
        for i in range(len(self.sy) - 1):
            self.move(x + self.edges["f"].margin(), h + self.edges["f"].margin(), "right", True, label="support " + str(i))
            self.polygonWallExt(borders=[x, 90, 0, "f", h, 180-b, 0, "f", l, 180-c, 0, "e"])
            if self.Clamping:
                self.rectangularHole(x/2,d/2,dx=d,dy=d,r=d/8)
                self.rectangularHole(x-d/2,h/2,dx=d,dy=d,r=d/8)
            self.move(x + self.edges["f"].margin(), h + self.edges["f"].margin(), "right", False, label="support " + str(i))