Tagged: trace, length_geo, Euler
- This topic has 2 replies, 3 voices, and was last updated 2 months, 1 week ago by Edgars.
-
AuthorPosts
-
17 August 2021 at 19:26 #6559LaserJonParticipant
Hi,
I am having some trouble with the Euler bend. The expected length, the bend’s property length_geo, and the length on the mask only match for a 90 degree bend, and otherwise they are all different. I’m using the current Nazca version. Can you advise please?
Sample Code:
import nazca as nd import numpy as np nd.clear_layers() nd.add_layer(name='rib', layer=(10,0), fab_name='example', accuracy=0.001) with nd.Cell(name='top_cell') as top_cell: #https://en.wikipedia.org/wiki/Euler_spiral #expected path length: L = 2 * Radius * Angle(rad) y=0 #The third value in tuples below are approximate lengths I measured from the mask. for radius,angle,masklength in [(12.5,180,55),(12.5,90,39),(50,90,156),(50,8,47),(50,4,33),(50,2,23.4),(50,1,16.6),(25,1,8.3),(12.5,1,4.1),]: euler1=nd.euler(width1=1,width2=1,radius=radius,angle=angle,layer='rib').put(0,y,0) print('Radius/Angle: ({:.1f}/{}) Expected length: {:.2f}, length_geo: {:.2f}, mask measured length: {}'.format(radius,angle,2*radius*angle*np.pi/180, euler1.length_geo,masklength)) y-=5 nd.export_gds(topcells=top_cell,filename='example_081321.gds')
Output:
Rad/Angle: (12.5/180) Expected length: 78.54, length_geo: 27.77, mask measured length: 55
Rad/Angle: (12.5/90) Expected length: 39.27, length_geo: 39.27, mask measured length: 39
Rad/Angle: (50.0/90) Expected length: 157.08, length_geo: 157.08, mask measured length: 156
Rad/Angle: (50.0/8) Expected length: 13.96, length_geo: 526.86, mask measured length: 47
Rad/Angle: (50.0/4) Expected length: 6.98, length_geo: 745.09, mask measured length: 33
Rad/Angle: (50.0/2) Expected length: 3.49, length_geo: 1053.72, mask measured length: 23.4
Rad/Angle: (50.0/1) Expected length: 1.75, length_geo: 1490.19, mask measured length: 16.6
Rad/Angle: (25.0/1) Expected length: 0.87, length_geo: 745.09, mask measured length: 8.3
Rad/Angle: (12.5/1) Expected length: 0.44, length_geo: 372.55, mask measured length: 4.1
Thanks, Jon
5 October 2021 at 23:04 #6591RonaldKeymasterDear Jon,
A correct observation. This has been fixed a while ago in the development version and will make it in the new public Nazca release. That release will also have more advanced Euler bends that by default fix euler-bend scaling as well as provide automated transitions to arc-bends if a specified mininum bend radius is reached. The updated Euler will also use a better discretisation setting for the specified mask resolution.
Ronald
3 July 2024 at 11:33 #7116EdgarsParticipantDear Ronald,
has the issue described above been fixed in 0.5.13 version of nazca design?
Thanks,
E
-
AuthorPosts
- You must be logged in to reply to this topic.