cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
文章目录
- cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
- 概述
- 保存光绘层
- 在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件
- 碎碎念
- END
cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
概述
以前布线完成, 准备出板厂文件时, 总是要手工重新建立光绘层.
开始不觉得有啥不便, 现在板子画的多了, 再一遍一遍的重复工作, 真没意思, 主要是太折磨人.
突然发现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" ))
隐约能看出有以下元素:
- 光绘层的名称
- 光绘层是否要镜像
- 光绘层包含的实际板层(e.g. BOARD GEOMETRY/DESIGN_OUTLINE)
在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件
为了验证, 是否能正确载入已经保存好的光绘层定义文件后, 是否能将现有定义删除, 并载入文件中定义好的所有光绘层.
我手工将所有光绘层都删了, 并且建立了一个测试用的光绘层.

点击"替换", 载入光绘层定义文件.


从"替换"按钮返回后, 看到旧的层被删掉了, 原来板子定义光绘层都被载入了, cadence软件做的NB!

碎碎念
感觉以前的自己比现在的自己傻好多:P
当时咋就没想到有没有可以自动建立光绘层的方法呢. 这么NB的软件应该有类似的功能啊, 咋就想不到先找找呢?
END
相关文章:
cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
文章目录cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义概述保存光绘层在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件碎碎念ENDcadence SPB17.4 S032 - allegro - 保存/载入光绘层定义 概述 以前布线完成, 准备出板厂文件时, 总是要手工重新建立光绘…...
微服务实战--高级篇:分布式缓存 Redis
分布式缓存 – 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题: 1.Redis持久化 Redis有两种持久化方案: RDB持久化AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件)…...
【C语言】可变参数列表
本篇博客让我们来认识一下C语言学习过程中往往被忽略的可变参数列表 所谓可变参数,就是一个不限定参数数量的函数,我们可以往里面传入任意个数的参数,以达成某些目的。 关联:C11可变模板参数;本文首发于 慕雪的寒舍 …...
目标检测的旋框框文献学习
这是最近打算看完的文献,一天一篇 接下来将记录一下文献阅读笔记,避免过两天就忘了 RRPN 论文题目:Arbitrary-Oriented Scene Text Detection via Rotation Proposals 论文题目:通过旋转方案进行任意方向的场景文本检测&#x…...
Hive 在工作中的调优总结
总结了一下在以往工作中,对于Hive SQL调优的一些实际应用,是日常积累的一些优化技巧,如有出入,欢迎在评论区留言探讨~ EXPLAIN 查看执行计划 建表优化 分区 分区表基本操作,partitioned二级分区动态分区 分桶 分…...
每天一道大厂SQL题【Day09】充值日志SQL实战
每天一道大厂SQL题【Day09】充值日志SQL实战 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&#…...
MATLAB 遗传算法
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
探讨 Java 中 valueOf 和 parseInt 的区别
前言 在编程中,遇到类型转换,好像会经常用到 parseInt 和 valueOf,当然这里只拿 Integer 类型进行陈述,其他类型也是雷同的; 想必有读者也跟我一样,经常交叉使用这两个方法,但却不知道这两者到…...
JSON学习笔记
♥课程链接:【狂神说Java】一小时掌握JSON_哔哩哔哩_bilibili配套的当然还要学习ajax不管是前端后端,感觉这部分内容是必须的,不然真的做项目的时候云里雾里。总体json的内容不多,具体就:1. 列表、对象等语法格式2. js…...
家政服务小程序实战教程07-轮播图组件
小程序中首页一般显示轮播图的功能,点击轮播图会跳转到具体的一篇文章或者是产品,本篇我们就介绍一下轮播图功能的开发 01 设计数据源 我们轮播图组件需要两个字段,一个是展示的图片,一个是跳转页面传入的参数。打开数据源&…...
MySQL之索引创建、删除、唯一索引、普通索引、及命名规则、注意事项
一、MySQL 索引 定义 索引是一个数据结构,用于加速数据库表中数据的查询。索引存储了一些数据表中的列值,以及这些列值在数据表中的位置,这样就可以通过索引来快速查找到数据表中的某一行数据。 MySQL 支持多种索引类型,包括普通…...
【C++设计模式】学习笔记(3):策略模式 Strategy
目录 简介动机(Motivation)模式定义结构(Structure)要点总结笔记结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金…...
Java——聊聊JUC中的ThreadLocal
文章目录: 1.什么是ThreadLocal? 1.1 api介绍 1.2 最简单的案例认识ThreadLocal 1.3 线程池结合ThreadLocal案例 2.Thread &ThreadLocal & ThreadLocalMap 3.ThreadLocal内存泄漏问题 3.1 四大引用之强引用 3.2 四大引用之软引用 3.3 四…...
软件工程(4)--螺旋模型
前言 这是基于我所学习的软件工程课程总结的第四篇文章。 在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。为了降低交付给用户的产品不能满足用户需要的风险,一种行…...
图解LeetCode——剑指 Offer 50. 第一个只出现一次的字符
一、题目 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 二、示例 2.1> 示例 1: 【输入】s "abaccdeff" 【输出】b 2.2> 示例 2: 【输入】s "" 【输出】 限制: 0 < s 的…...
《HTML 5与CSS 3核心技法》读书笔记
目录前言第1章 写在前面第2章 HTML 语法基础第3章 布局类元素 ,房子的楼板、柱子和大梁第4章 功能类元素,房子的门、窗、水管和电气第5章 CSS基础第6章 选择器,确定样式的作用范围选择器类型选择器的组合使用第7章 权重,样式发送冲…...
【沐风老师】3DMAX几何投影插件Geometry Projection使用详解
【几何投影插件】 描述 3DMAX几何投影插件Geometry Projection,将一个或多个对象或它的顶点选择沿全局或局部 x、y 或 z 轴投影到另一个对象上。 适用版本 3dMax2013或更高版本 安装设置 插件的安装非常简单,解压后把插件脚本 “geometry_projectio…...
面试问题整理
20200422面试题 1、有nginx为什么还要用gateway 2、factorybean和beanfactory有什么区别 https://www.cnblogs.com/leeego-123/p/12159574.html 2、aop原理 3、ioc原理 4、注解requestbody和responsebody区别。pathvireable和requestparam注解区别,feign客户端的注解…...
“区块链60人”2022赋能中国区块链创新人物名单公布
2022年11月5日,“2022第五届全国高校人工智能大数据区块链教育教学创新论坛”在京隆重召开。此次论坛公布了“区块链60人”2022赋能中国区块链创新人物评选活动获评名单。 本次评选活动通过媒体报道、第三方推荐、专家评选等环节,坚持“公开、公平、公正…...
day2324 数组
文章目录相关概念codeArrayTest08 数组拷贝相关概念 day23课堂笔记 1、数组 1.1、数组的优点和缺点,并且要理解为什么。 第一:空间存储上,内存地址是连续的。 第二:每个元素占用的空间大小相同。 第三:知道首元素的内…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
