allegro skill copy silk to assembly and check assem
2018-02-04 15:13
369 查看
procedure( ex6_silk2assem()
from_class_value = "PACKAGE GEOMETRY"
from_subclass_value = "Silkscreen_Top"
to_class_value = "PACKAGE GEOMETRY"
to_subclass_value = "Assembly_Top"
classes_list = list("BOARD GEOMETRY" "PACKAGE GEOMETRY" "MANUFACTURING" "DRAWING FORMAT" "ETCH" "ANTI ETCH" )
from_layer = strcat(from_class_value "/" from_subclass_value)
to_layer = strcat(to_class_value "/" to_subclass_value)
printf("Lines copied \n from_layer :%s\n to_layer :%s\n\n" axlPPrint(from_layer) axlPPrint(to_layer))
;axlVisibleDesign(nil)
axlVisibleLayer(from_layer t)
axlVisibleUpdate(t)
axlSetFindFilter(?enabled list( "noall" "lines") ?onButtons list( "noall" "lines"))
copy_objs=axlGetSelSet(axlAddSelectAll())
;printf("sellect %L\n" copy_objs)
;axlVisibleLayer(to_layer t)
;axlVisibleUpdate(t)
;axlHighlightObject(copy_objs)
;foreach(o copy_objs
; axlHighlightObject(o)
; printf("sellect %L\n" o)
; )
foreach( obj, copy_objs
l_path = AFn_getPathFromSegments(obj ->segments )
axlDBCreatePath(l_path, to_layer)
);foreach
;axlDeleteObject(axlGetSelSet())
)
;i=axlDBGetDesign()->components
procedure( ex7_asm_ck()
pgAssembelyT="PACKAGE GEOMETRY/ASSEMBLY_TOP"
pgAssembelyB="PACKAGE GEOMETRY/ASSEMBLY_BOTTOM"
result='(nil)
pL=axlDBGetDesign()->symbols; refdes ;compdefs; text;pins ; components ;
printf("length %d \n" length(pL))
foreach( p pL
printf(">>>new loop<<<\n")
if(p->objType printf("p->objType %s\n" p->objType))
if(p->name printf("p->name %s\n" p->name))
if(p->refdes printf("p->refdes %s\n" p->refdes))
if( (p->name)&&( member(p->name result) == nil) then
counter=0
foreach( i p->children
if( (i->layer == pgAssembelyT )||(i->layer == pgAssembelyB)
then
counter++
;printf("counter=%d\n" counter)
)
)
if( (counter == 0 )&&(p->name)
then
printf("-->>NOTE: symbol %s without assembely \n" p->name )
result = cons( p->name result)
;printf("result = %L \n" result);
;else printf("symbol %s with %s\n" p->name pgAssembelyT)
)
)
)
printf("result=%L\n" result)
;axlPrintDbid(FP)
)
from_class_value = "PACKAGE GEOMETRY"
from_subclass_value = "Silkscreen_Top"
to_class_value = "PACKAGE GEOMETRY"
to_subclass_value = "Assembly_Top"
classes_list = list("BOARD GEOMETRY" "PACKAGE GEOMETRY" "MANUFACTURING" "DRAWING FORMAT" "ETCH" "ANTI ETCH" )
from_layer = strcat(from_class_value "/" from_subclass_value)
to_layer = strcat(to_class_value "/" to_subclass_value)
printf("Lines copied \n from_layer :%s\n to_layer :%s\n\n" axlPPrint(from_layer) axlPPrint(to_layer))
;axlVisibleDesign(nil)
axlVisibleLayer(from_layer t)
axlVisibleUpdate(t)
axlSetFindFilter(?enabled list( "noall" "lines") ?onButtons list( "noall" "lines"))
copy_objs=axlGetSelSet(axlAddSelectAll())
;printf("sellect %L\n" copy_objs)
;axlVisibleLayer(to_layer t)
;axlVisibleUpdate(t)
;axlHighlightObject(copy_objs)
;foreach(o copy_objs
; axlHighlightObject(o)
; printf("sellect %L\n" o)
; )
foreach( obj, copy_objs
l_path = AFn_getPathFromSegments(obj ->segments )
axlDBCreatePath(l_path, to_layer)
);foreach
;axlDeleteObject(axlGetSelSet())
)
;i=axlDBGetDesign()->components
procedure( ex7_asm_ck()
pgAssembelyT="PACKAGE GEOMETRY/ASSEMBLY_TOP"
pgAssembelyB="PACKAGE GEOMETRY/ASSEMBLY_BOTTOM"
result='(nil)
pL=axlDBGetDesign()->symbols; refdes ;compdefs; text;pins ; components ;
printf("length %d \n" length(pL))
foreach( p pL
printf(">>>new loop<<<\n")
if(p->objType printf("p->objType %s\n" p->objType))
if(p->name printf("p->name %s\n" p->name))
if(p->refdes printf("p->refdes %s\n" p->refdes))
if( (p->name)&&( member(p->name result) == nil) then
counter=0
foreach( i p->children
if( (i->layer == pgAssembelyT )||(i->layer == pgAssembelyB)
then
counter++
;printf("counter=%d\n" counter)
)
)
if( (counter == 0 )&&(p->name)
then
printf("-->>NOTE: symbol %s without assembely \n" p->name )
result = cons( p->name result)
;printf("result = %L \n" result);
;else printf("symbol %s with %s\n" p->name pgAssembelyT)
)
)
)
printf("result=%L\n" result)
;axlPrintDbid(FP)
)
相关文章推荐
- win7 U盘出错日志---We were unable to copy your files. Please check your USB device and the selected ISO f
- Failed to download samples index, please check your connection and try again
- How to Copy and Paste in the Ubuntu Gnome Terminal
- copy_from_user and copy_to_user
- How To determine DDIC Check Table, Domain and Get Table Field Text Data For Value?
- How to check if a journal is EI, SCI, ISI, SCIE or SSCI and get its Impact Factor
- allegro中Autosilk top, Silkscreen top 和Assembly top三个什么区别
- This inspection checks references to files and directories
- Can not write to cache files, please check directory ./data/ and ./data/sysdata/ .
- 10 Tips to Improve Programming Skill and become better Programmer, Developer
- 错误 the type "xxxx" is defined in an assembly that is not refernced.You must add a reference to assem
- cpio - archiver to copy and back up files
- [zz]How to use Fiddler and HTTP replay to have an offline copy of your site
- allegro中Autosilk top, Silkscreen top 和Assembly top 和 place bound top 区别
- VMware - support Cut, Copy, or Paste to and from VM's
- How to check Open vSwitch version and supports OpenFlow version
- check whether the subset(no need to be consective) and be sum of X
- copy entire line and replace every letter to tilde or equal sign
- 错误 the type "xxxx" is defined in an assembly that is not refernced.You must add a reference to assem