Home Forums Nazca Questions and Answers opening gds file regarding its precision or accuracy

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • #6218

    Hello. I’m very glad I found nazca and thank you for all. I’m really happy to learn nazca.

    I have a question about gds precisions.

    In K-layout, I saved my gds drawing with 0.0001 precision which is not default value (0.001).
    And then, I opened it on nazca using load_gds, did some operations (just shifting or did nothing) and export it to gds.
    When I opened my file on K-layout, I found my whole layout is 10 times bigger than I expected.

    I searched in forum and found some QnA about gds_db_unit and gds_user_unit.
    And I found that my drawing became normal when I set gds_user_unit to 0.01 which is 10 times larger than default value.
    Is it a proper solution? Is it not relevant with precision of a drawing?

    (It seems like nazca only suppose all gds files are in the same units (is it true?) and I couldn’t found an option about that.)

    Thank you so much!


    Dear Moosonglee,

    This can be done with Nazca in the following way.

    When reading in the gds file, specify scale=0.1 as argument for load_gds. That ensures that the objects will have the intended size.

    When writing out the new gds file e.g. with export_gds, the default resolution of 1 nm will be used, which means you’ll loose the 0.1 nm (0.0001 um) precision.

    If you want to keep that resolution, you have to specify the following before exporting:

    nd.gds_base.gds_db_unit = 1e-10
    nd.gds_base.gds_db_user = 0.0001

    Other values can be used as well, but db_unit / db_user has to remain 1e-6 because the internal unit in Nazca is 1 um.

    All of this should be used with care, so know what you are doing!



    As of Nazca 0.5.13 a loaded gds file in Nazca will automatically scale to the gds database unit setting you are working in (the active gds_db_ unit), with respect to the setting in the loaded file. This can be additionally changed (as before) by setting the “scale” keyword in load_gds() to a factor other than 1.0.



Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.