;FPM skill by Richard L. version=0.08 fpmontreal@gmail.com
;Tree:Connector/Header
;Desc:CH508 单排 5.08mm间距
;Vendor:
;Count:12
;CVG64:bitmap field, not implemented yet.
;Datasheet:
Tabs='(
(2 10.16)
(3 15.24)
(4 20.32)
(5 25.4)
(6 30.48)
(7 35.56)
(8 40.46)
(9 45.72)
(10 50.8)
(11 55.88)
(12 60.96)
)
;courtyard 庭院,我测试了一下应该是器件周围的距离
Courtyard=0.5 pH=15 Pitch=5.08
Width=10.16;先定义为器件的宽度
foreach(aTb Tabs
CKTS =nth(0 aTb)
A =nth(1 aTb) ;这个参数是获取 Tabs表格中的第二列的数据
sprintf(pName,"CH508M-%d",CKTS)
_PrepareNewSym(pName)
PadN=_PadTH_Default(2.2 1.8)
_PinArray(PadN CKTS 1 Pitch 0 -(CKTS-1)*Pitch/2:0)
;bound
_Layer(lPkgGeoPlaceT)
;shape里面的第二个参数 上下宽度
_BoundHeight(_ShapeRectangle(A+Courtyard*2 Courtyard*2+Width) pH)
;silkscreen & assembly
for(i 1 2
case(i
(1 _Layer(lPkgGeoSilkT))
(2 _Layer(lPkgGeoAsmT)))
;这个应该是画第一脚的 三角形的.
_Triangle(-(CKTS-1)*Pitch/2:-Width/2 2 90)
;这里面的第二个参数是矩形的上下宽度
_Rectangle(A Width)
_Line(list(CKTS*Pitch/2:-3 -CKTS*Pitch/2:-3));画方向识别的横线
)
;ref & val
_CreateRefValue(pName 0:-Width/2-tSilkHeight/2)
;_CrossCenter()
axlSetSymbolType("package");哈哈哈,这里一定要注意.之前的cadence 16.6 用fpm 创建的器件封装不能保存.是因为 setup ->design parameter的 design
;drawing type 的类型需要修改成为 package. 用了这个函数接口,就直接讲类型修改了. 后面就可以直接保存使用了.
_SaveDesign(pName)
_MakeDevice(pName 2) ;0-IC 1-IO 2-DISCRETE
);foreach