You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the consistent API pain points I have is moving between an [x, y] and [x, y, r] coordinate lists. I frequently find I want to start with a polygon in [x, y] space while developing iteratively, and only later move it to an [x, y, r] polygon. Additionally, I've wanted to use translateRadiiPoints for regular [x, y] polygons before. Here are two (dumb, simple) helper functions that I frequently use; I think Round-Anything could benefit from similar (better-named) functions.
function rless(list) = [for (i=[0:len(list)-1]) [list[i][0], list[i][1]]] ;
function rish(list, r) = [for (i=[0:len(list)-1]) [list[i][0], list[i][1], r]] ;
I understand if you think this doesn't meet the bar for inclusion, but I find openSCAD's functions to be incredibly painful to write. My usual approach when writing in unfamiliar languages is to be verbose and split things into more operations with well-named variables as intermediate steps, and openSCAD's function syntax seems actively hostile to that.
It's a good point @Trial-In-Error. I already have a rless equivalent function getpoints(p)=[for(i=[0:len(p)-1])[p[i].x,p[i].y]];// gets [x,y]list of[x,y,r]list
but not rish.
Plus getpoints is not documented.
I'll leave this open and try and do something about it soon, but prod me if it's been a couple weeks and I haven't got around to it.
One of the consistent API pain points I have is moving between an [x, y] and [x, y, r] coordinate lists. I frequently find I want to start with a polygon in [x, y] space while developing iteratively, and only later move it to an [x, y, r] polygon. Additionally, I've wanted to use
translateRadiiPoints
for regular [x, y] polygons before. Here are two (dumb, simple) helper functions that I frequently use; I think Round-Anything could benefit from similar (better-named) functions.Example where
rless
is helpful:And for
rish
:The text was updated successfully, but these errors were encountered: