|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
各位大大们帮我看一下!我运行完这个叠层指令后,无法正常结束,总有功能还在挂着,请大大们帮着指点一下!!
谢谢!
以下是代码!- stack_layer="MANUFACTURING/STACKUP_FIGURE"
- axlClearSelSet()
- Display=axlVisibleGet()
- axlVisibleDesign(nil)
- axlVisibleLayer(stack_layer t)
- axlDBRefreshId(axlDBGetDesign())
- axlSetFindFilter(?enabled '(noall shapes text) ?onButtons '(noall shapes text))
- axlDeleteObject(axlGetSelSet(axlAddSelectAll()))
- axlVisibleSet(Display)
- ; axlShell("redisplay")
- l_layer=axlGetXSection()
- nbLayer = length(l_layer)
- ;printf("nombre de couche: %d\n" nbLayer)
- ;printf("%L" l_layer)
- nLayer=nil
- declare( layer[nbLayer])
- arrayp(layer)
- for(lay 0 nbLayer-1 layer[lay]=car( nth( lay l_layer))
- nLayer=append(nLayer list(lay+1 layer[lay]))
- ;printf("%d %s \n" lay+1 layer[lay])
- Unit=car(axlDBGetDesignUnits())
- case(Unit
- ("millimeters" u=1)
- ("mils" u=40)
- ("inches" u=0.04)
- ("microns" u=1000)
- ("centimeters" u=0.1)
- );end case
- L=66*u
- H=-1*(5+nbLayer*4)*u
- axlClearDynamics()
- mypath = axlPathStart(list( 0:0 L:0 L:H 0:H 0:0))
- axlAddSimpleMoveDynamics(0:0 mypath "path" ?ref_point 0:0)
- );for
- printf("Enter a point to place the X-Section Figure...\n")
- if(axlIsLayer(stack_layer)==nil then
- axlLayerCreateNonConductor(stack_layer)
- );if
- (axlUIWRedraw nil)
- axlVisibleLayer(stack_layer t)
- pointStart=nil
- declare( point1[nbLayer])
- declare( point2[nbLayer])
- declare( point3[nbLayer])
- declare( bBox[nbLayer])
- declare( layerName[nbLayer])
- declare( layerWidth[nbLayer])
- declare( layerWidthSpace[nbLayer])
- pointStart = axlEnterPoint()
- Px = xCoord(pointStart)
- Py = yCoord(pointStart)
- printf("***test***1***\n" )
- for(p 1 nbLayer-2
- if(car( nth( p l_layer)) == "" then
- point1[p]=list(Px+37*u Py-(p+2)*4*u)
- bBox[p]=list(list(Px+10*u Py-(p+2.5)*4*u) list(Px+35*u Py-(p+2)*4*u+4.2*u))
- layerName[p] = strcat( nth(1 nth( p l_layer)) " (" nth(3 nth( p l_layer)) ")")
- myorient=make_axlTextOrientation(?textBlock "4",?rotation 0., ?mirrored nil, ?justify "left")
- axlDBCreateText(layerName[p], point1[p], myorient, stack_layer,nil)
- myfill1 = make_axlFill( ?angle 45.0, ?origin 0:0,?width 10, ?spacing 20)
- myfill2 = make_axlFill( ?angle 135.0, ?origin 0:0,?width 10, ?spacing 20)
- myfill = list( myfill1 myfill2)
- axlDBCreateRectangle(bBox[p],myfill, stack_layer)
- axlDBCreateText("STACK_UP:",list(Px+3*u Py-4*u), myorient, stack_layer,nil)
- else
- point1[p]=list(Px+45*u Py-(p+2)*4*u)
- point2[p]=list(Px+45*u+1500 Py-(p+2)*4*u)
- point3[p]=list(Px+45*u+1500 Py-(p+2)*4*u-120)
- bBox[p]=list(list(Px+5*u Py-(p+1.9)*4*u) list(Px+40*u Py-(p+1.9)*4*u+1.5*u))
- layerName[p]= strcat( car( nth( p l_layer)) " (" nth(3 nth( p l_layer)) ")" )
- i = (p-1)/2
- ; layerWidth[p]= strcat("(" zzSW[i] " 50ohm" ")" )
- ; layerWidthSpace[p]= strcat("(" zzDW[i] "/" zzDS[i] " 100ohm" ")")
- myorient1= make_axlTextOrientation(?textBlock "4",?rotation 0., ?mirrored nil, ?justify "left")
- myorient2= make_axlTextOrientation(?textBlock "4",?rotation 0., ?mirrored nil, ?justify "left")
- axlDBCreateText(layerName[p], point1[p], myorient1, stack_layer,nil)
- ; axlDBCreateText(layerWidth[p], point2[p], myorient2, stack_layer,nil)
- ; axlDBCreateText(layerWidthSpace[p], point3[p], myorient2, stack_layer,nil)
- axlDBCreateRectangle(bBox[p],t, stack_layer)
- axlDBCreateText("STACK_UP:",list(Px+3*u Py-4*u), myorient, stack_layer,nil)
- );if
-
-
- );for
-
- ; axlDBCreateText("STACK_UP:",list(Px+3*u Py-4*u), myorient, stack_layer,nil)
- ; axlDBCreateRectangle(list(list(Px Py) list(Px+100*u yCoord(point[nbLayer-1])-5*u)), nil, stack_layer)
- printf("***test***2***\n" )
复制代码 |
|