EDA365电子工程师网

标题: 发一段设置库的源码(不通用,仅供学习)原创 [打印本页]

作者: jordanli22    时间: 2018-4-11 09:48
标题: 发一段设置库的源码(不通用,仅供学习)原创
本帖最后由 jordanli22 于 2018-4-11 09:49 编辑

/*
        Author :jordanli22
        Connect:812620232@qq.com
*/
axlCmdRegister("library_Set" `library_Set)
axlSetFunckey( "lib" "library_Set")

(defun library_Set ()
                        time = getCurrentTime()
                        time = parseString(time)
                        day = nth(1 time)
                        month = car(time)
                        month = upperCase(month)
                        year = nth(3 time)
                        date = strcat(" Date: " day " " month " " year)
                         CreateForm()
                        myform=axlFormCreate( (gensym) form_file nil 'Form_Action t)
                        axlFormDisplay(myform)
                        axlUIWPrint(myform date)

                )


(defun CreateForm ()
drain()
form_file = "library_set_form.form"
myform = outfile(form_file "w")
fprintf(myform "#Created by xml2bnf  perl utility\n")
fprintf(myform "#Coded by Venkata Ramanan/Santa Clara, CA\n\n")
fprintf(myform "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(myform "FORM AUTOGREYTEXT\n")
fprintf(myform "FIXED\n")
fprintf(myform "PORT 20 21\n")
fprintf(myform "HEADER \"library_Set\"\n\n")
fprintf(myform "POPUP <ENUM>\"ITEM1\"\"0\",\"ITEM2\"\"1\",\"ITEM3\"\"2\",\"LAST ONE\"\"3\".\n\n")
fprintf(myform "TILE\n\n")
fprintf(myform "## RadioButton Field in Form## \n")
fprintf(myform "FIELD BU1_lib\n")
fprintf(myform "FLOC 1 4\n")
fprintf(myform "CHECKLIST \"BU1\"  \"rg\"\n")
fprintf(myform "FGROUP \"Form1\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## RadioButton Field in Form## \n")
fprintf(myform "FIELD BU2_lib\n")
fprintf(myform "FLOC 1 6\n")
fprintf(myform "CHECKLIST \"BU2\"  \"rg\"\n")
fprintf(myform "FGROUP \"Form1\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## RadioButton Field in Form## \n")
fprintf(myform "FIELD BU3_lib\n")
fprintf(myform "FLOC 1 8\n")
fprintf(myform "CHECKLIST \"BU3\"  \"rg\"\n")
fprintf(myform "FGROUP \"Form1\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## RadioButton Field in Form## \n")
fprintf(myform "FIELD BU4_lib\n")
fprintf(myform "FLOC 1 10\n")
fprintf(myform "CHECKLIST \"BU4\"  \"rg\"\n")
fprintf(myform "FGROUP \"Form1\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## RadioButton Field in Form## \n")
fprintf(myform "FIELD CRD_lib\n")
fprintf(myform "FLOC 1 12\n")
fprintf(myform "CHECKLIST \"CRD\"  \"rg\"\n")
fprintf(myform "FGROUP \"Form1\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## RadioButton Field in Form## \n")
fprintf(myform "FIELD SUZHOU_lib\n")
fprintf(myform "FLOC 1 14\n")
fprintf(myform "CHECKLIST \"SUZHOU\"  \"rg\"\n")
fprintf(myform "FGROUP \"Form1\"\n")
fprintf(myform "ENDFIELD \n\n")
fprintf(myform "## Text Field in Form## \n")
fprintf(myform "TEXT \"Library_Set_Select:\"\n")
fprintf(myform "FLOC 1 1\n")
fprintf(myform "TGROUP \"Form1\"\n")
fprintf(myform "ENDTEXT\n\n")
fprintf(myform "ENDTILE\n\n")
fprintf(myform "ENDFORM\n\n")

close(myform)
)


(defun Form_Action (myform)
(let (t1 item index field cnt)(printf "field/value %L = %L (int %L\n)"
myform->curField myform->curValue, myform->curValueInt )
(printf "doneState %L\n" myform->doneState )
case(myform->curField
                ("BU1_lib"

                        (axlUnsetVariableFile "DEVPATH");delete old DEVPATH
                        (axlUnsetVariableFile "PADPATH");delete old libpath
                        (axlUnsetVariableFile "PSMPATH");delete old PSMPATH
                        dev = axlGetVariable("DEVPATH")
                        if(dev == nil then
                                dev = ""
                        else
                                println("delete old devpath fail")
                        )
                        
                        pad = axlGetVariable("PADPATH")
                        if(pad == nil then
                                pad = ""
                        else
                                println("delete old padpath fail")
                        )
                        
                        psm = axlGetVariable("PSMPATH")
                        if(psm == nil then
                                psm = ""
                        else
                                println("delete old psmpath fail")
                        )
                        
                        
                        axlSetVariableFile("DEVPATH" strcat("../lib E:/Users/jordan/lib/BU1 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" dev))
                        axlSetVariableFile("PADPATH" strcat("../lib E:/Users/jordan/lib/BU1 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" pad))
                        axlSetVariableFile("PSMPATH" strcat("../lib E:/Users/jordan/lib/BU1 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" psm))
        
                )
                ("BU2_lib"
                        (axlUnsetVariableFile "DEVPATH");delete old DEVPATH
                        (axlUnsetVariableFile "PADPATH");delete old libpath
                        (axlUnsetVariableFile "PSMPATH");delete old PSMPATH
                        dev = axlGetVariable("DEVPATH")
                        if(dev == nil then
                                dev = ""
                        else
                                println("delete old devpath fail")
                        )
                        
                        pad = axlGetVariable("PADPATH")
                        if(pad == nil then
                                pad = ""
                        else
                                println("delete old padpath fail")
                        )
                        
                        psm = axlGetVariable("PSMPATH")
                        if(psm == nil then
                                psm = ""
                        else
                                println("delete old psmpath fail")
                        )
                        
                        
                        axlSetVariableFile("DEVPATH" strcat("../lib E:/Users/jordan/lib/BU2 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" dev))
                        axlSetVariableFile("PADPATH" strcat("../lib E:/Users/jordan/lib/BU2 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" pad))
                        axlSetVariableFile("PSMPATH" strcat("../lib E:/Users/jordan/lib/BU2 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" psm))
        
                )
                ("BU3_lib"
                        
                        (axlUnsetVariableFile "DEVPATH");delete old DEVPATH
                        (axlUnsetVariableFile "PADPATH");delete old libpath
                        (axlUnsetVariableFile "PSMPATH");delete old PSMPATH
                        dev = axlGetVariable("DEVPATH")
                        if(dev == nil then
                                dev = ""
                        else
                                println("delete old devpath fail")
                        )
                        
                        pad = axlGetVariable("PADPATH")
                        if(pad == nil then
                                pad = ""
                        else
                                println("delete old padpath fail")
                        )
                        
                        psm = axlGetVariable("PSMPATH")
                        if(psm == nil then
                                psm = ""
                        else
                                println("delete old psmpath fail")
                        )
                        
                        
                        axlSetVariableFile("DEVPATH" strcat("../lib E:/Users/jordan/lib/BU3 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" dev))
                        axlSetVariableFile("PADPATH" strcat("../lib E:/Users/jordan/lib/BU3 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" pad))
                        axlSetVariableFile("PSMPATH" strcat("../lib E:/Users/jordan/lib/BU3 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" psm))
        
                )
                ("BU4_lib"

                        (axlUnsetVariableFile "DEVPATH");delete old DEVPATH
                        (axlUnsetVariableFile "PADPATH");delete old libpath
                        (axlUnsetVariableFile "PSMPATH");delete old PSMPATH
                        dev = axlGetVariable("DEVPATH")
                        if(dev == nil then
                                dev = ""
                        else
                                println("delete old devpath fail")
                        )
                        
                        pad = axlGetVariable("PADPATH")
                        if(pad == nil then
                                pad = ""
                        else
                                println("delete old padpath fail")
                        )
                        
                        psm = axlGetVariable("PSMPATH")
                        if(psm == nil then
                                psm = ""
                        else
                                println("delete old psmpath fail")
                        )
                        
                        
                        axlSetVariableFile("DEVPATH" strcat("../lib E:/Users/jordan/lib/BU4 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" dev))
                        axlSetVariableFile("PADPATH" strcat("../lib E:/Users/jordan/lib/BU4 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" pad))
                        axlSetVariableFile("PSMPATH" strcat("../lib E:/Users/jordan/lib/BU4 E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" psm))
        
                )
                ("CRD_lib"
                        
                        (axlUnsetVariableFile "DEVPATH");delete old DEVPATH
                        (axlUnsetVariableFile "PADPATH");delete old libpath
                        (axlUnsetVariableFile "PSMPATH");delete old PSMPATH
                        dev = axlGetVariable("DEVPATH")
                        if(dev == nil then
                                dev = ""
                        else
                                println("delete old devpath fail")
                        )
                        
                        pad = axlGetVariable("PADPATH")
                        if(pad == nil then
                                pad = ""
                        else
                                println("delete old padpath fail")
                        )
                        
                        psm = axlGetVariable("PSMPATH")
                        if(psm == nil then
                                psm = ""
                        else
                                println("delete old psmpath fail")
                        )
                        
                        
                        axlSetVariableFile("DEVPATH" strcat("../lib E:/Users/jordan/lib/CRD E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" dev))
                        axlSetVariableFile("PADPATH" strcat("../lib E:/Users/jordan/lib/CRD E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" pad))
                        axlSetVariableFile("PSMPATH" strcat("../lib E:/Users/jordan/lib/CRD E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" psm))
                        
                )
                ("SUZHOU_lib"
                        (axlUnsetVariableFile "DEVPATH");delete old DEVPATH
                        (axlUnsetVariableFile "PADPATH");delete old libpath
                        (axlUnsetVariableFile "PSMPATH");delete old PSMPATH
                        dev = axlGetVariable("DEVPATH")
                        if(dev == nil then
                                dev = ""
                        else
                                println("delete old devpath fail")
                        )
                        
                        pad = axlGetVariable("PADPATH")
                        if(pad == nil then
                                pad = ""
                        else
                                println("delete old padpath fail")
                        )
                        
                        psm = axlGetVariable("PSMPATH")
                        if(psm == nil then
                                psm = ""
                        else
                                println("delete old psmpath fail")
                        )
                        
                        
                        axlSetVariableFile("DEVPATH" strcat("../lib E:/Users/jordan/lib/SUZHOU E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" dev))
                        axlSetVariableFile("PADPATH" strcat("../lib E:/Users/jordan/lib/SUZHOU E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" pad))
                        axlSetVariableFile("PSMPATH" strcat("../lib E:/Users/jordan/lib/SUZHOU E:/Users/jordan/lib/gerber_logo E:/Users/jordan/lib/format E:/Users/jordan/lib/via E:/Users/jordan/lib/pad_file" psm))
        
                )
        )
                )

if((nequal myform->doneState 0)
axlFormClose(myform))
)
[attach]137182[/attach]


作者: bingshuihuo    时间: 2018-5-11 11:41
这个顶一下
作者: 上海轻骑兵    时间: 2018-5-12 14:23
过来看看了
作者: 上海轻骑兵    时间: 2018-5-15 17:34
这个顶一下
作者: happy666    时间: 2018-5-28 16:28
执行有问题…

field/value "BU1_lib" = t (int 1
)doneState 0
E- *Error* eval: undefined function - axlUnsetVariableFile
field/value "" = nil (int 0
)doneState 3
作者: jordanli22    时间: 2018-5-28 16:40
happy666 发表于 2018-5-28 16:28
执行有问题…

field/value "BU1_lib" = t (int 1

是否166?

作者: happy666    时间: 2018-5-28 16:43
是 16.3

作者: jordanli22    时间: 2018-5-28 17:05
happy666 发表于 2018-5-28 16:43
是 16.3

所以用不了

作者: happy666    时间: 2018-5-28 17:10
感谢你的分享~




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2