It looks like you're new here. If you want to get involved, click one of these buttons!
Hi,
How to interface DRC engine to the Ruby engine in Klayout?
such that I can transfer Ruby variable values between the two engines?
In the Example script, how to I pass the variable "Die_Orientation" from the calling ruby script to the DRC engine?
and viceversa, how to I pass the content of the variable "l10" from DRC engine to Ruby?
module MyMacro
include RBA
mydrc = <<DRC
l10 = input(15)
l1 = input(1)
(l10 ^ l1).sized(-0.002).output(100, 0)
DRC
Die_Orientation = "vertical"
eng = DRC::DRCEngine::new
eng.instance_eval(mydrc)
eng._finish
end
Thank you in advance
Best regards
Giovanni
Comments
Hi Giovanni,
there are many ways to achieve this ... it's all built into Ruby. The DRCEngine class is a ordinary Ruby class, and "instance_eval" is a standard Ruby method.
The dirty solution is to use global variables, e.g. "$die_orientation".
A more elegant solution is to wrap the drc code into a block. The block has access to the variables outside:
Matthias