EDA365电子论坛网
标题:
求助,我的代码执行到最后,还留着不知道什么功能!!
[打印本页]
作者:
ghfghyb
时间:
2013-5-14 14:24
标题:
求助,我的代码执行到最后,还留着不知道什么功能!!
各位大大们帮我看一下!我运行完这个叠层指令后,无法正常结束,总有功能还在挂着,请大大们帮着指点一下!!
谢谢!
以下是代码!
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" )
复制代码
作者:
betamelody
时间:
2013-5-14 15:05
axlClearDynamics()
加到96行,还有90行的 myorient变量调用有问题
作者:
ghfghyb
时间:
2013-5-14 21:36
收到,谢谢!!我明天去公司试一下,代码都放公司了,今天没有带回来!!
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2