Eagle Board mirror, a dream came true, not fully tested yet, any one interested try it and send me your feedback if you notice any issues, here is a link to the experimental ws:
This looks amazing. The mirroring works great too. How did you do it? Were you able to just do some high level Three.js trickery? This is full-fledged 2-sided milling now. missing/deleted image from Google+
It looks like when you mirror, you get negative path inflation (deflation) rather than inflation, so it seems maybe you have a bug in your inflate being negative instead of positive. When I don’t mirror, it seems to work fine.
It was more difficult to notice at 0.05 inflation, it’s very visible now at 0.1, and with the default 0.35 a bunch of the inflatepaths just won’t even generate and things get all around weird.
Here’s what it should look like (not mirrored): http://imgur.com/a/1u0Iy
And note how my 3.3v trace behaves differently in mirrored than the rest. It’s still fat when mirrored
Hum, I’ve been testing using 0.35 inflation, I never ran in to this issue, but I can imagin what causing it, I’ll try to fix it tonight, it still early morning in here.
@jlauer I only used Three.js to mirror smdgroups and padgroups using applyMatrix, everything else is mirrored by recalculating x & y before pushing them to paths, lines . etc.
I used board boundaries (just minimum and maximum values of X & Y in board dimensions layer) to recalculate each and every x & y.
Well, what’s really great about your approach then is that stuff like the solder mask just works automatically. When I was thinking 6 months ago about how to tackle the board mirroring, I was going to just place everything into a Three.js group, flip the group horizontal, and then I’d be done. The problem with that is then you have to re-extract from the group all the objects with absolute XY values so you can use the Clipper.js library to do all the path creation. You just achieved all of this. Incredible work.
Great job @ameen.nihad .
I started board mirroring couple of months ago, have had some discussion with @raykholo but didn’t get enough time to fully complete this. So I am even more happy to see this feature working.
It is a huge milestone, as it was a missing feature and whole community was waiting to see board mirroring available in the widget.
I think after some testing this might be pulled into main Chilipeppr workspace.
Ok, pushed to main TinyG workspace. @ameen.nihad amazing job here. This is a huge step for all of us. I made your checkboxes allow the text to be clicked too by adding a tag around them which is the Bootstrap technique I use everywhere.
I’m glad that I was able to contribute and add this nice feature to the wedge, I never thought I will be able to finish it in just few days, considering that a week ago I had no idea how Chilipeppr is developed, thanks for Jonh’s three tutorial videos, they increase the speed of my learning curve.
My approach was very simple and easy to implement, I spent most of the time trying to understand widget code and how the board is being rendered.
It’s nice that the widget is shared with GRBL workspace.
Hopefully, I will do more updates to Eagle BRD widget in the coming weeks, add new features and tweak some of the existing ones.