It looks like you're new here. If you want to get involved, click one of these buttons!
Hello,
I have a script that takes a DRC report file and does some analysis on the related layout. I started from this forum entry to load the ReportDatabase:
alv = RBA::LayoutView::current
rdb_index = alv.create_rdb("database_name")
rdb = alv.rdb(rdb_index)
rdb.load('my_drc.db')
This works great when executed interactively, but now I'd like to change the script to be executed on the command line. The problem is that RBA::LayoutView::current
doesn't exist there, so I tried to create the rdb
object explicitly:
rdb = RBA::ReportDatabase.new
rdb.load('my_drc.db')
But the load
call failed with the following exception:
Object cannot be created here in LayoutView::create_rdb
Is there a non-interactive version of the RBA::LayoutView#create_rdb method somewhere, or a different workaround?
Comments
Well, at least I found a workaround, by starting KLayout in Non-GUI mode (hidden views) instead of Non-GUI mode (database only, implies -nc):
Otherwise I'd use the
-zz
parameter instead of-z
to run scripts through the command line.Hi Chris,
I need to look into this. Actually the database object is supposed to be taken from a view. It's was not designed initially to live standalone. That's why the constructor fails (actually it's a late initialization that fails).
I don't recall the reason why a database object needs the views (-z instead of -zz). Maybe it can be enhanced such that you can use it standalone too.
Thanks for reporting this issue,
Matthias