Profile node examples - nortikin/sverchok GitHub Wiki

Keyboard key

default height = 1.0
default width = 4.0
default depress = 0.1
default top_coeff = 0.9

let depression = {height * depress}
let top_width = {width * top_coeff}
let depress_r = {(4*depression**2 + top_width**2)/(8*depression)}
let dx = {(width - top_width)/2.0}

M {-width/2.0},0
l dx, height
a depress_r, depress_r 0 0 1
  top_width,0
l dx, -height

https://gist.github.com/portnov/3f98a018c5391304fca46457932fcdeb

Petal

default top_handle = 0.4
default angle_handle = 0.5
default length = 1
default alpha = {pi/3}

M 0,0
C {-angle_handle*sin(alpha/2)}, {angle_handle*cos(alpha/2)}
  -top_handle, length
  0, length
C top_handle, length
  {angle_handle*sin(alpha/2)}, {angle_handle*cos(alpha/2)}
  0, 0
X

Handle

default r0 = 2
default r_outer = 9
default edge_w = 1
default deepen_d = 1
default edge_h_outer = 5
default edge_h_inner = 3
default hub_h_outer = 6
default hub_r_outer = 3
default hub_r_inner = 1
default hub_h_inner = 5

let deepen_w = {r_outer - r0 - edge_w}
let deepen_r = {(4*deepen_d**2 + deepen_w**2)/(8*deepen_d)}
let inner_w = {(r0 + deepen_w) - hub_r_outer}
let hub_thickness = {hub_r_outer - hub_r_inner};

M 0, {hub_h_outer - edge_h_inner + edge_h_outer} ;
h r0;
a deepen_r,deepen_r 0.0 0 1 deepen_w,0
h edge_w;
v -edge_h_outer;
h -edge_w;
v edge_h_inner;
h -inner_w;
v -hub_h_outer;
h -hub_thickness;
v hub_h_inner;
h -hub_r_inner;