Wednesday, February 08, 2012     Register | Login | Search | Contact Us
     

Many of you already received communications about the move of the Cadence user community into cadence.com. And many of you have already joined, with over 4000 registrations in the first two weeks.

The new Cadence Community enhances the ability of Cadence users to connect and collaborate. In addition to moving the community into cadence.com -- enabling single sign-on for community, Sourcelink and Cadence events -- the new site is organized around nine technology segments, giving you easy access to product information, training, forums and blogs. Some of the new features include:
  • Ability to respond to posts via e-mail
  • Technology-specific blogs
  • Latest Web 2.0 social networking capabilities
  • Public profile options
  • Private messaging
  • Friends lists
Visit the new Cadence Community today at www.cadence.com/community and join the discussions!

Registration note: Due to the scope of the enhancements and the new SSO registration system, we were not able to migrate existing cdnusers.org member accounts. So new registrations are required, but this enables a broader set of functionality we think you'll enjoy.

Forum note: Under the guidance of forum moderators, we have taken the 20+ cdnusers.org forums and consolidated them into 11 forums on the new site. Posts have been brought over so you can leverage that posting history. CDNusers forums will be set to read only starting 7/30, and cdnusers.org will be redirected to the new community on 8/4.

Best regards,
Mike and Tom

Michael A. Catrambone - Steering Committee Chairman
Distinguished Engineer
PCB/Mechanical
UTStarcom, Inc.

Tom Diederich
Cadence Community Manager
Home
Forums
Subject: PGable Text
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
CollinWeiss
Posts: 0
Online: User is Offline
5/19/2006 8:46 AM  
I am in need of a skill function to create maskable text for rev letters etc.  I looked on the comp.cad.cadence google group and something called pgtext.il was mentioned but no code was forthcoming.  Any help would be appreciated.

CollinWeiss
Posts: 0
Online: User is Offline
6/02/2006 12:51 PM  
Here is the code that was given to me:

/*

Program Name    : cr_pgText.il

cr_pgText is a program to create text that can be used for pattern
generation. This is accomplished by drawing each character as
a polygon.  The program will prompt for a text string. The
text string can contain any charater that is defined by
symbol as described below and spaces. The program will then draw
the polygons on the user specified layer. Presently, the text patterns
are generated on the 'drawing' purpose only.
*/


procedure(cr_pgText()
    let((snapMode snapeShape text_string magAmount mtextString mSpaceBetween userGrid)
    userGrid = leDisplayOptionsForm->xSnap->value
    printf("Character input is case insensitive but output will be UPPER CASE\n")
    printf("Any Integer May Be Used With The Following Grids: (x/y Snap)\n")
    printf("Multiples of 20 - Use Grid (x/y Snap of 1.0)\n")
    printf("Multiples of 10 - Use Grid (x/y Snap of 0.5)\n")
    printf("Multiples of  5 - Use Grid (x/y Snap of 0.25)\n")
    printf("Even Multiples Other Than Above - Use a Grid (x/y Snap) of 0.1\n")
    printf("Odd Multiples Other Than Above - Use a Grid (x/y Snap) of 0.05\n")
    printf("Other Grids May Result In Line Mismatch\n")


    cr_pgTextForm()

   )
)

procedure( cr_pgTextForm()
    (text_string = (hiCreateStringField ?name
        'text_string ?prompt "Enter Text"
        ?value "" ?defValue "" ?callback
        "" ?editable t
    ))

    (magAmount = (hiCreateStringField ?name
        'magAmount ?prompt "Enter Mag"
        ?value "" ?defValue "" ?callback
        "" ?editable t
    ))

    (layerField = hiCreateLayerCyclicField(
                techGetTechFile(geGetEditCellView())
        "Layer for Polygon Text"
            ""
                nil
                (if boundp('cr_pgMLayer) list(cr_pgMLayer "drawing") leGetEntryLayer() )
        ))


    (formId = (hiCreateForm
        'cr_pgTextForm "Programmable Text Generator" "cr_pgTextCB()"
        list(text_string magAmount layerField)
        ""
    ))

    hiDisplayForm(formId)
   )

procedure(cr_pgTextCB()
    (text_string = stringToLower( ((cr_pgTextForm->text_string)->value)) )
    cr_pgMLayer = hiLayerStringToLPP(
techGetTechFile(geGetEditCellView())
               cadddr(cr_pgTextForm-> hiLayerField->value))~>name
    printf("cr_pgMLayer set to ")
        println(cr_pgMLayer)
    (magAmount = float(evalstring(((cr_pgTextForm->magAmount)->value))))
    (dspace = 2)
    (sspace = 5.000000)
    (pntr = 0)
    (mtextString = parseString(text_string "" ))
    (characterWidth = "norm")
    foreach( character mtextString
        case( characterWidth
        ("norm"
            (pntr = (pntr + (magAmount * dspace))))
        ("wide"
            (pntr = (pntr + (magAmount * dspace * 1.200000))))
        ("narrow"
            (pntr = (pntr + (magAmount * dspace * 0.600000))))
        )
        case( character
        ("m"
            (characterWidth = "wide"))
        ("w"
            (characterWidth = "wide"))
        (("i" "'" ":" ";" "(" ")" "!" "." "[" "]" "1" "\"")
            (characterWidth = "narrow"))
        (t
            (characterWidth = "norm"))
        )
        ;printf("drawing character %s\n" character)
        case( character
        (" "
           ; println("added space character")
        )
        ("a"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listAMS1 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listAMS2 pntr magAmount)
            ))
        ("b"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listBMS1 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listBMS2 pntr magAmount)
            ))
        ("c"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listCMS pntr magAmount)
            ))
        ("d"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listDMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listDMS1 pntr magAmount)
            ))
        ("e"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listEMS pntr magAmount)
            ))
        ("f"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listFMS pntr magAmount)
            ))
        ("g"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listGMS pntr magAmount)
            ))
        ("h"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listHMS pntr magAmount)
            ))
        ("i"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listIMS pntr magAmount)
            ))
        ("j"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listJMS pntr magAmount)
            ))
        ("k"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listKMS pntr magAmount)
            ))
        ("l"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listLMS pntr magAmount)
            ))
        ("m"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMMS pntr magAmount)
            ))
        ("n"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listNMS pntr magAmount)
            ))
        ("o"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listOMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listOMS1 pntr magAmount)
            ))
        ("p"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPMS1 pntr magAmount)
            ))
        ("q"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listQMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listQMS1 pntr magAmount)
            ))
        ("r"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listRMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listRMS1 pntr magAmount)
            ))
        ("s"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listSMS pntr magAmount)
            ))
        ("t"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listTMS pntr magAmount)
            ))
        ("u"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listUMS pntr magAmount)
            ))
        ("v"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listVMS pntr magAmount)
            ))
        ("w"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listWMS pntr magAmount)
            ))
        ("x"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listXMS pntr magAmount)
            ))
        ("y"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listYMS pntr magAmount)
            ))
        ("z"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listZMS pntr magAmount)
            ))
        ("0"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS0 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS01 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS02 pntr magAmount)
            ))
        ("1"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS1 pntr magAmount)
            ))
        ("2"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS2 pntr magAmount)
            ))
        ("3"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS3 pntr magAmount)
            ))
        ("4"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS4 pntr magAmount)
            ))
        ("5"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS5 pntr magAmount)
            ))
        ("6"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS6 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS61 pntr magAmount)
            ))
        ("7"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS7 pntr magAmount)
            ))
        ("8"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS8 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS81 pntr magAmount)
            ))
        ("9"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS9 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listMS91 pntr magAmount)
            ))
        ("."
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPERMS pntr magAmount)
            ))
        (","
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listCOMMS pntr magAmount)
            ))
        ("-"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listDASMS pntr magAmount)
            ))
        ("/"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listSLMS pntr magAmount)
            ))
        ("!"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listEXMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listEXMS1 pntr magAmount)
            ))
        ("?"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listQMMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listQMMS1 pntr magAmount)
            ))
        (":"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listCOLMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listCOLMS1 pntr magAmount)
            ))
        (";"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listSCMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listSCMS1 pntr magAmount)
            ))
        ("_"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listUSMS pntr magAmount)
            ))
        ("="
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listEQMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listEQMS1 pntr magAmount)
            ))
        ("+"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPLUMS pntr magAmount)
            ))
        ("*"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listASTMS pntr magAmount)
            ))
        ("'"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listAPMS pntr magAmount)
            ))
        ("("
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listLPMS pntr magAmount)
            ))
        (")"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listRPMS pntr magAmount)
            ))
        ("["
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listLBMS pntr magAmount)
            ))
        ("]"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listRBMS pntr magAmount)
            ))
        ("\\"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listBSMS pntr magAmount)
            ))
        ("\""
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listQUMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listQUMS1 pntr magAmount)
            ))
        ("%"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPCTMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPCTMS1 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listPCTMS2 pntr magAmount)
            ))
        ("$"
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listDSMS pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listDSMS1 pntr magAmount)
            )
            (dbCreatePolygon 
            getEditRep()  cr_pgMLayer
             
            modifyCoords(coords_listDSMS2 pntr magAmount)
            ))

                (t printf("The '%s' character is not supported by cr_pgText.\n" character)
                   printf("Skipping the '%s' character and leaving space for the user to insert it.\n" character)
        )
        );end case
    )
)

procedure( modifyCoords(wholelist pntrNum magAmount)
    prog( nil
    (newwholelist = list())
    (finalnewwholelist = list())
    foreach( sublistm wholelist
        (xnumberm =
        (pntrNum + ((car(sublistm) * magAmount * 1000.000000) / 1000.000000)))
        (ynumberm = ((cadr(sublistm) * magAmount * 1000.000000) / 1000.000000))
        (newsublistm = geWindowToEditPoint(getCurrentWindow()
                           list(xnumberm ynumberm))
            )
        (newwholelist = xcons(newwholelist newsublistm))
        (finalnewwholelist = reverse(newwholelist))
        (newsublistm = nil)
    )
    return(finalnewwholelist)
    )
)

;coords data

    (coords_listAMS1 = list((0.800000:0.600000)
        (0.800000:1.000000)
        (0.400000:1.000000)
        (0.400000:1.400000)
        (0.600000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.400000:2.000000)
        (0.0:1.600000)
        (0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.600000)
        (0.800000:0.600000)
    ))
    (coords_listAMS2 = list((0.800000:0.600000)
        (1.200000:0.600000)
        (1.200000:0.0)
        (1.600000:0.0)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.200000:1.000000)
        (0.800000:1.000000)
        (0.800000:0.600000)
    ))
    (coords_listBMS1 = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.400000:0.400000)
        (0.400000:0.800000)
        (0.800000:0.800000)
        (0.800000:1.200000)
        (0.400000:1.200000)
        (0.400000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
        (0.800000:0.0)
    ))
    (coords_listBMS2 = list((0.800000:0.0)
        (0.800000:0.400000)
        (1.100000:0.400000)
        (1.200000:0.500000)
        (1.200000:0.700000)
        (1.100000:0.800000)
        (0.800000:0.800000)
        (0.800000:1.200000)
        (1.100000:1.200000)
        (1.200000:1.300000)
        (1.200000:1.500000)
        (1.100000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (1.300000:2.000000)
        (1.600000:1.700000)
        (1.600000:1.200000)
        (1.400000:1.000000)
        (1.600000:0.800000)
        (1.600000:0.300000)
        (1.300000:0.0)
        (0.800000:0.0)
    ))
    (coords_listCMS = list((0.0:0.400000)
        (0.400000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:0.600000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:1.400000)
        (0.600000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.600000:1.400000)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.400000:2.000000)
        (0.0:1.600000)
        (0.0:0.400000)
    ))
    (coords_listDMS = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.400000:0.400000)
        (0.400000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
        (0.800000:0.0)
    ))
    (coords_listDMS1 = list((0.800000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.800000:0.400000)
        (0.800000:0.0)
    ))
    (coords_listEMS = list((0.0:0.0)
        (1.600000:0.0)
        (1.600000:0.400000)
        (0.400000:0.400000)
        (0.400000:0.800000)
        (1.200000:0.800000)
        (1.200000:1.200000)
        (0.400000:1.200000)
        (0.400000:1.600000)
        (1.600000:1.600000)
        (1.600000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listFMS = list((0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.800000)
        (1.200000:0.800000)
        (1.200000:1.200000)
        (0.400000:1.200000)
        (0.400000:1.600000)
        (1.600000:1.600000)
        (1.600000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listGMS = list((0.400000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:1.000000)
        (0.800000:1.000000)
        (0.800000:0.700000)
        (1.200000:0.700000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:1.400000)
        (0.600000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.600000:1.400000)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.400000:2.000000)
        (0.0:1.600000)
        (0.0:0.400000)
        (0.400000:0.0)
    ))
    (coords_listHMS = list((0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.800000)
        (1.200000:0.800000)
        (1.200000:0.0)
        (1.600000:0.0)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:1.200000)
        (0.400000:1.200000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listIMS = list((0.0:0.0)
        (0.800000:0.0)
        (0.800000:0.400000)
        (0.600000:0.400000)
        (0.600000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.0:2.000000)
        (0.0:1.600000)
        (0.200000:1.600000)
        (0.200000:0.400000)
        (0.0:0.400000)
        (0.0:0.0)
    ))
    (coords_listJMS = list((0.400000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:0.700000)
        (0.0:0.700000)
        (0.0:0.400000)
        (0.400000:0.0)
    ))
    (coords_listKMS = list((0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.800000)
        (0.600000:0.800000)
        (1.200000:0.200000)
        (1.200000:0.0)
        (1.600000:0.0)
        (1.600000:0.400000)
        (1.000000:1.000000)
        (1.600000:1.600000)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:1.800000)
        (0.600000:1.200000)
        (0.400000:1.200000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listLMS = list((0.0:0.0)
        (1.600000:0.0)
        (1.600000:0.400000)
        (0.400000:0.400000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listMMS = list((0.0:0.0)
        (0.400000:0.0)
        (0.400000:1.200000)
        (0.600000:1.200000)
        (1.000000:0.800000)
        (1.400000:1.200000)
        (1.600000:1.200000)
        (1.600000:0.0)
        (2.000000:0.0)
        (2.000000:2.000000)
        (1.600000:2.000000)
        (1.000000:1.400000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listNMS = list((0.0:0.0)
        (0.400000:0.0)
        (0.400000:1.000000)
        (0.500000:1.000000)
        (1.500000:0.0)
        (1.600000:0.0)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:1.000000)
        (1.100000:1.000000)
        (0.100000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listOMS = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:1.400000)
        (0.600000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.400000:2.000000)
        (0.0:1.600000)
        (0.0:0.400000)
        (0.400000:0.0)
        (0.800000:0.0)
    ))
    (coords_listOMS1 = list((0.800000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.800000:0.400000)
        (0.800000:0.0)
    ))
    (coords_listPMS = list((0.800000:0.800000)
        (0.800000:1.200000)
        (0.400000:1.200000)
        (0.400000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.800000)
        (0.800000:0.800000)
    ))
    (coords_listPMS1 = list((0.800000:0.800000)
        (1.300000:0.800000)
        (1.600000:1.100000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.200000:1.300000)
        (1.100000:1.200000)
        (0.800000:1.200000)
        (0.800000:0.800000)
    ))
    (coords_listQMS = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:1.400000)
        (0.600000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.400000:2.000000)
        (0.0:1.600000)
        (0.0:0.400000)
        (0.400000:0.0)
        (0.800000:0.0)
    ))
    (coords_listQMS1 = list((0.800000:0.0)
        (1.200000:0.0)
        (1.400000:-0.200000)
        (1.800000:0.200000)
        (1.600000:0.400000)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.800000:0.400000)
        (0.800000:0.0)
    ))
    (coords_listRMS = list((0.600000:0.800000)
        (0.600000:1.200000)
        (0.400000:1.200000)
        (0.400000:1.600000)
        (0.600000:1.600000)
        (0.600000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.800000)
        (0.600000:0.800000)
    ))
    (coords_listRMS1 = list((0.600000:0.800000)
        (0.800000:0.800000)
        (1.200000:0.400000)
        (1.200000:0.0)
        (1.600000:0.0)
        (1.600000:0.500000)
        (1.300000:0.800000)
        (1.600000:1.100000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.600000:2.000000)
        (0.600000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.200000:1.300000)
        (1.100000:1.200000)
        (0.600000:1.200000)
        (0.600000:0.800000)
    ))
    (coords_listSMS = list((0.300000:0.0)
        (1.300000:0.0)
        (1.600000:0.300000)
        (1.600000:0.900000)
        (1.300000:1.200000)
        (0.500000:1.200000)
        (0.400000:1.300000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.600000:1.500000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:1.100000)
        (0.300000:0.800000)
        (1.100000:0.800000)
        (1.200000:0.700000)
        (1.200000:0.500000)
        (1.100000:0.400000)
        (0.500000:0.400000)
        (0.400000:0.500000)
        (0.0:0.500000)
        (0.0:0.300000)
        (0.300000:0.0)
    ))
    (coords_listTMS = list((0.600000:0.0)
        (1.000000:0.0)
        (1.000000:1.600000)
        (1.600000:1.600000)
        (1.600000:2.000000)
        (0.0:2.000000)
        (0.0:1.600000)
        (0.600000:1.600000)
        (0.600000:0.0)
    ))
    (coords_listUMS = list((0.400000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.400000)
        (0.400000:0.0)
    ))
    (coords_listVMS = list((0.700000:0.0)
        (0.900000:0.0)
        (1.600000:0.700000)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:0.900000)
        (0.800000:0.500000)
        (0.400000:0.900000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.700000)
        (0.700000:0.0)
    ))
    (coords_listWMS = list((0.0:0.0)
        (0.400000:0.0)
        (1.000000:0.600000)
        (1.600000:0.0)
        (2.000000:0.0)
        (2.000000:2.000000)
        (1.600000:2.000000)
        (1.600000:0.800000)
        (1.400000:0.800000)
        (1.000000:1.200000)
        (0.600000:0.800000)
        (0.400000:0.800000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.0)
    ))
    (coords_listXMS = list((0.0:0.0)
        (0.400000:0.0)
        (0.400000:0.400000)
        (0.800000:0.800000)
        (1.200000:0.400000)
        (1.200000:0.0)
        (1.600000:0.0)
        (1.600000:0.600000)
        (1.200000:1.000000)
        (1.600000:1.400000)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:1.600000)
        (0.800000:1.200000)
        (0.400000:1.600000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:1.400000)
        (0.400000:1.000000)
        (0.0:0.600000)
        (0.0:0.0)
    ))
    (coords_listYMS = list((0.600000:0.0)
        (1.000000:0.0)
        (1.000000:0.700000)
        (1.600000:1.300000)
        (1.600000:2.000000)
        (1.200000:2.000000)
        (1.200000:1.500000)
        (0.800000:1.100000)
        (0.400000:1.500000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:1.300000)
        (0.600000:0.700000)
        (0.600000:0.0)
    ))
    (coords_listZMS = list((0.0:0.0)
        (1.600000:0.0)
        (1.600000:0.400000)
        (0.600000:0.400000)
        (0.600000:0.500000)
        (1.600000:1.500000)
        (1.600000:2.000000)
        (0.0:2.000000)
        (0.0:1.600000)
        (1.000000:1.600000)
        (1.000000:1.500000)
        (0.0:0.500000)
        (0.0:0.0)
    ))
    (coords_listMS0 = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.600000:0.400000)
        (0.400000:0.600000)
        (0.400000:1.400000)
        (0.600000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.400000:2.000000)
        (0.0:1.600000)
        (0.0:0.400000)
        (0.400000:0.0)
        (0.800000:0.0)
    ))
    (coords_listMS01 = list((0.800000:0.0)
        (1.200000:0.0)
        (1.600000:0.400000)
        (1.600000:1.600000)
        (1.200000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.000000:1.600000)
        (1.200000:1.400000)
        (1.200000:0.600000)
        (1.000000:0.400000)
        (0.800000:0.400000)
        (0.800000:0.0)
    ))
    (coords_listMS02 = list((0.700000:0.700000)
        (1.100000:1.100000)
        (0.900000:1.300000)
        (0.500000:0.900000)
        (0.700000:0.700000)
    ))
    (coords_listMS1 = list((0.0:0.0)
        (0.800000:0.0)
        (0.800000:0.400000)
        (0.600000:0.400000)
        (0.600000:2.000000)
        (0.200000:2.000000)
        (0.0:1.800000)
        (0.0:1.600000)
        (0.200000:1.600000)
        (0.200000:0.400000)
        (0.0:0.400000)
        (0.0:0.0)
    ))
    (coords_listMS2 = list((0.0:0.0)
        (1.600000:0.0)
        (1.600000:0.400000)
        (0.400000:0.400000)
        (0.400000:0.600000)
        (0.500000:0.700000)
        (1.300000:0.700000)
        (1.600000:1.000000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:1.500000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.200000:1.200000)
        (1.100000:1.100000)
        (0.300000:1.100000)
        (0.0:0.800000)
        (0.0:0.0)
    ))
    (coords_listMS3 = list((0.300000:0.0)
        (1.300000:0.0)
        (1.600000:0.300000)
        (1.600000:0.800000)
        (1.400000:1.000000)
        (1.600000:1.200000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:1.500000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.200000:1.300000)
        (1.100000:1.200000)
        (0.700000:1.200000)
        (0.700000:0.800000)
        (1.100000:0.800000)
        (1.200000:0.700000)
        (1.200000:0.500000)
        (1.100000:0.400000)
        (0.500000:0.400000)
        (0.400000:0.500000)
        (0.0:0.500000)
        (0.0:0.300000)
        (0.300000:0.0)
    ))
    (coords_listMS4 = list((0.0:0.800000)
        (1.000000:0.800000)
        (1.000000:0.0)
        (1.400000:0.0)
        (1.400000:0.800000)
        (1.600000:0.800000)
        (1.600000:1.200000)
        (1.400000:1.200000)
        (1.400000:2.000000)
        (1.000000:2.000000)
        (1.000000:1.200000)
        (0.400000:1.200000)
        (0.400000:2.000000)
        (0.0:2.000000)
        (0.0:0.800000)
    ))
    (coords_listMS5 = list((0.300000:0.0)
        (1.300000:0.0)
        (1.600000:0.300000)
        (1.600000:1.000000)
        (1.300000:1.300000)
        (0.500000:1.300000)
        (0.400000:1.400000)
        (0.400000:1.600000)
        (1.600000:1.600000)
        (1.600000:2.000000)
        (0.0:2.000000)
        (0.0:1.200000)
        (0.300000:0.900000)
        (1.100000:0.900000)
        (1.200000:0.800000)
        (1.200000:0.500000)
        (1.100000:0.400000)
        (0.500000:0.400000)
        (0.400000:0.500000)
        (0.0:0.500000)
        (0.0:0.300000)
        (0.300000:0.0)
    ))
    (coords_listMS6 = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.500000:0.400000)
        (0.400000:0.500000)
        (0.400000:0.700000)
        (0.500000:0.800000)
        (0.800000:0.800000)
        (0.800000:1.200000)
        (0.400000:1.200000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.600000:1.500000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:0.300000)
        (0.300000:0.0)
        (0.800000:0.0)
    ))
    (coords_listMS61 = list((0.800000:0.0)
        (1.300000:0.0)
        (1.600000:0.300000)
        (1.600000:0.900000)
        (1.300000:1.200000)
        (0.800000:1.200000)
        (0.800000:0.800000)
        (1.100000:0.800000)
        (1.200000:0.700000)
        (1.200000:0.500000)
        (1.100000:0.400000)
        (0.800000:0.400000)
        (0.800000:0.0)
    ))
    (coords_listMS7 = list((0.600000:0.0)
        (1.000000:0.0)
        (1.000000:0.800000)
        (1.600000:1.400000)
        (1.600000:2.000000)
        (0.0:2.000000)
        (0.0:1.600000)
        (1.200000:1.600000)
        (1.200000:1.500000)
        (0.600000:0.900000)
        (0.600000:0.0)
    ))
    (coords_listMS8 = list((0.800000:0.0)
        (0.800000:0.400000)
        (0.500000:0.400000)
        (0.400000:0.500000)
        (0.400000:0.700000)
        (0.500000:0.800000)
        (0.800000:0.800000)
        (0.800000:1.200000)
        (0.500000:1.200000)
        (0.400000:1.300000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (0.800000:1.600000)
        (0.800000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:1.200000)
        (0.200000:1.000000)
        (0.0:0.800000)
        (0.0:0.300000)
        (0.300000:0.0)
        (0.800000:0.0)
    ))
    (coords_listMS81 = list((0.800000:0.0)
        (1.300000:0.0)
        (1.600000:0.300000)
        (1.600000:0.800000)
        (1.400000:1.000000)
        (1.600000:1.200000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.200000:1.300000)
        (1.100000:1.200000)
        (0.800000:1.200000)
        (0.800000:0.800000)
        (1.100000:0.800000)
        (1.200000:0.700000)
        (1.200000:0.500000)
        (1.100000:0.400000)
        (0.800000:0.400000)
        (0.800000:0.0)
    ))
    (coords_listMS9 = list((0.800000:1.600000)
        (0.800000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:1.100000)
        (0.300000:0.800000)
        (0.800000:0.800000)
        (0.800000:1.200000)
        (0.500000:1.200000)
        (0.400000:1.300000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (0.800000:1.600000)
    ))
    (coords_listMS91 = list((0.800000:1.600000)
        (1.100000:1.600000)
        (1.200000:1.500000)
        (1.200000:1.300000)
        (1.100000:1.200000)
        (0.800000:1.200000)
        (0.800000:0.800000)
        (1.200000:0.800000)
        (1.200000:0.500000)
        (1.100000:0.400000)
        (0.500000:0.400000)
        (0.400000:0.500000)
        (0.0:0.500000)
        (0.0:0.300000)
        (0.300000:0.0)
        (1.300000:0.0)
        (1.600000:0.300000)
        (1.600000:1.700000)
        (1.300000:2.000000)
        (0.800000:2.000000)
        (0.800000:1.600000)
    ))
    (coords_listPERMS = list((0.100000:0.100000)
        (0.300000:0.100000)
        (0.400000:0.200000)
        (0.400000:0.400000)
        (0.300000:0.500000)
        (0.100000:0.500000)
        (0.0:0.400000)
        (0.0:0.200000)
        (0.100000:0.100000)
    ))
    (coords_listCOMMS = list((0.100000:0.100000)
        (-0.100000:-0.100000)
        (0.0:-0.200000)
        (0.400000:0.200000)
        (0.400000:0.400000)
        (0.300000:0.500000)
        (0.100000:0.500000)
        (0.0:0.400000)
        (0.0:0.200000)
        (0.100000:0.100000)
    ))
    (coords_listDASMS = list((0.0:0.900000)
        (1.600000:0.900000)
        (1.600000:1.200000)
        (0.0:1.200000)
        (0.0:0.900000)
    ))
    (coords_listSLMS = list((0.200000:0.200000)
        (1.600000:1.600000)
        (1.400000:1.800000)
        (0.0:0.400000)
        (0.200000:0.200000)
    ))
    (coords_listEXMS = list((0.100000:0.800000)
        (0.300000:0.800000)
        (0.400000:0.900000)
        (0.400000:1.900000)
        (0.300000:2.000000)
        (0.100000:2.000000)
        (0.0:1.900000)
        (0.0:0.900000)
        (0.100000:0.800000)
    ))
    (coords_listEXMS1 = list((0.100000:0.0)
        (0.300000:0.0)
        (0.400000:0.100000)
        (0.400000:0.300000)
        (0.300000:0.400000)
        (0.100000:0.400000)
        (0.0:0.300000)
        (0.0:0.100000)
        (0.100000:0.0)
    ))
    (coords_listQMMS = list((0.500000:0.600000)
        (0.900000:0.600000)
        (1.000000:0.700000)
        (1.200000:0.700000)
        (1.500000:1.000000)
        (1.500000:1.700000)
        (1.200000:2.000000)
        (0.300000:2.000000)
        (0.0:1.700000)
        (0.0:1.400000)
        (0.400000:1.400000)
        (0.400000:1.500000)
        (0.500000:1.600000)
        (1.000000:1.600000)
        (1.100000:1.500000)
        (1.100000:1.200000)
        (1.000000:1.100000)
        (0.800000:1.100000)
        (0.500000:0.800000)
        (0.500000:0.600000)
    ))
    (coords_listQMMS1 = list((0.600000:0.0)
        (0.800000:0.0)
        (0.900000:0.100000)
        (0.900000:0.300000)
        (0.800000:0.400000)
        (0.600000:0.400000)
        (0.500000:0.300000)
        (0.500000:0.100000)
        (0.600000:0.0)
    ))
    (coords_listCOLMS = list((0.100000:0.0)
        (0.300000:0.0)
        (0.400000:0.100000)
        (0.400000:0.300000)
        (0.300000:0.400000)
        (0.100000:0.400000)
        (0.0:0.300000)
        (0.0:0.100000)
        (0.100000:0.0)
    ))
    (coords_listCOLMS1 = list((0.100000:0.800000)
        (0.300000:0.800000)
        (0.400000:0.900000)
        (0.400000:1.100000)
        (0.300000:1.200000)
        (0.100000:1.200000)
        (0.0:1.100000)
        (0.0:0.900000)
        (0.100000:0.800000)
    ))
    (coords_listSCMS = list((0.100000:0.0)
        (-0.100000:-0.200000)
        (0.0:-0.300000)
        (0.400000:0.100000)
        (0.400000:0.300000)
        (0.300000:0.400000)
        (0.100000:0.400000)
        (0.0:0.300000)
        (0.0:0.100000)
        (0.100000:0.0)
    ))
    (coords_listSCMS1 = list((0.100000:0.800000)
        (0.300000:0.800000)
        (0.400000:0.900000)
        (0.400000:1.100000)
        (0.300000:1.200000)
        (0.100000:1.200000)
        (0.0:1.100000)
        (0.0:0.900000)
        (0.100000:0.800000)
    ))
    (coords_listUSMS = list((0.0:0.0)
        (1.600000:0.0)
        (1.600000:0.300000)
        (0.0:0.300000)
        (0.0:0.0)
    ))
    (coords_listEQMS = list((0.0:0.500000)
        (1.400000:0.500000)
        (1.400000:0.800000)
        (0.0:0.800000)
        (0.0:0.500000)
    ))
    (coords_listEQMS1 = list((0.0:1.200000)
        (1.400000:1.200000)
        (1.400000:1.500000)
        (0.0:1.500000)
        (0.0:1.200000)
    ))
    (coords_listPLUMS = list((0.0:0.900000)
        (0.600000:0.900000)
        (0.600000:0.300000)
        (0.900000:0.300000)
        (0.900000:0.900000)
        (1.500000:0.900000)
        (1.500000:1.200000)
        (0.900000:1.200000)
        (0.900000:1.800000)
        (0.600000:1.800000)
        (0.600000:1.200000)
        (0.0:1.200000)
        (0.0:0.900000)
    ))
    (coords_listASTMS = list((0.0:0.900000)
        (0.500000:0.900000)
        (0.100000:0.500000)
        (0.200000:0.400000)
        (0.600000:0.800000)
        (0.600000:0.300000)
        (0.800000:0.300000)
        (0.800000:0.800000)
        (1.200000:0.400000)
        (1.300000:0.500000)
        (0.900000:0.900000)
        (1.400000:0.900000)
        (1.400000:1.100000)
        (0.900000:1.100000)
        (1.300000:1.500000)
        (1.200000:1.600000)
        (0.800000:1.200000)
        (0.800000:1.700000)
        (0.600000:1.700000)
        (0.600000:1.200000)
        (0.200000:1.600000)
        (0.100000:1.500000)
        (0.500000:1.100000)
        (0.0:1.100000)
        (0.0:0.900000)
    ))
    (coords_listAPMS = list((0.0:1.700000)
        (0.100000:1.600000)
        (-0.100000:1.400000)
        (0.0:1.300000)
        (0.400000:1.700000)
        (0.400000:1.900000)
        (0.300000:2.000000)
        (0.100000:2.000000)
        (0.0:1.900000)
        (0.0:1.700000)
    ))
    (coords_listLPMS = list((0.400000:-0.200000)
        (0.700000:-0.200000)
        (0.700000:0.100000)
        (0.500000:0.100000)
        (0.300000:0.300000)
        (0.300000:1.700000)
        (0.500000:1.900000)
        (0.700000:1.900000)
        (0.700000:2.200000)
        (0.400000:2.200000)
        (0.0:1.800000)
        (0.0:0.200000)
        (0.400000:-0.200000)
    ))
    (coords_listRPMS = list((0.0:-0.200000)
        (0.300000:-0.200000)
        (0.700000:0.200000)
        (0.700000:1.800000)
        (0.300000:2.200000)
        (0.0:2.200000)
        (0.0:1.900000)
        (0.200000:1.900000)
        (0.400000:1.700000)
        (0.400000:0.300000)
        (0.200000:0.100000)
        (0.0:0.100000)
        (0.0:-0.200000)
    ))
    (coords_listLBMS = list((0.0:-0.200000)
        (0.700000:-0.200000)
        (0.700000:0.100000)
        (0.300000:0.100000)
        (0.300000:1.900000)
        (0.700000:1.900000)
        (0.700000:2.200000)
        (0.0:2.200000)
        (0.0:-0.200000)
    ))
    (coords_listRBMS = list((0.0:-0.200000)
        (0.700000:-0.200000)
        (0.700000:2.200000)
        (0.0:2.200000)
        (0.0:1.900000)
        (0.400000:1.900000)
        (0.400000:0.100000)
        (0.0:0.100000)
        (0.0:-0.200000)
    ))
    (coords_listBSMS = list((1.400000:0.200000)
        (1.600000:0.400000)
        (0.200000:1.800000)
        (0.0:1.600000)
        (1.400000:0.200000)
    ))
    (coords_listQUMS = list((0.0:1.400000)
        (0.300000:1.400000)
        (0.300000:2.200000)
        (0.0:2.200000)
        (0.0:1.400000)
    ))
    (coords_listQUMS1 = list((0.600000:1.400000)
        (0.900000:1.400000)
        (0.900000:2.200000)
        (0.600000:2.200000)
        (0.600000:1.400000)
    ))
    (coords_listPCTMS = list((0.200000:0.200000)
        (1.600000:1.600000)
        (1.400000:1.800000)
        (0.0:0.400000)
        (0.200000:0.200000)
    ))
    (coords_listPCTMS1 = list((0.100000:1.400000)
        (0.300000:1.400000)
        (0.400000:1.500000)
        (0.400000:1.700000)
        (0.300000:1.800000)
        (0.100000:1.800000)
        (0.0:1.700000)
        (0.0:1.500000)
        (0.100000:1.400000)
    ))
    (coords_listPCTMS2 = list((1.300000:0.200000)
        (1.500000:0.200000)
        (1.600000:0.300000)
        (1.600000:0.500000)
        (1.500000:0.600000)
        (1.300000:0.600000)
        (1.200000:0.500000)
        (1.200000:0.300000)
        (1.300000:0.200000)
    ))
    (coords_listDSMS = list((0.0:1.400000)
        (0.200000:1.400000)
        (0.200000:1.700000)
        (0.300000:1.800000)
        (0.700000:1.800000)
        (0.700000:1.400000)
        (0.900000:1.400000)
        (0.900000:1.800000)
        (1.300000:1.800000)
        (1.400000:1.700000)
        (1.600000:1.700000)
        (1.600000:1.800000)
        (1.400000:2.000000)
        (0.900000:2.000000)
        (0.900000:2.200000)
        (0.700000:2.200000)
        (0.700000:2.000000)
        (0.200000:2.000000)
        (0.0:1.800000)
        (0.0:1.400000)
    ))
    (coords_listDSMS1 = list((0.0:1.400000)
        (0.0:1.100000)
        (0.200000:0.900000)
        (0.700000:0.900000)
        (0.700000:0.600000)
        (0.900000:0.600000)
        (0.900000:0.900000)
        (1.300000:0.900000)
        (1.400000:0.800000)
        (1.400000:0.600000)
        (1.600000:0.600000)
        (1.600000:0.900000)
        (1.400000:1.100000)
        (0.900000:1.100000)
        (0.900000:1.400000)
        (0.700000:1.400000)
        (0.700000:1.100000)
        (0.300000:1.100000)
        (0.200000:1.200000)
        (0.200000:1.400000)
        (0.0:1.400000)
    ))
    (coords_listDSMS2 = list((0.200000:0.0)
        (0.700000:0.0)
        (0.700000:-0.200000)
        (0.900000:-0.200000)
        (0.900000:0.0)
        (1.400000:0.0)
        (1.600000:0.200000)
        (1.600000:0.600000)
        (1.400000:0.600000)
        (1.400000:0.300000)
        (1.300000:0.200000)
        (0.900000:0.200000)
        (0.900000:0.600000)
        (0.700000:0.600000)
        (0.700000:0.200000)
        (0.300000:0.200000)
        (0.200000:0.300000)
        (0.0:0.300000)
        (0.0:0.200000)
        (0.200000:0.0)
    ))


or try this one :

/*******************************************************************************
*  DISCLAIMER: The following code is provided for Cadence customers to use at  *
*   their own risk. The code may require modification to satisfy the           *
*   requirements of any user. The code and any modifications to the code may   *
*   not be compatible with current or future versions of Cadence products.     *
*   THE CODE IS PROVIDED "AS IS" AND WITH NO WARRANTIES, INCLUDING WITHOUT     *
*   LIMITATION ANY EXPRESS WARRANTIES OR IMPLIED WARRANTIES OF MERCHANTABILITY *
*   OR FITNESS FOR A PARTICULAR USE.
*
*******************************************************************************/

     /*
     Function Name :    PGtext

     Title         :    Yet another pg-able text routine.

     Synopsis      :    PGtext() => nil

     Users guide   :    None

     Description   :


     */
     ; PGtext is a program to create text that can be used

     ; for pattern generation of MEBES lithography. This is

     ; accomplished by drawing each character as a polygon.

     ; The program will prompt for a text string. The text

     ; string can contain any character that is defined by

     ; symbol as described below and spaces. The program

     ; will then draw the polygons on the current layer.

     ; The coordinate information for each of these polygons

     ; is stored as a symbol with the name of character.

     ; As an example a file containing a definition for the

     ; character "A" with the prefix "a_" would be:

     ; a_A=list( (1.000000:0.000000) (1.000000:6.500000) (2.500000:8.000000) (4.500000:8.000000) (6.000000:6.500000) (6.000000:4.000000) (1.000000:4.000000) (1.000000:3.000000) (6.000000:3.000000) (6.000000:0.000000) (7.000000:0.000000) (7.000000:7.000000) (5.000000:9.000000) (2.000000:9.000000) (0.000000:7.000000) (0.000000:0.000000))

     ; Any file containing character definitions must first be loaded.

     ; A program to create this file is provided. See "makeLetter" below.

     ; An example file containing characters a-z,A-Z and 0-9 is

     ; provided with the name "PGtext.il". ( the characters

     ; in this file are 9 units tall)

     ; The prefix is determined by setting the symbol "PGtextPreFix".

     ; A character to character spacing is determined by setting the

     ; symbol "PGtextSpacing". A grid is also specified by setting the

     ; symbol "PGtextGrid". This will force all points to this grid.

     ; PGtext also prompts for a magnification to be applied to the

     ; text. As an example: the character "A" defined above is 9 units

     ; high. If a mag of 2.0 is applied then the resultant polygon

     ; would be 18 units high. This mag is also applied to the text

     ; spacing. PGtext will allways put the text string in with a justification

     ; of lower left with no rotation or reflection. The program will

     ; leave the characters selected so that a orientation can be

     ; acomplished with reguler rotate and reflect commands.

     ;

     ; ******  makeLetter  ************

     ; makeLetter will create a definition as described above into the

     ; file defined by setting the variable "PGtextFile". This is done

     ; by first drawing the letter with a single polygon. (only one

     ; polygon can be used and no rectangles!!) Select the polygon

     ; and execute "makeLetter". This program will use the symbol

     ; "PGtextPreFix" and prompt for the character definition. It

     ; will automaticly justify the letter at the lower left extent

     ; of the polygon. (this means lower case letters cannot extend

     ; below the bottom of the line). By changing the "PGtextPreFix"

     ; different fonts can be defined. These programs use a symbol

     ; for each character, therefore only characters valid for "il"

     ; symbol names can be used. (sorry, this was the simplest way for

     ; me to accomplish this program). A space is defined as the

     ; width of the previous character.



     PGtextPreFix="a_"

     PGtextSpacing=1.5

     PGtextGrid=0.25

     PGtextFile="PGtextFile.il"



     a_B=list(  ( 1.000000:0.000000 ) ( 1.000000:8.000000 ) ( 5.250000:8.000000 ) ( 6.000000:7.250000 ) ( 6.000000:5.750000 ) ( 5.250000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:4.000000 ) ( 5.250000:4.000000 ) ( 6.000000:3.250000 ) ( 6.000000:1.750000 ) ( 5.250000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:0.000000 ) ( 5.500000:0.000000 ) ( 7.000000:1.500000 ) ( 7.000000:3.500000 ) ( 6.000000:4.500000 ) ( 7.000000:5.500000 ) ( 7.000000:7.500000 ) ( 5.500000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) )

     a_A=list(  ( 1.000000:0.000000 ) ( 1.000000:6.500000 ) ( 2.500000:8.000000 ) ( 4.500000:8.000000 ) ( 6.000000:6.500000 ) ( 6.000000:4.000000 ) ( 1.000000:4.000000 ) ( 1.000000:3.000000 ) ( 6.000000:3.000000 ) ( 6.000000:0.000000 ) ( 7.000000:0.000000 ) ( 7.000000:7.000000 ) ( 5.000000:9.000000 ) ( 2.000000:9.000000 ) ( 0.000000:7.000000 ) ( 0.000000:0.000000 ) )

     a_C=list(  ( 7.000000:3.000000 ) ( 6.000000:3.000000 ) ( 6.000000:2.500000 ) ( 4.500000:1.000000 ) ( 2.500000:1.000000 ) ( 1.000000:2.500000 ) ( 1.000000:6.500000 ) ( 2.500000:8.000000 ) ( 4.500000:8.000000 ) ( 6.000000:6.500000 ) ( 6.000000:6.000000 ) ( 7.000000:6.000000 ) ( 7.000000:7.000000 ) ( 5.000000:9.000000 ) ( 2.000000:9.000000 ) ( 0.000000:7.000000 ) ( 0.000000:2.000000 ) ( 2.000000:0.000000 ) ( 5.000000:0.000000 ) ( 7.000000:2.000000 ) )

     a_D=list(  ( 7.000000:7.000000 ) ( 5.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:8.000000 ) ( 4.500000:8.000000 ) ( 6.000000:6.500000 ) ( 6.000000:2.500000 ) ( 4.500000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:0.000000 ) ( 5.000000:0.000000 ) ( 7.000000:2.000000 ) )

     a_E=list(  ( 6.000000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:4.000000 ) ( 4.000000:4.000000 ) ( 4.000000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:8.000000 ) ( 6.000000:8.000000 ) ( 6.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 6.000000:0.000000 ) )

     a_F=list(  ( 1.000000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:4.000000 ) ( 4.000000:4.000000 ) ( 4.000000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:8.000000 ) ( 6.000000:8.000000 ) ( 6.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) )

     a_G=list(  ( 7.000000:4.000000 ) ( 4.000000:4.000000 ) ( 4.000000:3.000000 ) ( 6.000000:3.000000 ) ( 6.000000:2.500000 ) ( 4.500000:1.000000 ) ( 2.500000:1.000000 ) ( 1.000000:2.500000 ) ( 1.000000:6.500000 ) ( 2.500000:8.000000 ) ( 4.500000:8.000000 ) ( 6.000000:6.500000 ) ( 6.000000:6.000000 ) ( 7.000000:6.000000 ) ( 7.000000:7.000000 ) ( 5.000000:9.000000 ) ( 2.000000:9.000000 ) ( 0.000000:7.000000 ) ( 0.000000:2.000000 ) ( 2.000000:0.000000 ) ( 5.000000:0.000000 ) ( 7.000000:2.000000 ) )

     a_H=list(  ( 6.000000:9.000000 ) ( 5.000000:9.000000 ) ( 5.000000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:4.000000 ) ( 5.000000:4.000000 ) ( 5.000000:0.000000 ) ( 6.000000:0.000000 ) )

     a_I=list(  ( 0.000000:8.000000 ) ( 1.000000:8.000000 ) ( 1.000000:1.000000 ) ( 0.000000:1.000000 ) ( 0.000000:0.000000 ) ( 3.000000:0.000000 ) ( 3.000000:1.000000 ) ( 2.000000:1.000000 ) ( 2.000000:8.000000 ) ( 3.000000:8.000000 ) ( 3.000000:9.000000 ) ( 0.000000:9.000000 ) )

     a_J=list(  ( 7.000000:9.000000 ) ( 2.000000:9.000000 ) ( 2.000000:8.000000 ) ( 4.000000:8.000000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:3.000000 ) ( 0.000000:3.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) ( 5.000000:8.000000 ) ( 7.000000:8.000000 ) )

     a_K=list(  ( 1.000000:0.000000 ) ( 1.000000:4.000000 ) ( 2.500000:4.000000 ) ( 5.000000:1.500000 ) ( 5.000000:0.000000 ) ( 6.000000:0.000000 ) ( 6.000000:2.000000 ) ( 3.500000:4.500000 ) ( 6.000000:7.000000 ) ( 6.000000:9.000000 ) ( 5.000000:9.000000 ) ( 5.000000:7.500000 ) ( 2.500000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) )

     a_L=list(  ( 0.000000:0.000000 ) ( 6.000000:0.000000 ) ( 6.000000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) )

     a_M=list(  ( 1.000000:0.000000 ) ( 1.000000:8.000000 ) ( 1.500000:8.000000 ) ( 4.000000:5.500000 ) ( 6.500000:8.000000 ) ( 7.000000:8.000000 ) ( 7.000000:0.000000 ) ( 8.000000:0.000000 ) ( 8.000000:9.000000 ) ( 6.000000:9.000000 ) ( 4.000000:7.000000 ) ( 2.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) )

     a_N=list(  ( 1.000000:0.000000 ) ( 1.000000:6.750000 ) ( 7.000000:0.750000 ) ( 7.000000:0.000000 ) ( 8.000000:0.000000 ) ( 8.000000:9.000000 ) ( 7.000000:9.000000 ) ( 7.000000:2.250000 ) ( 1.000000:8.250000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) )

     a_P=list(  ( 6.000000:6.500000 ) ( 5.000000:6.500000 ) ( 5.000000:5.750000 ) ( 4.250000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:8.000000 ) ( 4.250000:8.000000 ) ( 5.000000:7.250000 ) ( 5.000000:6.500000 ) ( 6.000000:6.500000 ) ( 6.000000:7.500000 ) ( 4.500000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:4.000000 ) ( 4.500000:4.000000 ) ( 6.000000:5.500000 ) )

     a_Q=list(  ( 7.000000:2.000000 ) ( 6.500000:1.500000 ) ( 7.000000:1.000000 ) ( 7.000000:0.750000 ) ( 7.000000:0.000000 ) ( 6.500000:0.000000 ) ( 5.750000:0.750000 ) ( 5.000000:0.000000 ) ( 2.000000:0.000000 ) ( 0.000000:2.000000 ) ( 0.000000:7.000000 ) ( 2.000000:9.000000 ) ( 5.000000:9.000000 ) ( 7.000000:7.000000 ) ( 7.000000:4.500000 ) ( 6.000000:4.500000 ) ( 6.000000:6.500000 ) ( 4.500000:8.000000 ) ( 2.500000:8.000000 ) ( 1.000000:6.500000 ) ( 1.000000:2.500000 ) ( 2.500000:1.000000 ) ( 4.500000:1.000000 ) ( 5.000000:1.500000 ) ( 4.000000:2.500000 ) ( 4.000000:3.000000 ) ( 5.000000:3.000000 ) ( 5.750000:2.250000 ) ( 6.000000:2.500000 ) ( 6.000000:4.500000 ) ( 7.000000:4.500000 ) )

     a_R=list(  ( 6.000000:3.500000 ) ( 5.000000:4.500000 ) ( 6.000000:5.500000 ) ( 6.000000:7.500000 ) ( 4.500000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:8.000000 ) ( 4.250000:8.000000 ) ( 5.000000:7.250000 ) ( 5.000000:5.750000 ) ( 4.250000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:4.000000 ) ( 4.250000:4.000000 ) ( 5.000000:3.250000 ) ( 5.000000:0.000000 ) ( 6.000000:0.000000 ) )

     a_S=list(  ( 6.000000:8.000000 ) ( 5.000000:9.000000 ) ( 1.000000:9.000000 ) ( 0.000000:8.000000 ) ( 0.000000:5.000000 ) ( 1.000000:4.000000 ) ( 4.500000:4.000000 ) ( 5.000000:3.500000 ) ( 5.000000:1.500000 ) ( 4.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:2.250000 ) ( 0.000000:2.250000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 5.000000:0.000000 ) ( 6.000000:1.000000 ) ( 6.000000:4.000000 ) ( 5.000000:5.000000 ) ( 1.500000:5.000000 ) ( 1.000000:5.500000 ) ( 1.000000:7.500000 ) ( 1.500000:8.000000 ) ( 4.500000:8.000000 ) ( 5.000000:7.500000 ) ( 5.000000:6.750000 ) ( 6.000000:6.750000 ) )

     a_T=list(  ( 0.000000:8.000000 ) ( 3.000000:8.000000 ) ( 3.000000:0.000000 ) ( 4.000000:0.000000 ) ( 4.000000:8.000000 ) ( 7.000000:8.000000 ) ( 7.000000:9.000000 ) ( 0.000000:9.000000 ) )

     a_U=list(  ( 7.000000:9.000000 ) ( 6.000000:9.000000 ) ( 6.000000:2.500000 ) ( 4.500000:1.000000 ) ( 2.500000:1.000000 ) ( 1.000000:2.500000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:2.000000 ) ( 2.000000:0.000000 ) ( 5.000000:0.000000 ) ( 7.000000:2.000000 ) )

     a_O=list(  ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:2.000000 ) ( 2.000000:0.000000 ) ( 5.000000:0.000000 ) ( 7.000000:2.000000 ) ( 7.000000:7.000000 ) ( 5.000000:9.000000 ) ( 2.000000:9.000000 ) ( 0.000000:7.000000 ) ( 0.000000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:6.500000 ) ( 2.500000:8.000000 ) ( 4.500000:8.000000 ) ( 6.000000:6.500000 ) ( 6.000000:2.500000 ) ( 4.500000:1.000000 ) ( 2.500000:1.000000 ) ( 1.000000:2.500000 ) )

     a_V=list(  ( 7.000000:9.000000 ) ( 6.000000:9.000000 ) ( 6.000000:3.500000 ) ( 3.500000:1.000000 ) ( 3.500000:1.000000 ) ( 1.000000:3.500000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:3.000000 ) ( 3.000000:0.000000 ) ( 4.000000:0.000000 ) ( 7.000000:3.000000 ) )

     a_W=list(  ( 1.000000:9.000000 ) ( 1.000000:1.000000 ) ( 1.500000:1.000000 ) ( 4.000000:3.500000 ) ( 6.500000:1.000000 ) ( 7.000000:1.000000 ) ( 7.000000:9.000000 ) ( 8.000000:9.000000 ) ( 8.000000:0.000000 ) ( 6.000000:0.000000 ) ( 4.000000:2.000000 ) ( 2.000000:0.000000 ) ( 0.000000:0.000000 ) ( 0.000000:9.000000 ) )

     a_X=list(  ( 7.000000:1.750000 ) ( 4.250000:4.500000 ) ( 7.000000:7.250000 ) ( 7.000000:9.000000 ) ( 6.000000:9.000000 ) ( 6.000000:7.750000 ) ( 3.500000:5.250000 ) ( 1.000000:7.750000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:7.250000 ) ( 2.750000:4.500000 ) ( 0.000000:1.750000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:1.250000 ) ( 3.500000:3.750000 ) ( 6.000000:1.250000 ) ( 6.000000:0.000000 ) ( 7.000000:0.000000 ) )

     a_Y=list(  ( 7.000000:9.000000 ) ( 6.000000:9.000000 ) ( 6.000000:7.750000 ) ( 3.500000:5.250000 ) ( 1.000000:7.750000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:7.250000 ) ( 3.000000:4.250000 ) ( 3.000000:0.000000 ) ( 4.000000:0.000000 ) ( 4.000000:4.250000 ) ( 7.000000:7.250000 ) )

     a_a=list(  ( 5.000000:0.000000 ) ( 5.000000:2.500000 ) ( 4.000000:2.500000 ) ( 4.000000:1.750000 ) ( 3.250000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:3.500000 ) ( 1.500000:4.000000 ) ( 3.250000:4.000000 ) ( 4.000000:3.250000 ) ( 4.000000:2.500000 ) ( 5.000000:2.500000 ) ( 5.000000:5.000000 ) ( 4.000000:5.000000 ) ( 4.000000:4.500000 ) ( 3.500000:5.000000 ) ( 1.000000:5.000000 ) ( 0.000000:4.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 3.500000:0.000000 ) ( 4.000000:0.500000 ) ( 4.000000:0.500000 ) ( 4.000000:0.000000 ) )

     a_b=list(  ( 0.000000:0.000000 ) ( 0.000000:2.500000 ) ( 1.000000:2.500000 ) ( 1.000000:1.750000 ) ( 1.750000:1.000000 ) ( 3.500000:1.000000 ) ( 4.000000:1.500000 ) ( 4.000000:3.500000 ) ( 3.500000:4.000000 ) ( 1.750000:4.000000 ) ( 1.000000:3.250000 ) ( 1.000000:2.500000 ) ( 0.000000:2.500000 ) ( 0.000000:9.000000 ) ( 1.000000:9.000000 ) ( 1.000000:4.500000 ) ( 1.500000:5.000000 ) ( 4.000000:5.000000 ) ( 5.000000:4.000000 ) ( 5.000000:1.000000 ) ( 4.000000:0.000000 ) ( 1.500000:0.000000 ) ( 1.000000:0.500000 ) ( 1.000000:0.500000 ) ( 1.000000:0.000000 ) )

     a_c=list(  ( 5.000000:1.000000 ) ( 4.000000:0.000000 ) ( 1.000000:0.000000 ) ( 0.000000:1.000000 ) ( 0.000000:4.000000 ) ( 1.000000:5.000000 ) ( 4.000000:5.000000 ) ( 5.000000:4.000000 ) ( 5.000000:3.000000 ) ( 4.000000:3.000000 ) ( 4.000000:3.500000 ) ( 3.500000:4.000000 ) ( 1.500000:4.000000 ) ( 1.000000:3.500000 ) ( 1.000000:1.500000 ) ( 1.500000:1.000000 ) ( 3.500000:1.000000 ) ( 4.000000:1.500000 ) ( 4.000000:2.000000 ) ( 5.000000:2.000000 ) )

     a_d=list(  ( 5.000000:0.000000 ) ( 5.000000:2.500000 ) ( 4.000000:2.500000 ) ( 4.000000:1.750000 ) ( 3.250000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:3.500000 ) ( 1.500000:4.000000 ) ( 3.250000:4.000000 ) ( 4.000000:3.250000 ) ( 4.000000:2.500000 ) ( 5.000000:2.500000 ) ( 5.000000:9.000000 ) ( 4.000000:9.000000 ) ( 4.000000:4.500000 ) ( 3.500000:5.000000 ) ( 1.000000:5.000000 ) ( 0.000000:4.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 3.500000:0.000000 ) ( 4.000000:0.500000 ) ( 4.000000:0.500000 ) ( 4.000000:0.000000 ) )

     a_e=list(  ( 5.000000:1.500000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:3.500000 ) ( 1.500000:4.000000 ) ( 3.500000:4.000000 ) ( 4.000000:3.500000 ) ( 4.000000:3.000000 ) ( 1.000000:3.000000 ) ( 1.000000:2.000000 ) ( 5.000000:2.000000 ) ( 5.000000:4.000000 ) ( 4.000000:5.000000 ) ( 1.000000:5.000000 ) ( 0.000000:4.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) )

     a_f=list(  ( 2.000000:0.000000 ) ( 2.000000:4.000000 ) ( 3.000000:4.000000 ) ( 3.000000:5.000000 ) ( 2.000000:5.000000 ) ( 2.000000:7.500000 ) ( 2.500000:8.000000 ) ( 3.500000:8.000000 ) ( 4.000000:7.500000 ) ( 4.000000:7.000000 ) ( 5.000000:7.000000 ) ( 5.000000:8.000000 ) ( 4.000000:9.000000 ) ( 2.000000:9.000000 ) ( 1.000000:8.000000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:4.000000 ) ( 1.000000:4.000000 ) ( 1.000000:0.000000 ) )

     a_g=list(  ( 5.000000:4.000000 ) ( 4.000000:4.000000 ) ( 4.000000:3.750000 ) ( 3.500000:3.250000 ) ( 1.500000:3.250000 ) ( 1.000000:3.750000 ) ( 1.000000:4.500000 ) ( 1.500000:5.000000 ) ( 3.500000:5.000000 ) ( 4.000000:4.500000 ) ( 4.000000:4.000000 ) ( 5.000000:4.000000 ) ( 5.000000:5.000000 ) ( 4.000000:6.000000 ) ( 1.000000:6.000000 ) ( 0.000000:5.000000 ) ( 0.000000:3.250000 ) ( 1.000000:2.250000 ) ( 4.000000:2.250000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:1.750000 ) ( 0.000000:1.750000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) )

     a_h=list(  ( 5.000000:4.000000 ) ( 4.000000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:3.500000 ) ( 1.500000:4.000000 ) ( 3.500000:4.000000 ) ( 4.000000:3.500000 ) ( 4.000000:0.000000 ) ( 5.000000:0.000000 ) )

     a_i=list(  ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) )

     a_j=list(  ( 5.000000:6.000000 ) ( 4.000000:6.000000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:2.000000 ) ( 0.000000:2.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) )

     a_k=list(  ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:2.000000 ) ( 3.000000:0.000000 ) ( 4.000000:0.000000 ) ( 4.000000:0.500000 ) ( 2.000000:2.500000 ) ( 4.000000:4.500000 ) ( 4.000000:5.500000 ) ( 3.500000:5.500000 ) ( 1.000000:3.000000 ) ( 1.000000:9.000000 ) ( 0.000000:9.000000 ) )

     a_l=list(  ( 2.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:8.000000 ) ( 1.000000:8.000000 ) ( 1.000000:0.000000 ) ( 2.000000:0.000000 ) )

     a_m=list(  ( 6.000000:4.000000 ) ( 5.000000:5.000000 ) ( 3.500000:5.000000 ) ( 3.000000:4.500000 ) ( 2.500000:5.000000 ) ( 1.500000:5.000000 ) ( 1.000000:4.500000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:3.000000 ) ( 1.000000:3.250000 ) ( 1.750000:4.000000 ) ( 2.000000:4.000000 ) ( 2.500000:3.500000 ) ( 2.500000:0.000000 ) ( 3.500000:0.000000 ) ( 3.500000:3.500000 ) ( 4.000000:4.000000 ) ( 4.500000:4.000000 ) ( 5.000000:3.500000 ) ( 5.000000:3.000000 ) ( 5.000000:0.000000 ) ( 6.000000:0.000000 ) )

     a_n=list(  ( 5.000000:4.000000 ) ( 4.000000:5.000000 ) ( 1.500000:5.000000 ) ( 1.000000:4.500000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:3.250000 ) ( 1.750000:4.000000 ) ( 3.500000:4.000000 ) ( 4.000000:3.500000 ) ( 4.000000:0.000000 ) ( 5.000000:0.000000 ) )

     a_o=list(  ( 5.000000:1.000000 ) ( 4.000000:0.000000 ) ( 1.000000:0.000000 ) ( 0.000000:1.000000 ) ( 0.000000:4.000000 ) ( 1.000000:5.000000 ) ( 4.000000:5.000000 ) ( 5.000000:4.000000 ) ( 5.000000:2.500000 ) ( 4.000000:2.500000 ) ( 4.000000:3.500000 ) ( 3.500000:4.000000 ) ( 1.500000:4.000000 ) ( 1.000000:3.500000 ) ( 1.000000:1.500000 ) ( 1.500000:1.000000 ) ( 3.500000:1.000000 ) ( 4.000000:1.500000 ) ( 4.000000:2.500000 ) ( 5.000000:2.500000 ) )

     a_p=list(  ( 0.000000:7.000000 ) ( 0.000000:4.500000 ) ( 1.000000:4.500000 ) ( 1.000000:5.250000 ) ( 1.750000:6.000000 ) ( 3.500000:6.000000 ) ( 4.000000:5.500000 ) ( 4.000000:3.500000 ) ( 3.500000:3.000000 ) ( 1.750000:3.000000 ) ( 1.000000:3.750000 ) ( 1.000000:4.500000 ) ( 0.000000:4.500000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:2.500000 ) ( 1.500000:2.000000 ) ( 4.000000:2.000000 ) ( 5.000000:3.000000 ) ( 5.000000:6.000000 ) ( 4.000000:7.000000 ) ( 1.500000:7.000000 ) ( 1.000000:6.500000 ) ( 1.000000:6.500000 ) ( 1.000000:7.000000 ) )

     a_q=list(  ( 5.000000:7.000000 ) ( 5.000000:4.500000 ) ( 4.000000:4.500000 ) ( 4.000000:5.250000 ) ( 3.250000:6.000000 ) ( 1.500000:6.000000 ) ( 1.000000:5.500000 ) ( 1.000000:3.500000 ) ( 1.500000:3.000000 ) ( 3.250000:3.000000 ) ( 4.000000:3.750000 ) ( 4.000000:4.500000 ) ( 5.000000:4.500000 ) ( 5.000000:0.000000 ) ( 4.000000:0.000000 ) ( 4.000000:2.500000 ) ( 3.500000:2.000000 ) ( 1.000000:2.000000 ) ( 0.000000:3.000000 ) ( 0.000000:6.000000 ) ( 1.000000:7.000000 ) ( 3.500000:7.000000 ) ( 4.000000:6.500000 ) ( 4.000000:6.500000 ) ( 4.000000:7.000000 ) )

     a_r=list(  ( 4.000000:5.000000 ) ( 1.750000:5.000000 ) ( 1.000000:4.250000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:3.000000 ) ( 2.000000:4.000000 ) ( 4.000000:4.000000 ) )

     a_s=list(  ( 5.000000:2.000000 ) ( 4.000000:3.000000 ) ( 1.500000:3.000000 ) ( 1.250000:3.000000 ) ( 1.000000:3.250000 ) ( 1.000000:3.750000 ) ( 1.250000:4.000000 ) ( 1.500000:4.000000 ) ( 3.500000:4.000000 ) ( 3.750000:4.000000 ) ( 4.000000:3.750000 ) ( 4.000000:3.500000 ) ( 5.000000:3.500000 ) ( 5.000000:4.000000 ) ( 4.000000:5.000000 ) ( 1.000000:5.000000 ) ( 0.000000:4.000000 ) ( 0.000000:3.000000 ) ( 1.000000:2.000000 ) ( 3.500000:2.000000 ) ( 3.750000:2.000000 ) ( 4.000000:1.750000 ) ( 4.000000:1.250000 ) ( 3.750000:1.000000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.250000:1.000000 ) ( 1.000000:1.250000 ) ( 1.000000:1.500000 ) ( 0.000000:1.500000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) )

     a_u=list(  ( 5.000000:5.000000 ) ( 4.000000:5.000000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) )

     a_v=list(  ( 5.000000:5.000000 ) ( 4.000000:5.000000 ) ( 4.000000:2.500000 ) ( 2.500000:1.000000 ) ( 2.500000:1.000000 ) ( 1.000000:2.500000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:2.000000 ) ( 2.000000:0.000000 ) ( 3.000000:0.000000 ) ( 5.000000:2.000000 ) )

     a_w=list(  ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 2.500000:0.000000 ) ( 3.000000:0.500000 ) ( 3.500000:0.000000 ) ( 4.500000:0.000000 ) ( 5.000000:0.000000 ) ( 6.000000:1.000000 ) ( 6.000000:5.000000 ) ( 5.000000:5.000000 ) ( 5.000000:1.500000 ) ( 4.500000:1.000000 ) ( 4.000000:1.000000 ) ( 3.500000:1.500000 ) ( 3.500000:5.000000 ) ( 2.500000:5.000000 ) ( 2.500000:1.500000 ) ( 2.000000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:2.000000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) )

     a_x=list(  ( 0.000000:4.000000 ) ( 1.500000:2.500000 ) ( 0.000000:1.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:0.500000 ) ( 2.500000:2.000000 ) ( 4.000000:0.500000 ) ( 4.000000:0.000000 ) ( 5.000000:0.000000 ) ( 5.000000:1.000000 ) ( 3.500000:2.500000 ) ( 5.000000:4.000000 ) ( 5.000000:5.000000 ) ( 4.000000:5.000000 ) ( 4.000000:4.500000 ) ( 2.500000:3.000000 ) ( 1.000000:4.500000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) )

     a_y=list(  ( 5.000000:6.000000 ) ( 4.000000:6.000000 ) ( 4.000000:4.000000 ) ( 3.500000:3.500000 ) ( 1.500000:3.500000 ) ( 1.000000:4.000000 ) ( 1.000000:6.000000 ) ( 0.000000:6.000000 ) ( 0.000000:3.500000 ) ( 1.000000:2.500000 ) ( 4.000000:2.500000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:1.750000 ) ( 0.000000:1.750000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) )

     a_0=list(  ( 6.000000:5.250000 ) ( 5.000000:5.250000 ) ( 5.000000:3.250000 ) ( 1.375000:6.875000 ) ( 2.500000:8.000000 ) ( 3.500000:8.000000 ) ( 5.000000:6.500000 ) ( 5.000000:5.250000 ) ( 6.000000:5.250000 ) ( 6.000000:7.000000 ) ( 4.000000:9.000000 ) ( 2.000000:9.000000 ) ( 0.000000:7.000000 ) ( 0.000000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:5.750000 ) ( 4.625000:2.125000 ) ( 3.500000:1.000000 ) ( 2.500000:1.000000 ) ( 1.000000:2.500000 ) ( 1.000000:5.000000 ) ( 0.000000:5.000000 ) ( 0.000000:2.000000 ) ( 2.000000:0.000000 ) ( 4.000000:0.000000 ) ( 6.000000:2.000000 ) )

     a_1=list(  ( 1.000000:7.000000 ) ( 1.000000:1.000000 ) ( 0.000000:1.000000 ) ( 0.000000:0.000000 ) ( 3.000000:0.000000 ) ( 3.000000:1.000000 ) ( 2.000000:1.000000 ) ( 2.000000:9.000000 ) ( 1.000000:9.000000 ) ( 0.000000:8.000000 ) ( 0.000000:7.000000 ) )

     a_2=list(  ( 1.000000:6.000000 ) ( 1.000000:7.000000 ) ( 2.000000:8.000000 ) ( 3.000000:8.000000 ) ( 4.000000:7.000000 ) ( 4.000000:6.000000 ) ( 0.000000:2.000000 ) ( 0.000000:0.000000 ) ( 5.000000:0.000000 ) ( 5.000000:1.000000 ) ( 1.000000:1.000000 ) ( 1.000000:1.500000 ) ( 5.000000:5.500000 ) ( 5.000000:7.500000 ) ( 3.500000:9.000000 ) ( 1.500000:9.000000 ) ( 0.000000:7.500000 ) ( 0.000000:6.000000 ) )

     a_3=list(  ( 1.000000:6.500000 ) ( 1.000000:7.500000 ) ( 1.500000:8.000000 ) ( 3.500000:8.000000 ) ( 4.000000:7.500000 ) ( 4.000000:6.000000 ) ( 3.000000:5.000000 ) ( 2.000000:5.000000 ) ( 2.000000:4.000000 ) ( 3.000000:4.000000 ) ( 4.000000:3.000000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:2.500000 ) ( 0.000000:2.500000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) ( 5.000000:3.500000 ) ( 4.000000:4.500000 ) ( 5.000000:5.500000 ) ( 5.000000:8.000000 ) ( 4.000000:9.000000 ) ( 1.000000:9.000000 ) ( 0.000000:8.000000 ) ( 0.000000:6.500000 ) )

     a_4=list(  ( 1.000000:4.000000 ) ( 1.000000:5.000000 ) ( 3.500000:7.500000 ) ( 3.500000:5.000000 ) ( 1.000000:5.000000 ) ( 1.000000:4.000000 ) ( 3.500000:4.000000 ) ( 3.500000:0.000000 ) ( 4.500000:0.000000 ) ( 4.500000:4.000000 ) ( 5.500000:4.000000 ) ( 5.500000:5.000000 ) ( 4.500000:5.000000 ) ( 4.500000:9.000000 ) ( 3.500000:9.000000 ) ( 0.000000:5.500000 ) ( 0.000000:4.000000 ) )

     a_5=list(  ( 5.000000:8.000000 ) ( 1.000000:8.000000 ) ( 1.000000:5.000000 ) ( 4.000000:5.000000 ) ( 5.000000:4.000000 ) ( 5.000000:1.000000 ) ( 4.000000:0.000000 ) ( 1.000000:0.000000 ) ( 0.000000:1.000000 ) ( 0.000000:2.000000 ) ( 1.000000:2.000000 ) ( 1.000000:1.500000 ) ( 1.500000:1.000000 ) ( 3.500000:1.000000 ) ( 4.000000:1.500000 ) ( 4.000000:3.500000 ) ( 3.500000:4.000000 ) ( 0.000000:4.000000 ) ( 0.000000:9.000000 ) ( 5.000000:9.000000 ) )

     a_6=list(  ( 4.000000:7.000000 ) ( 4.000000:7.500000 ) ( 3.500000:8.000000 ) ( 1.500000:8.000000 ) ( 1.000000:7.500000 ) ( 1.000000:5.000000 ) ( 4.000000:5.000000 ) ( 5.000000:4.000000 ) ( 5.000000:2.500000 ) ( 4.000000:2.500000 ) ( 4.000000:3.500000 ) ( 3.500000:4.000000 ) ( 1.500000:4.000000 ) ( 1.000000:3.500000 ) ( 1.000000:1.500000 ) ( 1.500000:1.000000 ) ( 3.500000:1.000000 ) ( 4.000000:1.500000 ) ( 4.000000:2.500000 ) ( 5.000000:2.500000 ) ( 5.000000:1.000000 ) ( 4.000000:0.000000 ) ( 1.000000:0.000000 ) ( 0.000000:1.000000 ) ( 0.000000:8.000000 ) ( 1.000000:9.000000 ) ( 4.000000:9.000000 ) ( 5.000000:8.000000 ) ( 5.000000:7.000000 ) )

     a_7=list(  ( 1.000000:7.000000 ) ( 1.000000:8.000000 ) ( 4.000000:8.000000 ) ( 4.000000:7.000000 ) ( 0.000000:3.000000 ) ( 0.000000:0.000000 ) ( 1.000000:0.000000 ) ( 1.000000:2.500000 ) ( 5.000000:6.500000 ) ( 5.000000:9.000000 ) ( 0.000000:9.000000 ) ( 0.000000:7.000000 ) )

     a_8=list(  ( 4.000000:6.500000 ) ( 4.000000:7.500000 ) ( 3.500000:8.000000 ) ( 1.500000:8.000000 ) ( 1.000000:7.500000 ) ( 1.000000:5.500000 ) ( 1.500000:5.000000 ) ( 3.500000:5.000000 ) ( 4.000000:5.500000 ) ( 4.000000:6.500000 ) ( 5.000000:6.500000 ) ( 5.000000:5.000000 ) ( 4.500000:4.500000 ) ( 5.000000:4.000000 ) ( 5.000000:2.500000 ) ( 4.000000:2.500000 ) ( 4.000000:3.500000 ) ( 3.500000:4.000000 ) ( 1.500000:4.000000 ) ( 1.000000:3.500000 ) ( 1.000000:1.500000 ) ( 1.500000:1.000000 ) ( 3.500000:1.000000 ) ( 4.000000:1.500000 ) ( 4.000000:2.500000 ) ( 5.000000:2.500000 ) ( 5.000000:1.000000 ) ( 4.000000:0.000000 ) ( 1.000000:0.000000 ) ( 0.000000:1.000000 ) ( 0.000000:4.000000 ) ( 0.500000:4.500000 ) ( 0.000000:5.000000 ) ( 0.000000:8.000000 ) ( 1.000000:9.000000 ) ( 4.000000:9.000000 ) ( 5.000000:8.000000 ) ( 5.000000:6.500000 ) )

     a_9=list(  ( 0.000000:8.000000 ) ( 0.000000:7.000000 ) ( 1.000000:7.000000 ) ( 1.000000:7.500000 ) ( 1.500000:8.000000 ) ( 3.500000:8.000000 ) ( 4.000000:7.500000 ) ( 4.000000:5.500000 ) ( 3.500000:5.000000 ) ( 1.500000:5.000000 ) ( 1.000000:5.500000 ) ( 1.000000:7.000000 ) ( 0.000000:7.000000 ) ( 0.000000:5.000000 ) ( 1.000000:4.000000 ) ( 4.000000:4.000000 ) ( 4.000000:1.500000 ) ( 3.500000:1.000000 ) ( 1.500000:1.000000 ) ( 1.000000:1.500000 ) ( 1.000000:2.000000 ) ( 0.000000:2.000000 ) ( 0.000000:1.000000 ) ( 1.000000:0.000000 ) ( 4.000000:0.000000 ) ( 5.000000:1.000000 ) ( 5.000000:8.000000 ) ( 4.000000:9.000000 ) ( 1.000000:9.000000 ) )

     a_Z=list(  ( 0.000000:1.750000 ) ( 6.000000:7.750000 ) ( 6.000000:8.000000 ) ( 1.000000:8.000000 ) ( 1.000000:7.000000 ) ( 0.000000:7.000000 ) ( 0.000000:9.000000 ) ( 7.000000:9.000000 ) ( 7.000000:7.250000 ) ( 1.000000:1.250000 ) ( 1.000000:1.000000 ) ( 6.000000:1.000000 ) ( 6.000000:2.000000 ) ( 7.000000:2.000000 ) ( 7.000000:0.000000 ) ( 0.000000:0.000000 ) )

     a_z=list(  ( 0.000000:5.000000 ) ( 4.000000:5.000000 ) ( 4.000000:4.000000 ) ( 4.000000:4.000000 ) ( 1.000000:1.000000 ) ( 4.000000:1.000000 ) ( 4.000000:0.000000 ) ( 0.000000:0.000000 ) ( 0.000000:1.250000 ) ( 2.750000:4.000000 ) ( 0.000000:4.000000 ) )

     a_t=list(  ( 4.000000:6.000000 ) ( 2.500000:6.000000 ) ( 2.500000:9.000000 ) ( 1.500000:9.000000 ) ( 1.500000:6.000000 ) ( 0.000000:6.000000 ) ( 0.000000:5.000000 ) ( 1.500000:5.000000 ) ( 1.500000:0.000000 ) ( 2.500000:0.000000 ) ( 2.500000:5.000000 ) ( 4.000000:5.000000 ) )

     a_?=list(  ( 1.000000:6.750000 ) ( 1.000000:7.500000 ) ( 1.500000:8.000000 ) ( 3.500000:8.000000 ) ( 4.000000:7.500000 ) ( 4.000000:5.250000 ) ( 2.000000:3.250000 ) ( 2.000000:0.000000 ) ( 3.000000:0.000000 ) ( 3.000000:3.000000 ) ( 5.000000:5.000000 ) ( 5.000000:8.000000 ) ( 4.000000:9.000000 ) ( 1.000000:9.000000 ) ( 0.000000:8.000000 ) ( 0.000000:6.750000 ) )



     procedure( PGtext()

     prog( ( str mag crd cnt char crds ocrds xcrd

         ycrd ocrds opoint obj objlist letterWidth )



         if( !boundp( 'activeLayList ) then

           activeLayList=list( "" )

          )

         laylistmsg=""

         foreach( llay activeLayList

            sprintf( laylistmsg "%s %s", laylistmsg llay )

          )



         hiEdgeMakeForm( "PGtext info..."

            list( 'str "Input text string" "string" "PART NUMBER" )

            list( 'mag "Input text magnification, ( a mag of 1.0 = text 9.0 microns tall )" "string" "1" )

            list( 'buildOn "Current active layer list for PGtext." "string" laylistmsg )

          )



         foreach( ss geGetSelSet( hiGetCurrentWindow() )

            geDeselectObject( ss )

          )



         mag=float( evalstring( mag ) )

         activeLayList=string2List( buildOn )



         oricrd=enterPoint(  ?prompts list( "Point to lower left corner of text" ) )



         objlist=nil



         foreach( multil activeLayList

            if( multil != nil then

               crd=oricrd

               cnt=0

               while( cnt
                    cnt=cnt+1

                    char=substring( str cnt 1 )

                    if( char!=" " then

                        sprintf( char "%s%s" PGtextPreFix char )

                        if( !boundp( concat( char ) ) then

                            hiGetAttention()

                           println( "no symbol defined for character %s" char )

                            if(  ( atom objlist ) ( dbDeleteObject objlist ) ( mapcar '( lambda ( x ) ( dbDeleteObject x ) )  objlist )  )

                            return( nil )

                         )

                        crds=eval( concat( char ) )

                        ocrds=nil

                        foreach( point crds

                            xcrd=mag*car( point )

                            xcrd=float( round( xcrd/PGtextGrid ) )*PGtextGrid

                            ycrd=mag*cadr( point )

                            ycrd=float( round( ycrd/PGtextGrid ) )*PGtextGrid

                            opoint=list( ( xcrd+car( crd ) ) ( ycrd+cadr( crd ) ) )

                            ocrds=cons( opoint ocrds )

                         )

                        obj=dbCreatePolygon(  getEditRep() list( multil "drawing" ) ocrds  )

                       dbReplaceProp( obj "STREAM PROPERTY 1" "string"

                                substring( char strlen( char ) strlen( char ) ) )

                        objlist=cons( obj objlist )

                        letterWidth=car( cadr( obj~>bBox ) )-car( car( obj~>bBox ) )

                     )

                    spacing=float( round( ( mag*PGtextSpacing )/PGtextGrid ) )*PGtextGrid

                    crd=list( ( car( crd )+letterWidth+spacing ) cadr( crd ) )

                )

               foreach( ss objlist

                  geSelectObject( ss )

                )

             )

          )

      ) )







     ; Procedure:    makeLetter


     procedure( makeLetter( @optional charName PGtextFile "tt" )

     prog( ( crds offset xo yo str )

         if( length( geGetSelSet(  hiGetCurrentWindow() ) )!=1 then

              hiGetAttention()

             println( "you must have exactly one item selected" )

              return( nil )

          )

         if( car( geGetSelSet(  hiGetCurrentWindow() ) )~>type!="geomInst" then

              hiGetAttention()

             println( "selected item must be a polygon" )

              return( nil )

         else if( car( geGetSelSet(  hiGetCurrentWindow() ) )~>shape!="polygon" then

              hiGetAttention()

             println( "selected item must be a polygon" )

              return( nil )

          ) )

         if( !charName then charName=textEntry( "input character" ) )

         if( !PGtextFile then PGtextFile=textEntry( "output file" ) )

         if( strlen( charName )!=1 then

              hiGetAttention()

             println( "must input exactly one character" )

              return( nil )

          )

         if( isFile( PGtextFile ) then

              port=outfile( PGtextFile "a" )

         else

              port=outfile( PGtextFile "w" )

          )

         crds=car( geGetSelSet(  hiGetCurrentWindow() ) )~>path

         offset=car( car( geGetSelSet(  hiGetCurrentWindow() ) )~>bBox )

         xo=car( offset )

         yo=cadr( offset )

         sprintf( str "%s%s=list( " PGtextPreFix charName )

         foreach( crd crds

              sprintf( str "%s ( %f:%f )" str ( car( crd ) - xo ) ( cadr( crd ) - yo ) )

          )

         sprintf( str "%s )\n" str )

         fprintf( port "%s" str )

         close( port )

      ) )



     /*
     This function takes a string of white-space separated words, and converts

     it to a list of strings which it then returns.



              input:          theString -- string

              return:         tmpList -- list of strings

     */


     procedure(  string2List(  theString  )

         prog(  ( first last char tmpList done )



             ;***** initialize the string and the character indexes into the string

              tmpList = nil

              first = 1

              last = 1

             if( theString == nil then ;***** check to see if nil string was provided

                  return( nil )

               )

             ;***** while there are characters in the string

             while(  ( char = getchar( theString first ) ) != nil

                 ;***** if character is "whitespace" go for next one

                  if(  ( char == '\  ) || ( char == '\t ) || ( char == '\n ) then

                      first = first + 1

                 else ;***** otherwise look for the last character in the word

                      last = first + 1

                      done = nil

                     ;***** while there are characters and we've not encountered

                     ;       whitespace keep looking for the end of word

                      while(  ( ( char = getchar( theString last ) ) != nil  ) && !done

                          if(  ( char == '\  ) || ( char == '\t ) || ( char == '\n ) then

                              done = t

                          else

                              last = last + 1

                           )

                       )

                     ;***** now add the substring to the list

                      if(  tmpList == nil then

                          tmpList = tconc(  nil substring( theString first ( last - first ) ) )

                      else

                          tconc(  tmpList substring( theString first ( last - first ) ) )

                       )

                      first = last

                   )

               )

              return(  car( tmpList )  )

          )

      )


     /* End of Script  */






Posting to forums is available to community members only.
Login or Register



ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.