以前一个网友碰到和你同样的问题,我帮他写了个skill 程序解决了,现在把源码share 给你
“先说一下用处,楼主的公司在做分离器件device,1k多个cell,要out出1k多个gds.每个cell一个gds,手动out有点不现实,,保证敲错名字...写了个简单的一个程序,仅仅一个while循环而已.运行前先开streamout的窗口设一下其他值的话,下面的程序的下半部分也可以删了,前面几句话就可以了......(out的gds在./gds下面)
procedure( pppp()
geSelectAllFig()
selset=geGetSelSet()
celNam=selset~>cellName
i=0
while( i < length(celNam)
a=nth(i celNam)
hiiSetCurrentForm('transStreamOutForm)
transStreamOutForm->pipoPrimaryCell->value = a
transStreamOutForm->pipoLibName->value = "lib33"
transStreamOutForm->pipoOutFile->value = strcat("./gds/" a ".gds")
streamOutKeys = list(nil
'runDir "."
'viewName "layout"
'scale 0.001000
'units "micron"
'compression "none"
'hierDepth 32
'convertToGeo nil
'maxVertices 200
'refLib nil
'libVersion "5.0"
'checkPolygon nil
'snapToGrid nil
'simMosaicToArray t
'caseSensitivity "preserve"
'textCaseSensitivity "preserve"
'lineToZeroPath "path"
'convertDot "ignore"
'rectToBox nil
'convertPathToPoly nil
'keepPcell nil
'replaceBusBitChar nil
'useParentXYforText nil
'reportPrecision nil
'runQuiet nil
'comprehensiveLog nil
'ignorePcellEvalFail nil
'errFile "IPO.LOG"
'NOUnmappingLayerWarning nil
'techFileChoice nil
'pcellSuffix "DbId"
'respectGDSIILimits nil
'dumpPcellInfo nil
'genListHier nil
'cellMapTable ""
'layerTable ""
'textFontTable ""
'convertPin "geometry"
'pinInfo 0
'pinTextMapTable ""
'propMapTable ""
'propSeparator ","
'userSkillFile ""
'rodDir ""
'refLibList ""
hiFormDone(transStreamOutForm)
)
i++
)
) |