Genesis On Linux基本操作入门(三)

 得益于Linux的多用户操作的特点,早期的终端模式逐渐被ssh取代,远程桌面模式中VNC具有配置简单,反应迅速,得到很多朋友的喜爱。

01 启动VNC桌面

    在终端中输入以下命令即可启动vnc桌面,启动后会显示窗口的编号,在vnc客户端中可以对这个端口编号进行连接。

vncserver

02 停止VNC桌面

    需要停止vnc桌面的时候,输入如下,其中:2是窗口编号

vncserver -kill :2

03 启动指定窗口加参数

    这里以启动:2窗口为例说明,并附加-depth 24的颜色位深参数

vncserver :2 -depth 24​

04 启动窗口并增加分辨率参数

    这里以启动:2窗口为例说明,并附加分辨率1280×720的参数。

vncserver :2 -depth 24 -geometry 1280x720

05 启动窗口并增加窗口名称参数

    这里以启动:2窗口为例说明,并附加窗口名称vnc01的参数。

vncserver :2 -depth 24 -geometry 1280x720 -name vnc01


Genesis On Linux常见操作(二)

Linux系统没有类似Windows的C,D盘概念,而是根目录/,所有文件系统都是根目录下面延伸。想学脚本的朋友留意这些是脚本的基础内容

Linux文件系统以根目录开始,所有目录均以根目录为顶级目录,类似一棵树从树的根部向上发展出不同的枝叶,如下图所示:

命令格式 :命令  -选项   参数

例 :

ls  -la  /etc/

说明:当有多个参数时,可以写在一起。

绝对路径 :是从根开始一级一级地进入各个子目录,最后指定该命令或文件。

相对路径 :是从当前目录进入某目录,最后指定该命令或文件。

两个特殊的目录[ .] 和[ ..] ,分别指示当前目录和当前目录的父目录。

pwd –显示当前工作目录

pwd英文原义为print work directory。在打开终端后,默认进入登录用户的home目录,该目录为登录用户完全所有,可以在这个目录里面创建文件,以及更多操作。输入pwd命令回车显示当前的操作目录,如下图所示:

cd –切换工作目录

cd英文原义为change directory。cd命令用于切换工作目录,语法为cd [目录],如:

cd /etc

这里需要注意的是,有几个特殊的参数:[~];[.];[..];[-],[~]代表用户目录,[.]代表当前目录,[..]代表当前目录的父目录,[-]代表上次工作目录,如切换其他目录而想快递切换到用户目录的时候,只需要输入如下命令:

cd ~

genesis中切换目录

在使用Genesis开始工作的时候,首先要input资料,input中如何找到需要input的资料。见下图所示:


Genesis On Linux常见操作命令(一)

部分CAM软件运行在Linux系统,本文讲解基本的启动关闭Genesis命令。

    CAM软件Genesis,InCAM,InCAM Pro在Linux平台上更能发挥软件的性能是行业的共识。原因是软件用到的诸多辅助软件都是基于Unix体系,如awk,sed,bc均来源Unix体系,为了扩展到Windows使用了GUN的移植版本,而Linux来源于Unix的体系,因此能更好的发挥这些辅助软件的性能。

    举个简单的例子,原生Genesis的钻孔补偿,需要运用awk,bc等组合执行,补偿10把刀的钻孔可能需要几秒甚至更长,在Linux平台的Genesis上可以做到秒补,即便40多把刀也是秒补!综合来看,相同硬件的情况下,Genesis 在Linux上比Windows平台提升在10%以上,结合脚本的运行来算,最低都有15%以上的提升。本文以CentOS6.10 Gnome界面为例说明,kde界面操作类似。

    在Linux上启动Genesis是很多初次接触Linux Genesis的小伙伴最尴尬的情景之一。没有Windows上常见的快捷方式,那如何启动Genesis软件呢?这里要引入一个概念:终端(Terminal),以前Unix是运行在大型机上面,同时有很多用户登录同时运行,每个用户就是使用终端机通过电缆连接到主机进行操作,可见终端就是系统的一个入口,所有的操作执行都需要从终端开始。

一,启动Genesis

    1,在桌面鼠标右击,选择[Open in Terminal]打开一个新的终端。

2,系统会弹出如下的终端窗口:

3,输入get命令按下回车启动Genesis软件。

get

二,强制关闭Genesis

    一些特殊环境下需要强制关闭Genesis软件,操作步骤如下:

    1,查看待关闭genesis程序进程的编号pid(Process Identification)。Genesis软件界面顶部标题栏有一串pid:120907开头的数字,这个数字120907就是pid编号,如下图所示。

2,打开终端,输入 kill pid进程编号,注意kill是一个命令,后面有一个空格,再加上pid进程编号,按下回车键即可强制关闭Genesis。

kill 120907

3,部分情况下第二步不能强制退出Genesis程序,此时需要加一个参数-9,注意-9和kill中间有空格,和pid进程中间也有空格,输完按下回车键Genesis就会强制退出。

kill -9 120907

一种字符追溯标记的实现方法

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

CAM作业中传统的做法是建立不同的Symbol,遇到转厂,外发的时候手动修改指定位置以便追溯,本文以修改字体实现以上需求为例,探讨追溯的方法。

01 实现原理

以ODB++格式存储的CAM软件中,可以自行修改标准字体文件,不同的工厂配置不同的字体库,CAM作业中无需关注追溯标记位置,选择对应工厂的字体即可实现追溯的效果。根据ODB++中对标准字体的描述,字体由不同的线组合构成,相关字段描述如下。

02 修改字体

打开字体库文件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软件生效。

03 效果验证

启动CAM软件后,添加一个字符,字体选择刚修改的wzdaten,大小默认

可以看到输入的[.]已经移动到中间,达到想要的效果。
其他字符的修改类似,可以随意修改字符中线的长度,大小,实现差异化。不同工厂保存为不同的字体名称即可。


CAM资料钻孔系数设置

CAM在制作工具中,因生产工艺需要考虑物理特性,需要提前预设涨缩系数。其中钻孔为了减少钻孔数量,需要以万分之几的描述

CAM在作业中,经常遇到忘记修改板边系数,换算错误等烦恼,本文以解决此烦恼探讨如何解决这些需求。

01 实现原理

        以ODB++格式存储的Genesis软件中,使用.comment属性(可以自行添加自定义的属性),配合line hooks 在output时计算钻孔格式系数并更新.comment属性值,实现动态的效果。

02 修改流程

03 设置hooks

        这里以设置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

04 设置钻孔层系数变量

        在Panel封边的时候添加钻孔字麦到留边,或者手动添加也可以。这里以.comment举例说明,可以添加自定义变量。初次添加的时候没有设置变量会没有显示,只需要添加位置准确就可以。

05 输出测试

   在output界面输出的时候输入输出系数,执行输出。

反读回genesis进行确认。

如上图所示,系数已经变为万分之几的钻孔格式。