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、数组的优点和缺点,并且要理解为什么。 第一:空间存储上,内存地址是连续的。 第二:每个元素占用的空间大小相同。 第三:知道首元素的内…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
