skill layer操作学习笔记

该博客围绕Allegro二次开发展开,介绍了一系列层操作功能,包括获取层类型、判断字符串是否为层、判断层可见性、创建叠层等,还涉及design的可见性设置、层平面类型设置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PCB Layer

获取层类型

axlDBGetLayerType
	t_layerName
)

CONDUCTOR, CROSSOVER, DIELECTRIC, PLANE, BONDING WIRE, MICROWIRE, MULTIWIRE, OPTICAL WAVE GUIDE, or THERMAL GLUE COATING

判断给出的字符串是否为层

axlIsLayer(
	t_layer
)
axlIsLayer(
	"ETCH/TOP"
) -> t

axlIsLayer(
	"ETCH/TOP1"
) -> t

判断层是否可见

axlIsVisibleLayer(
	t_layer
)
axlIsVisibleLayer(
	"ETCH/TOP"
)

创建叠层

axlLayerCreateCrossSection(
	t_Prev_layerName
	t_layerType
	t_materialType
	[t_subclassName]
	[t_planeType]
)
axlLayerCreateCrossSection(
	"Bottom",
	"Conductor",
	"Copper",
	"Sugon",
	"Positive"
)

获取Non-Etch层

axlLayerCreateNonConductor(
	t_layerName
)

获取层DBID

axlLayerGet(
	t_layer
)
改变"ETCH/TOP”的颜色
layerDBid = axlLayerGet( "ETCH/TOP" )
layerDBid ->color = 7
axlLayerSet( layerDBid  )
axlVisibleUpdate(t)

设置design可见

axlVisibleDesign(
	g_makeVis
)
saveVis = axlVisibleGet()
axlVisibleDesign(nil)
; set desired layers visible via one or more calls to
axlVisibleLayer(...)
; set find filter for objects to find
axlSetFindFilter(...)
; find objects by using one of the Select APIs .. example
axlAddSelectAll()
objs = axlGetSelSet()
; restore visiblility
axlVisibileSet(saveVis)
; note no need to make a call to axlVisibileUpdate because
; the visisbility changes are a wash

获取design的可见性

axlVisibleGet(
)
Example
visList = axlVisibleGet()
(
(nil class "BOARD GEOMETRY" visible nil subclassinfo nil)
(nil class "COMPONENT VALUE" visible nil subclassinfo nil)
(nil class "DEVICE TYPE" visible nil subclassinfo nil)
(nil class "DRAWING FORMAT" visible nil subclassinfo nil)
(nil class "DRC ERROR CLASS" visible t subclassinfo nil)
(nil class "ETCH" visible -1
subclassinfo
(("TOP" t)
("TRACE_2" nil)

设置design的可见性

axlVisibleSet(
	l_visList
)
axlVisibleSet(
	( list
			(nil class "ETCH" visible -1 subclassinfo (
														("TOP" t)    
														("INT2" nil)
			)
			(nil class "ETCH" visible -1 subclassinfo (
														("TOP" t)    
														("INT2" nil)
			)
)
axlUIWUpdate (nil) 

设置层的可见性

axlVisibleLayer(
	t_layer
	g_makeVis
)
axlVisibleLayer( "ETCH/TOP" t )
axlUIWUpdate (nil)

返回最底层的名称

axlConductorBottomLayer(
)

返回最顶层的名称

axlConductorTopLayer(
)

创建Film

axlDBCreateFilmRec(
	t_filmname
	n_rotate_code
	n_x_offset
	n_y_offset
	n_undef_line_width
	n_shape_bound
	n_plot_mode
	n_mirrored
	n_full_contact
	n_supp_unconnect
	n_draw_pad
	n_aper_rot
	n_fill_out_shapes
	n_vector_based
)
axlDBCreateFilmRec(
	"Sugon",
	0,
	0,
	0,
	0,
	0,
	0,
	nil,
	0,
	0,
	0,
	0,
	0,
	0
)

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" 
	 )
)

设置层的平面类型

axlSetPlaneType(
	t_subclassName
	t_planeType
)
axlSetPlaneType(
	"ETCH/TOP",
	"Positive"
)

判断是否为阴片

axlIsLayerNegative(
	t_layerName
)
axlIsLayerNegative(
	"ETCH/TOP"
)

获取当前层

axlGetActiveLayer(
)
axlGetActiveLayer (
	"ETCH/TOP"
)

设置当前层

axlSetActiveLayer(
	t_layer
)
axlSetActiveLayer(
	"ETCH/TOP"
)

更新叠层参数

axlLayerSet(
	o_dbid
)
改变"ETCH/TOP”的颜色
layerDBid = axlLayerGet( "ETCH/TOP" )
layerDBid ->color = 7
axlLayerSet( layerDBid  )
axlVisibleUpdate(t)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值