微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > CAM350学习交流 > 一个脚本,如何修改,请教高手...

一个脚本,如何修改,请教高手...

时间:10-02 整理:3721RD 点击:

看到网上有很多人都在用Cam350 做宏,

但编辑起来很费劲,本人又不懂英文,希望有高手指点.

下面这个是一个做角线的宏,请教一下高手们,如何把其中的画线的部分不要,取而代之一个绘制方块的命令?

而且这个方块命令还要拥有可以扩大或缩小的相关参数.

a=Blanklayer!
b=Blankdcode!

util_camed@
setunit@ 1
update_dcodebar@
update_buttonbars@
setresolution@ 1000
update_dcodebar@

i#=0.200
k%=5
j#=0.5000
OpenForm #1,60,5, "手工加角线 V1.0", character, okcancel
AddForm #1, 0, 1, "请输入线宽(mm):", Input, i#
AddForm #1, 0, 2, "请输入线的长度(mm):", Input, k%
AddForm #1, 0, 3, "请输入角线离板边的距离(mm):", Input, j#

DisplayForm #1
Canceled% = formCancel(1)
DeleteForm #1
if Canceled% then goto 999

maxx#=vismaxx! '最大点坐标#
maxy#=vismaxy!
minx#=visminx! '最小点坐标#
miny#=visminy!

edit_layer@ a,2,2,4,0,"wokao"
setlayer@ a

aptable_compress@
update_dcodebar@

edit_aperture@ b,1,i#,i#,b,""
setdcode@ b

add_line@
setsnap@ 0
axy@ minx#-j#,miny#-j#
axy@ minx#-j#+k%,miny#-j#
back@
setsnap@ 1
axy@ minx#-j#,miny#-j#
axy@ minx#-j#,miny#-j#+k%
back@

add_line@
setsnap@ 0
axy@ maxx#+j#,maxy#+j#
axy@ maxx#+j#-k%,maxy#+j#
back@
setsnap@ 1
axy@ maxx#+j#,maxy#+j#
axy@ maxx#+j#,maxy#+j#-k%
back@

add_line@
setsnap@ 0
axy@ maxx#+j#,miny#-j#
axy@ maxx#+j#-k%,miny#-j#
back@
setsnap@ 1
axy@ maxx#+j#,miny#-j#
axy@ maxx#+j#,miny#-j#+k%
back@

add_line@
setsnap@ 0
axy@ minx#-j#,maxy#+j#
axy@ minx#-j#+k%,maxy#+j#
back@
setsnap@ 1
axy@ minx#-j#,maxy#+j#
axy@ minx#-j#,maxy#+j#-k%
back@

layer_alloff@ 1
view_all@
view_redraw@

999
print_msg "退出宏!"
delay 1000
end

 

不知道你的放大缩小是指什么,如果仅加框,可将所有ADD_LINE命令变为add_rectangle@
axy@ minx#,miny#
axy@ maxx#,maxy#
back@

这个宏是parcam的小编sandylin写的。

建议不要使用,如果一定要用记得去掉aptable_compress@ 这一行。


 

honghan先生,你好,

请问为什么不要使用呢?

还有一个问题就是,为什么要去掉aptable_compress@?

这个语句是做什么用的..

mine579先生,你好

我是一个刚刚学宏的新人,看到了sandylin写的这个宏,觉得很有用,

所以就想修改一下,变成一个用来给pcb 填块的工具,假如可以的话,那么其他的宏也可以拥有这样或那样的功能了!

另外的,那个放大和缩小的功能就是指角线要比板大,还是比板小,范围来着,具体情况,你可以用上面的代码存一个scr文件试试看!

a=Blanklayer!
b=Blankdcode!

util_camed@
setunit@ 1
update_dcodebar@
update_buttonbars@
setresolution@ 1000
update_dcodebar@

i#=0
OpenForm #1,60,5, "自动加防焊块 V1.0", character, okcancel
AddForm #1, 0, 1, "请输入防焊块需要扩大的尺寸(mm):", Input, i#

DisplayForm #1
Canceled% = formCancel(1)
DeleteForm #1
if Canceled% then goto 999

maxx#=vismaxx! '最大点坐标#
maxy#=vismaxy!
minx#=visminx! '最小点坐标#
miny#=visminy!

edit_layer@ a,4,4,-2,-2,"Bottom_Solder"
setlayer@ a

polylayer@ a
polyfilldcode@ 10
polyclearance@ 0.01
polyfillpattern@ "SOLID"
polyfillmethod@ "RASTER"
polyaddtype@ "DRAWBORDER"
polycenterline@ "No"
polydeleteislands@ "Yes"
add_poly_pouring@
axy@ minx#-i#,miny#-i#
axy@ maxx#+i#,miny#-i#
axy@ maxx#+i#,maxy#+i#
axy@ minx#-i#,maxy#+i#
axy@ minx#-i#,miny#-i#
back@

layer_alloff@ 1
view_all@
view_redraw@

999
print_msg "退出宏!"
delay 1000
end


这个是小弟改的,大家看看,欢迎拍砖

sandylin,已经N多年没看他上CAM35板块了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top