XPDM商标证书

本程序为XPDM®️线路板工程设计管理系统的其中一个模块,XPDM®️已经获得软件著作权,本模块仅提供免费使用权,XPDM®️版权,商标等其他权益属于能行科技(深圳)有限公司所有。
拼版设计用于生产的Panel尺寸,以及使用何种大料利用率更高的一款开料计算软件。对程序功能有进一步改进需求,完善的欢迎联系我们,我们将吸纳进一步优化。
程序为绿色版本,下载解压后,运行拼版设计.exe即可启动程序,可以右键设置快捷方式到桌面。
软件基于.net 4.7.2,如电脑系统中没有安装.net 4.7.2运行环境,请自行下载安装或联系资讯安装。
.net 4.7.2微软官方下载地址:http://go.microsoft.com/fwlink/?linkid=863265
拼版设计软件:下载

设置参入计算的板材大小设置,有效为参入计算的板料尺寸。

长,宽栏位中输入板材的数据,单击<新增>按钮添加,单击<保存>保存数据至系统,单击<删除>删除其中一种板材,取消有效列的勾
用于设置工厂的默认Panel参数范围,可以从当前界面的参数提取保存到系统中。

<画图>打开系统画图程序,可进行手动编辑图片,保存后用<刷新>至系统。


手动修改主界面右侧<当前拼版信息>标签中的数据,单击<手动拼版>更新拼版示意图。

PCB生产中经常遇到转厂,外发等加工,多工厂加工等流程,为了更好的追溯,通常在周期上做特殊处理,以实现追溯的目的

CAM作业中传统的做法是建立不同的Symbol,遇到转厂,外发的时候手动修改指定位置以便追溯,本文以修改字体实现以上需求为例,探讨追溯的方法。
以ODB++格式存储的CAM软件中,可以自行修改标准字体文件,不同的工厂配置不同的字体库,CAM作业中无需关注追溯标记位置,选择对应工厂的字体即可实现追溯的效果。根据ODB++中对标准字体的描述,字体由不同的线组合构成,相关字段描述如下。

打开字体库文件wzdatan字体文件,默认改文件在/genesis/fw/lib/fonts/目录中,没有的话可以找本文作者寻求。这里以修改字体中的[.]为例说明
CHAR .
LINE 0.025000 -0.075000 0.025000 -0.075000 P R 0.012000
ECHAR
格式说明:
CHAR . 表示字符定义开始,空格后面跟着是具体的字符,这里需要以ASCLL编码。
LINE 具体的字符描述,也就是最终呈现出来的字符的形式,由不同的线组成,这里[.]仅由一根线组成。注意坐标单位为inch。
ECHAR 表示字符定义结束。
从上面定义坐标可以看到默认[.]是在下方的,需要调整到中间的时候,我们需要将ys,ye坐标改到中间。修改如下:
CHAR .
LINE 0.025000 0.050000 0.025000 0.050000 P R 0.030000
ECHAR
保存后,重启CAM软件生效。
启动CAM软件后,添加一个字符,字体选择刚修改的wzdaten,大小默认


可以看到输入的[.]已经移动到中间,达到想要的效果。
其他字符的修改类似,可以随意修改字符中线的长度,大小,实现差异化。不同工厂保存为不同的字体名称即可。
CAM在制作工具中,因生产工艺需要考虑物理特性,需要提前预设涨缩系数。其中钻孔为了减少钻孔数量,需要以万分之几的描述
CAM在作业中,经常遇到忘记修改板边系数,换算错误等烦恼,本文以解决此烦恼探讨如何解决这些需求。
以ODB++格式存储的Genesis软件中,使用.comment属性(可以自行添加自定义的属性),配合line hooks 在output时计算钻孔格式系数并更新.comment属性值,实现动态的效果。
这里以设置output_layer_set.pre输出钻孔为例说明,其他的实现方式可以扩展。
#!/bin/csh
#File Name: output_layer_set.pre
#Written : Alex(wangge@nengxingtech.com)
#Date : Jun26.2021
#Ver : 1.0
#程序用于修改输出时相关到变量
#获取系统传递的参数
source $1
#根据层名判断是否为钻孔层
if($lnVAL[1] == 'drl') then
#计算x涨缩值
set inputscalex = `echo "scale=0; $lnVAL[4] * 100000" | bc | awk -F '.' '{print $1}'`
if ($inputscalex > 100000 ) then
set scalex = `echo "scale=3; ($inputscalex - 100000) * 0.1" | bc`
else if ($inputscalex < 100000 ) then
set scalex = `echo "scale=3; (100000 - $inputscalex) * 0.1" | bc`
set scalex = -${scalex}
else
set scalex = 0
endif
#计算y涨缩值
set inputscaley = `echo "scale=0; $lnVAL[5] * 100000" | bc | awk -F '.' '{print $1}'`
if ($inputscaley > 100000 ) then
set scaley = `echo "scale=3; ($inputscaley - 100000) * 0.1" | bc`
else if ($inputscaley < 100000 ) then
set scaley = `echo "scale=3; (100000 - $inputscaley) * 0.1" | bc`
set scaley = -${scaley}
else
set scaley = 0
endif
#组合涨缩值描述
set drlscale = "X${scalex}Y${scaley}"
#设置钻孔涨缩值到层的变量
COM set_attribute, type=layer,job=$JOB,name1=$STEP,name2=$lnVAL[1],\
name3=,attribute=.comment,value=$drlscale
endif
#退出程序
exit
在Panel封边的时候添加钻孔字麦到留边,或者手动添加也可以。这里以.comment举例说明,可以添加自定义变量。初次添加的时候没有设置变量会没有显示,只需要添加位置准确就可以。
在output界面输出的时候输入输出系数,执行输出。
反读回genesis进行确认。
如上图所示,系数已经变为万分之几的钻孔格式。
“ 为了更好的追溯产品,以及批次管控,线路板上通常会加上生产周期,而往往因为资料中周期没有及时更新导致客户投诉。”
Genesis,InCAM软件均带有周期变量,如$$YYWW,$$WWYY,实际应用的时候灵活性不够。不同版本支持的变量设置不同,如不能单双周,提前两周,推迟两周等等。本文以Genesis软件10.0版本为基础,探讨动态周期的实现。

以ODB++格式存储的Genesis软件中,增加一个userattr属性设置,配合line hooks 在打开料号时更新userattr属性值,实现动态周期的效果。编辑/genesis/fw/lib/misc/userattr,增加自定义周期变量,建议变量前面加上工厂标识,如CD。如下所示:
TEXT {
NAME=CD_YYWW
PROMPT=CanDo Date YYWW
MIN_LEN=0
MAX_LEN=4
ENTITY=JOB
DEF=8888
}
TEXT {
NAME=CD_WWYY
PROMPT=CanDo Date WWYY
MIN_LEN=0
MAX_LEN=4
ENTITY=JOB
DEF=8888
}
注:
1,TEXT 表示变量类型是文本
2,NAME是变量的名称
3,PROMPT是变量的描述
4,MIN_LEN表示变量最短位数
5,MIN_MAX表示变量最长位数
6,ENTITY表示变量宿主
7,DEF表示默认变量

进入/genesis/sys/hooks/line_hooks/目录,查看是否有open_job.post文件,没有创建一个,有的话加上如下代码。
#!/bin/csh
echo "AutoCAM Change Date"
#获取系统传递的参数,并按传递的参数名赋值变量
source $1
@ i=1
while($i <= $#lnVAL)
set $lnPARAM[$i] = $lnVAL[$i]
@ i++
end
#获取当前系统周期
set cdYY = `date +%y`
set cdWW = `date +%U`
set cdMM = `date +%m`
#周增加1
@ cdWW++
#检测周期大于53周到时候,进入下一年第一周
if($cdWW > 53) then
@ cdYY++
set cdWW = 1
endif
#赋值周期变量
set cdyyww = "${cdYY}${cdWW}"
set cdwwyy = "${cdWW}${cdYY}"
#设置cdyyww周期变量到Job
COM set_attribute,type=job,job=$job,name1=,name2=,name3=,attribute=cd_yyww,value=$cdyyww,units=inch
#设置cdwwyy周期变量到Job
COM set_attribute,type=job,job=$job,name1=,name2=,name3=,attribute=cd_wwyy,value=$cdwwyy,units=inch
进入任意料号,打开一层资料,添加一个字符,字符大小,字体任意设置,Text栏输入$$cd_yyww是自定义的年周变量。如下图所示


欢迎关于微信公众号进一步交流。