赞
踩
以前布线完成, 准备出板厂文件时, 总是要手工重新建立光绘层.
开始不觉得有啥不便, 现在板子画的多了, 再一遍一遍的重复工作, 真没意思, 主要是太折磨人.
突然发现allegro可以保存光绘层定义, 在新板子工程(.brd)中, 只需要载入这个定义文件, 光绘层就出来了, 这样省心很多.
光绘层的定义对于同样菲林叠层的板子是通用的(e.g. 2层板, 4层板, 6层板), 这样的话, 手头只要保存几个光绘层定义文件就够用来在相同菲林叠层类型的新板子工程中用了. 如果发现, 现有的光绘层定义文件不符合新板子的光绘层需求, 再手工定义/保存成一个新的光绘层定义文件给以后的新工程用, 这样工作量小很多.
打开自己以前做好的板子工程(.brd)
执行光绘输出
选择所有已经定义好的光绘层
保存所有已经选中的所有光绘层定义为文件
保存后的光绘层定义文件名称为FILM_SETUP.txt, 改名为my_FILM_SETUP.txt 给新工程用.
看看他长啥样?
axlFilmCreate( "ASM_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 2 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored t ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_BOTTOM" "PIN/BOTTOM" "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "ASM_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 1 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_TOP" "PIN/TOP" "PACKAGE GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "NC" ?negative nil ?undefineLineWidth 10.00 ?sequence 4 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("MANUFACTURING/NCLEGEND-1-2" "MANUFACTURING/NCDRILL_LEGEND" "MANUFACTURING/NCDRILL_FIGURE" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "PS_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 5 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("PIN/PASTEMASK_BOTTOM" "PACKAGE GEOMETRY/PASTEMASK_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "PS_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 6 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("PIN/PASTEMASK_TOP" "PACKAGE GEOMETRY/PASTEMASK_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "SD_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 7 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/SOLDERMASK_BOTTOM" "PIN/SOLDERMASK_BOTTOM" "PACKAGE GEOMETRY/SOLDERMASK_BOTTOM" "BOARD GEOMETRY/SOLDERMASK_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "SD_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 8 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/SOLDERMASK_TOP" "PIN/SOLDERMASK_TOP" "PACKAGE GEOMETRY/SOLDERMASK_TOP" "BOARD GEOMETRY/SOLDERMASK_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "SK_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 9 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_BOTTOM" "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "SK_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 10 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_TOP" "PACKAGE GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 3 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/BOTTOM" "PIN/BOTTOM" "ETCH/BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" )) axlFilmCreate( "TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 11 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/TOP" "PIN/TOP" "ETCH/TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
隐约能看出有以下元素:
为了验证, 是否能正确载入已经保存好的光绘层定义文件后, 是否能将现有定义删除, 并载入文件中定义好的所有光绘层.
我手工将所有光绘层都删了, 并且建立了一个测试用的光绘层.
点击"替换", 载入光绘层定义文件.
从"替换"按钮返回后, 看到旧的层被删掉了, 原来板子定义光绘层都被载入了, cadence软件做的NB!
感觉以前的自己比现在的自己傻好多:P
当时咋就没想到有没有可以自动建立光绘层的方法呢. 这么NB的软件应该有类似的功能啊, 咋就想不到先找找呢?
如果先导入光绘层定义文件, 后出钻孔/槽孔文件, 在NC层就会少了 MANUFACTURING/NCLEGEND-x-x.
因为钻孔/槽孔文件没出之前,是没有MANUFACTURING/NCLEGEND-x-x的
在没有MANUFACTURING/NCLEGEND-x-x之前, 及时导入的光绘层定义中有MANUFACTURING/NCLEGEND-x-x, 也会因为无效被过滤抛弃掉.
如果经常性导入光绘层定义, 谁也不能保证每次都是先出钻孔文件后导入光绘层定义. 所以最后出板厂文件之前, 还是看一眼NC层中是否有MANUFACTURING/NCLEGEND-x-x, 如果没有自己手工添加一下, 补上MANUFACTURING/NCLEGEND-x-x再出板厂文件.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。