找回密码
 注册
关于网站域名变更的通知
查看: 1088|回复: 13
打印 上一主题 下一主题

底片参数问题

[复制链接]
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-11-4 14:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x


    film_para=    '(0 0 0 200 0 1 0 0 0 0 0 0 1)
    film_para_p= '(0 0 0 200 0 0 0 0 0 0 0 0 1)


    这样写代码,但是负片层输出没有200的外扩区域啊 ,怎么回事啊?
    shape bounding box 中的数值也没有被改变,仍然为0,怎么回事?

  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
    发表于 2020-11-9 09:24 | 只看该作者
    caoqin 发表于 2020-11-9 09:07
    700 2000是什么意思呢

    700 是 n_undef_line_width 設7mil (brd unit設mil 且小數點後有2位 所以7*100=700)
    2000 是 n_shape_bound 設20mil  (brd unit設mil 且小數點後有2位 所以20*100=2000)

    去看skill 的pdf

    (axlfcreate t_name l_params l_vis)
    The axlfcreate call includes these arguments and passes all parameters needed as
    arguments to axlDBCreateFilmRec:
    t_name Name of the record to be created, of the form "NAME"
    l_params List consisting of 13 numbers, of the form '(0 0 0 ...), which
    correspond to the Film Options fields in the film control form.
    l_vis The list of visible layers, each layer enclosed in quotes, space
    delimited, of the form '("ETCH/TOP" "VIA/TOP" ...)


    l_params : 內有13個參數
    Arguments
    t_filmname The name of the film record to create.
    n_rotate_code 0, 2, 4, or 6, corresponding to 0, 90, 180, or 270 degree rotation.
    n_x_offset Film record block origin x offset.
    n_y_offset Film record block origin y offset.
    n_undef_line_width Film record undefined line width.
    n_shape_bound Shape bounding box size.
    n_plot_mode Film record plot mode -- 0 = NEGATIVE, 1 = POSITIVE.
    n_mirrored Flag denoting mirroring.
    n_supp_unconnect Indicator to not flash unconnected pads
    n_draw_pad Indicator to draw pads.
    n_aper_rot Boolean indicator for aperture rotation.
    n_fill_out_shapes Boolean indicator to fill outside shapes. This is the opposite of
    the “suppress shape fill” switch in the film control form, for
    example, if suppress shape fill is selected,
    fill_out_shapes should be 0. This is named this way
    because art_film_block_type structures have
    fill_out_shapes fields instead of
    suppress_shape_fill fields.
    n_vector_based Boolean indicator for vector-based pad behavior.

    Example 1
    (axlfcreate "TRACE_2" '(0 0 0 0 0 1 0 0 0 0 0 0 1) '("ETCH/TRACE_2" "PIN/TRACE_2"
    "VIA CLASS/TRACE_2" ))



    点评

    哦哦,大神,如果我要输出NC钻孔参数里面的,勾选auto tool select 选项 , 怎么写代码呢?  详情 回复 发表于 2020-11-9 10:16

    该用户从未签到

    2#
    发表于 2020-11-4 16:23 | 只看该作者
    帮你顶一下
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2020-11-5 17:36 | 只看该作者
    5555555555555
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2020-11-6 11:57 | 只看该作者
    你是否要試看看
    (axlfcreate "TEST2" '(0 0 0 700 2000 0 0 0 0 0 0 0 1) '("ETCH/GND" "PIN/GND" "VIA CLASS/GND" ))


    20.png (22.15 KB, 下载次数: 1)

    20.png

    点评

    700 2000是什么意思呢  详情 回复 发表于 2020-11-9 09:07
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2020-11-9 09:07 | 只看该作者
    jet2001 发表于 2020-11-6 11:57
    你是否要試看看
    (axlfcreate "TEST2" '(0 0 0 700 2000 0 0 0 0 0 0 0 1) '("ETCH/GND" "PIN/GND" "VIA CL ...

    700 2000是什么意思呢

    点评

    700 是 n_undef_line_width 設7mil (brd unit設mil 且小數點後有2位 所以7*100=700) 2000 是 n_shape_bound 設20mil (brd unit設mil 且小數點後有2位 所以20*100=2000) 去看skill 的pdf (axlfcreate t_name  详情 回复 发表于 2020-11-9 09:24
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
     楼主| 发表于 2020-11-9 10:16 | 只看该作者
    jet2001 发表于 2020-11-9 09:24
    700 是 n_undef_line_width 設7mil (brd unit設mil 且小數點後有2位 所以7*100=700)
    2000 是 n_shape_bo ...

    哦哦,大神,如果我要输出NC钻孔参数里面的,勾选auto tool select 选项 , 怎么写代码呢?

    1.jpg (17.56 KB, 下载次数: 1)

    1.jpg

    点评

    這個NC DRILL 的SKILL CODE我不會寫 , 所以我會在SKILL 內跑 SCRIPT 來設定它 記得1定要加 如下的 ?cmdType "general 不然script 會無法跑 axlCmdRegister( "test1" `test1 ?cmdType "general") procedure(te  详情 回复 发表于 2020-11-9 10:54
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    8#
    发表于 2020-11-9 10:54 | 只看该作者
    本帖最后由 jet2001 于 2020-11-9 10:55 编辑
    caoqin 发表于 2020-11-9 10:16
    哦哦,大神,如果我要输出NC钻孔参数里面的,勾选auto tool select 选项 , 怎么写代码呢?

    這個NC DRILL 的SKILL CODE我不會寫 , 所以我會在SKILL 內跑 SCRIPT 來設定它
    記得1定要加 如下的 ?cmdType "general 不然script 會無法跑

    以下的script是for allegro 15.7 (16.6 自行修正)
    axlCmdRegister( "test1" `test1 ?cmdType "general")

    procedure(test1()
    op33=outfile("set_nca.scr")
    fprintf(op33 "setwindow pcb\n")  
    fprintf(op33 "nctape_full\n")  
    fprintf(op33 "setwindow form.nc_drill\n")
    fprintf(op33 "FORM nc_drill auto_tool_select YES\n")  
    fprintf(op33 "FORM nc_drill close\n")
    fprintf(op33 "setwindow pcb\n")   close(op33)
    axlShell(sprintf(nil "scriptmode +invisible +noinfo;replay set_nca.scr;"))
    sh("del set_nca.scr")
    )
    ; skill load("test1.il")




    点评

    输出钻孔参数时,nc_tools_auto.txt,这个文件总是会自动生成,怎么让它不生成呢?这个文件对我来说没用。  详情 回复 发表于 2020-11-9 15:48
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    9#
     楼主| 发表于 2020-11-9 15:48 | 只看该作者
    jet2001 发表于 2020-11-9 10:54
    這個NC DRILL 的SKILL CODE我不會寫 , 所以我會在SKILL 內跑 SCRIPT 來設定它
    記得1定要加 如下的 ?cmdT ...

    输出钻孔参数时,nc_tools_auto.txt,这个文件总是会自动生成,怎么让它不生成呢?这个文件对我来说没用。

    2.jpg (8.76 KB, 下载次数: 1)

    2.jpg

    点评

    ALLEGRO 系統自己產生 nc_tools_auto.txt 你不要就 KILL 它  详情 回复 发表于 2020-11-9 16:34
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    10#
    发表于 2020-11-9 16:34 | 只看该作者
    caoqin 发表于 2020-11-9 15:48
    输出钻孔参数时,nc_tools_auto.txt,这个文件总是会自动生成,怎么让它不生成呢?这个文件对我来说没用 ...

    ALLEGRO 系統自己產生 nc_tools_auto.txt 你不要就 KILL 它  

    点评

    prog( (unit accur ) unit=car(axlDBGetDesignUnits()) accur=cadr(axlDBGetDesignUnits()) if(unit=="millimeters"&&accur==4 then art_param=outfile("gerber\\art_  详情 回复 发表于 2020-11-9 19:09
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    11#
     楼主| 发表于 2020-11-9 19:09 | 只看该作者
    jet2001 发表于 2020-11-9 16:34
    ALLEGRO 系統自己產生 nc_tools_auto.txt 你不要就 KILL 它

    prog( (unit accur )
                                    unit=car(axlDBGetDesignUnits())
                                    accur=cadr(axlDBGetDesignUnits())
                                   
                                            if(unit=="millimeters"&&accur==4
                                            then
                    art_param=outfile("gerber\\art_param.txt")
                    fprintf(art_param "DEVICE-TYPE           GERBER_RS274X\n")
                    fprintf(art_param "OUTPUT-UNITS          MILIMETERS\n")
                    fprintf(art_param "FILM-SIZE             2400000 1600000\n")
                    fprintf(art_param "FORMAT                2.5\n")
                    fprintf(art_param "ABORT-ON-ERROR        NO\n")
                    fprintf(art_param "SCALE                 1\n")
                    fprintf(art_param "SUPPRESS-LEAD-ZEROES  YES\n")
                    fprintf(art_param "SUPPRESS-TRAIL-ZEROES NO\n")
                    fprintf(art_param "SUPPRESS-EQUAL        YES\n")
                    fprintf(art_param "UNDEF-APT-CONT        NO\n")
                       close(art_param)
                                            else
                                            if(unit=="mils"&&accur==2
                                            then
                    art_param=outfile("gerber\\art_param.txt")
                    fprintf(art_param "DEVICE-TYPE           GERBER_RS274X\n")
                    fprintf(art_param "OUTPUT-UNITS          INCHES\n")
                    fprintf(art_param "FILM-SIZE             2400000 1600000\n")
                    fprintf(art_param "FORMAT                2.5\n")
                    fprintf(art_param "ABORT-ON-ERROR        NO\n")
                    fprintf(art_param "SCALE                 1\n")
                    fprintf(art_param "SUPPRESS-LEAD-ZEROES  YES\n")
                    fprintf(art_param "SUPPRESS-TRAIL-ZEROES NO\n")
                    fprintf(art_param "SUPPRESS-EQUAL        YES\n")
                    fprintf(art_param "UNDEF-APT-CONT        NO\n")                                       
                                           
                            close(art_param)                               
                                     );end if
                                     );end if
                                       );


    这段代码有什么问题吗? 为什么我在mm单位下运行时,输出时,art参数里面的单位不会自动改过来,还是英制的。



    3.jpg (5.56 KB, 下载次数: 7)

    3.jpg

    点评

    改成MM就好了,为什么不能写milimeters呢。那英制为什么要写inches呢,怎么不写mils呢? 像这样的参数规则定义,我们去哪里查看呢,allegro官方有文件说明吗?  详情 回复 发表于 2020-11-10 10:10
    1. art_param=outfile("gerber\\art_param.txt") ; ALLEGRO 標準是讀 XXX.BRD 目錄下的art_param.txt , 所以我是改 art_param=outfile("art_param.txt") 2. fprintf(art_param "OUTPUT-UNITS MM\n") ;  详情 回复 发表于 2020-11-10 10:00
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    12#
    发表于 2020-11-10 10:00 | 只看该作者
    caoqin 发表于 2020-11-9 19:09
    prog( (unit accur )
                                    unit=car(axlDBGetDesignUnits())
                                    accur=cadr(axlDBGetDesignUnits())

    1. art_param=outfile("gerber\\art_param.txt") ; ALLEGRO 標準是讀 XXX.BRD 目錄下的art_param.txt , 所以我是改 art_param=outfile("art_param.txt")

    2. fprintf(art_param "OUTPUT-UNITS          MM\n")   ; 最右邊需改MM  (你自己用手工設mm 再去看art_param.txt 就可確定)
  • TA的每日心情
    开心
    2020-7-21 15:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    13#
     楼主| 发表于 2020-11-10 10:10 | 只看该作者
    caoqin 发表于 2020-11-9 19:09
    prog( (unit accur )
                                    unit=car(axlDBGetDesignUnits())
                                    accur=cadr(axlDBGetDesignUnits())

    改成MM就好了,为什么不能写milimeters呢。那英制为什么要写inches呢,怎么不写mils呢? 像这样的参数规则定义,我们去哪里查看呢,allegro官方有文件说明吗?
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    14#
    发表于 2020-11-10 11:12 | 只看该作者
    你去搞懂一下 xxx.art gerber file 的基本格式 ;
    inch 25時 12345是?
    mil 25時12345 又是多少?
    mm 25時12345 又是多少?
    何謂前省0?  何謂後省0?


    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-8 10:09 , Processed in 0.093750 second(s), 29 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表