EDA365电子论坛网

标题: 求助:大家帮忙看一下下面的代码,为什么SHAPE加不了啊? [打印本页]

作者: wuyuhe    时间: 2015-9-23 10:14
标题: 求助:大家帮忙看一下下面的代码,为什么SHAPE加不了啊?
axlCmdRegister("ts" 'add_via_noprobe_top)
procedure( coordinate()
    axlClearSelSet()
    axlVisibleDesign(nil)
    (axlSetFindFilter ?enabled
     list("noall" "lines") ?onButtons
     list("noall" "lines")
     )
    axlVisibleLayer("board geometry/assembly_detail" t)
    axlVisibleUpdate(t)
    axlUIWUpdate(nil)
    axlAddSelectAll()
    assemblydetail=axlGetSelSet()
    assemblydetaildbid=nth(0 assemblydetail)
    assemblydetaillist=assemblydetaildbid->segments
    assemblydetailbbox=assemblydetaildbid->bBox
    myXY1=nth(0 assemblydetailbbox)
    myXY2=nth(1 assemblydetailbbox)
    detailY1=nthelem(2 myXY1)
    detailY2=nthelem(2 myXY2)
    assemblylinex=list()
  foreach(assemblydetail assemblydetaillist
        assemblyline=assemblydetail->startEnd
        assemblyline0=nth(0 nth(0 assemblyline))
        assemblyline1=nth(0 nth(1 assemblyline))
        
        if(assemblyline0==assemblyline1
          assemblylinex=cons(assemblyline0 assemblylinex)
          );endif
);endforeach
assemblylinex=reverse(assemblylinex)
          detailX1   = nthelem(1 assemblylinex)
          detailX2   = nthelem(4 assemblylinex)
          detailX3   = nthelem(3 assemblylinex)
          detailX4   = nthelem(2 assemblylinex)
         
axlVisibleUpdate(t)
axlVisibleDesign(nil)
axlVisibleLayer("IN/TOP" t)
axlVisibleUpdate(t)
axlUIWUpdate(nil)
          myExtents = axlExtentDB()
          myXY3  = nthelem(1 myExtents)
          myXY4  = nthelem(2 myExtents)
          pinX1   = nthelem(1 myXY3)
         ; myY1   = nthelem(2 myXY1)
          pinX2   = nthelem(1 myXY4)
          pinY2   = nthelem(2 myXY4)
)
;;;=========================================================================================
;=========================================================================
procedure( add_via_noprobe_top()
prog(()
    coordinate()
    myPath1=nil   
          myPath1 = axlPathStart((list detailX1:detailY1))
          myPath1 = axlPathLine(myPath1 0  detailX2:detailY1)
          myPath1 = axlPathLine(myPath1 0  detailX2pinY2+0.635))
          myPath1 = axlPathLine(myPath1 0  (detailX3+0.762)pinY2+0.635))
          myPath1 = axlPathLine(myPath1 0  (detailX3+0.762)detailY2+0.762))
          myPath1 = axlPathLine(myPath1 0  (detailX2-0.762):(detailY2+0.762))
          myPath1 = axlPathLine(myPath1 0  (detailX2-0.762):(pinY2+0.635))
          myPath1 = axlPathLine(myPath1 0  detailX1:(pinY2+0.635))
          myPath1 = axlPathLine(myPath1 0  detailX1:detailY1)
axlDBCreateShape(myPath1 t "VIA KEEPOUT/TOP")         
axlDBCreateShape(myPath1 t "MANUFACTURING/NO_PROBE_TOP")         
))

作者: XYX365    时间: 2015-9-23 11:28
問題已找到
  1. myPath1 = axlPathStart((list detailX1:detailY1))
  2.           myPath1 = axlPathLine(myPath1 0  detailX2:detailY1)
  3.           myPath1 = axlPathLine(myPath1 0  detailX2:(pinY2+0.635))
  4.           myPath1 = axlPathLine(myPath1 0  (detailX3+0.762):(pinY2+0.635))
  5.           myPath1 = axlPathLine(myPath1 0  (detailX3+0.762):(detailY2+0.762))
  6.           myPath1 = axlPathLine(myPath1 0  (detailX4-0.762):(detailY2+0.762)) ;此線段的x值錯誤,已修改
  7.           myPath1 = axlPathLine(myPath1 0  (detailX4-0.762):(pinY2+0.635)) ;此線段的x值錯誤,已修改
  8.           myPath1 = axlPathLine(myPath1 0  detailX1:(pinY2+0.635))
  9.           myPath1 = axlPathLine(myPath1 0  detailX1:detailY1)
复制代码



作者: wuyuhe    时间: 2015-9-23 13:19
谢谢XYX365,我好多问题都是你帮忙解决的,太感谢了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2