Hello,
I used this tcl script on command line
calibredrv myfile.tcl
to merge 3 different gds files.
The output gds file, has been created with correct hierarchy but empty layout.
What is it wrong in my tcl scritp??
Many thanks
Ciao
Luciano
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Load file.gds
set Lone [layout create file1.gds -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]
set precision [expr int (1/([$Lone units]))]
$Lone units microns $precision
array set peekdata [layout peek file1.gds -type -precision -topcell -topcells -layers]
puts $peekdata(layers)
set Ltwo [layout create file2.gds.gz -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]
set precision2 [expr int (1/([$Ltwo units]))]
$Ltwo units microns $precision2
array set peekdata [layout peek file2.gds.gz -type -precision -topcell -topcells -layers]
puts $peekdata(layers)
set Lthre [layout create file3.gds.gz -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]
set precision3 [expr int (1/([$Lthre units]))]
$Lthre units microns $precision3
array set peekdata [layout peek file3.gds.gz -type -precision -topcell -topcells -layers]
puts $peekdata(layers)
# Create empty cell
set Lnew [layout create]
# Create new topcell
$Lnew create cell TOP
# Copy patterns on new layout
$Lnew create cell ONE $Lone [$Lone topcell]
$Lnew create cell TWO $Ltwo [$Ltwo topcell]
$Lnew create cell THRE $Lthre [$Lthre topcell]
# Place cell reference on new layout
$Lnew create ref TOP ONE 0 -3743.5 0 0 1
$Lnew create ref TOP TWO 4358.5 -3366.5 0 0 1
$Lnew create ref TOP THRE -4546.5 -3282.5 0 0 1
$Lnew units microns $precision
# Create final gds file
$Lnew gdsout test.gds.gz TOP
array set peekdata [layout peek test.gds.gz -type -precision -topcell -topcells -layers]
puts $peekdata(layers)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~