(a_str:str, width:float=15, halign:str="left", valign:str="baseline", 
          size:int=10, depth:float=0.5, lineSpacing:float=1.15, 
          font:str="MgOpen Modata:style=Bold", segments:int=40, spacing:int=1)
return result
Renders a multi-line string into a single 3D object.
    
    __author__    = 'NerdFever.com'
    __copyright__ = 'Copyright 2018-2019 NerdFever.com'
    __version__   = ''
    __email__     = 'dave@nerdfever.com'
    __status__    = 'Development'
    __license__   = Copyright 2018-2019 NerdFever.com
Renders a multi-line string into a single 3D object.
    
    __author__    = 'NerdFever.com'
    __copyright__ = 'Copyright 2018-2019 NerdFever.com'
    __version__   = ''
    __email__     = 'dave
Renders a multi - line string into a single 3D object . __author__ = NerdFever . com __copyright__ = Copyright 2018 - 2019 NerdFever . com __version__ = __email__ = dave
def label(a_str:str, width:float=15, halign:str="left", valign:str="baseline", 
          size:int=10, depth:float=0.5, lineSpacing:float=1.15, 
          font:str="MgOpen Modata:style=Bold", segments:int=40, spacing:int=1) -> OpenSCADObject:
    """Renders a multi-line string into a single 3D object.
    
    __author__    = 'NerdFever.com'
    __copyright__ = 'Copyright 2018-2019 NerdFever.com'
    __version__   = ''
    __email__     = 'dave@nerdfever.com'
    __status__    = 'Development'
    __license__   = Copyright 2018-2019 NerdFever.com
    """

    lines = a_str.splitlines()

    texts = []

    for idx, l in enumerate(lines):
        t = text(text=l, halign=halign, valign=valign, font=font, spacing=spacing).add_param('$fn', segments)
        t = linear_extrude(height=1)(t)
        t = translate([0, -size * idx * lineSpacing, 0])(t)

        texts.append(t)

    result = union()(texts)
    result = resize([width, 0, depth])(result)
    result = translate([0, (len(lines)-1)*size / 2, 0])(result)

    return result
def label ( a_str : str , width : float = 15 , halign : str = "left" , valign : str = "baseline" , size : int = 10 , depth : float = 0.5 , lineSpacing : float = 1.15 , font : str = "MgOpen Modata:style=Bold" , segments : int = 40 , spacing : int = 1 ) -> OpenSCADObject : lines = a_str . splitlines ( ) texts = [ ] for idx , l in enumerate ( lines ) : t = text ( text = l , halign = halign , valign = valign , font = font , spacing = spacing ) . add_param ( '$fn' , segments ) t = linear_extrude ( height = 1 ) ( t ) t = translate ( [ 0 , - size * idx * lineSpacing , 0 ] ) ( t ) texts . append ( t ) result = union ( ) ( texts ) result = resize ( [ width , 0 , depth ] ) ( result ) result = translate ( [ 0 , ( len ( lines ) - 1 ) * size / 2 , 0 ] ) ( result ) return result