| ||
备份
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; to fix the cell boundary bigger than real data issue
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
procedure(fixBigBox(@optional (deleteWrongLPP nil))
let((cv techFile)
cv=geGetEditCellView()
techFile = techGetTechFile(cv)
foreach(sh cv~>steiners
printf("Deteling steiners at %L\n" sh~>bBox )
dbDeleteObject(sh)
)
;; detele guides
foreach(sh cv~>guides
printf("Deteling guides at %L\n" sh~>bBox )
dbDeleteObject(sh)
)
;; detele markers
foreach(sh cv~>markers
printf("Deteling markers at %L\n" sh~>bBox )
dbDeleteObject(sh)
)
;; detele changeLayer
foreach(sh cv~>shapes
if(sh~>layerName == "changedLayer"
then
printf("Deteling changedLayer at %L\n" sh~>bBox )
dbDeleteObject(sh)
)
)
foreach(sh cv~>shapes
if(!techGetLP(techFile sh~>lpp)
if(deleteWrongLPP then
printf("Deteling shape whose lpp is not defind in current PDK:\n
LPP=%L bBox=%L\n" sh~>lpp sh~>bBox)
dbDeleteObject(sh)
else
printf("This shape is a layer not belonging to current PDK, if you need to delete it please run command fixBigBox(t)\n LPP=%L bBox=%L\n" sh~>lpp sh~>bBox)
)
)
)
dbSave(cv)
dbComputeBBox(cv)
hiRedraw()
)
)