mikemag / snoCAD-X

CAD software for ski and snowboard design.
Apache License 2.0
36 stars 16 forks source link

Integrate with MonkeyCAM #7

Open mikemag opened 9 years ago

mikemag commented 9 years ago

MonkeyCAM is located here: https://github.com/mikemag/MonkeyCAM

The goal is to let people design visually in SnoCAD-X, then get MonkeyCAM to spit out the G-Code programs to cut all the necessary parts. This is easy to describe, but there are a bunch of subtle issues:

My current thinking is to start simple and only worry about the first issue for now: figure out how to take the SnoCAD-X model and get MonkeyCAM to use it, and literally just invoke MonkeyCAM.exe with the necessary inputs. All output would go to disk as is usual for MonkeyCAM, with no viz back in SnoCAD-X for now.

I took a new approach when I wrote MonkeyCAM v4. Previous versions relied heavily on the original parameters to form the models for each part. v4 attempts to use the initial parameters to form the overall board shape, then I offset, cut, and recombine new shapes based on the original shape to form all the other models. This is done with a small subset of the original parameters; the simple things like nose and tail length, center of the board, center of the effective edge, etc. I did this planning to be able to use overall shape models generated by others, so now we can see how well I did :)

So I'll need to modify MonkeyCAM to define clearly which minimal subset of the parameters we need given an overall board shape (and possibly a core shape). And, of course, to start with a given shape instead of building its own first.

Assuming we can make that work, and I believe we can, then any nose, edge, or tail shape we make in SnoCAD-X will work. Thus, we can innovate with new shapes in SnoCAD-X and not have to keep updating MonkeyCAM to match.

splitn2 commented 9 years ago

"My current thinking is to start simple and only worry about the first issue for now: figure out how to take the SnoCAD-X model and get MonkeyCAM to use it, and literally just invoke MonkeyCAM.exe with the necessary inputs. All output would go to disk as is usual for MonkeyCAM, with no viz back in SnoCAD-X for now."

Totally agree keep it simple, perhaps adding that all the board-def parameters for MonkeyCAM are passed from snoCAD-X. the MonkeyCAM machine defs need not change nor be set from snoCAD-X - right? I'm sure this will keep you guys busy enough for now without making this any more complicated than it needs be!

@mikemag again thanks for your commitment to this project and I sincerely hope this causes you no grief on the home or work front..... happy wife happy life remember that !!!!!

@bill622 thanks so much for getting on board, I'm keen to know more about your ski/board building plans or what ever you do in your spare time snow related, you must see some potential in this to generously contribute. Thanks heaps!

bill622 commented 9 years ago

Ahh to many things to answer! Lets start by a quick personnal profile:

I've been snowboarding since 1993. I've worked in a board shop as a salesman and also did some tune ups ans repairs. I've always been the guy who know exactly how the boards were made and I was always torturing reps with questions to know what was inside the boards. Since then, I concentrate on college and studied electronics and programming (C, C++, Assembly, basic, Java, Php, perl to name a few). Today, I work as a web programmer. I'm still snowboarding and since a couple of months, I'm planing my first garage pressed board. I came across the Git hub project of SnoCad-X on skibuilder.com forum. Which by the way, I tried to register twice without any answer from the forum owner :(. I haven't made a board yet, but I'm the kind of guy who will be planing every details until I'm ready to dive. I do this to reduce risks of failure. I also make electric bass guitars you can see on my facebook page (soon I'll have my new website ready). So woodworking (cores) is not a problem. ( https://www.facebook.com/BilodeauBasses )

I've forked SnoCad-X and added a few things. It was a steep learning curve to get back into Java and also add stuff in a software I haven't designed. I'm quite proud of the result even if my contrubution is minimalistic.

I have never used Monkey CAM and I have minimum knowledge in generating G-Code. But I have ideas we can probably add into a board design software. To be honest, I am not comfortable arguing on best practices for integrating both softwares into a simple workflow. I am sensible to UI and how a board should be designed and I am motivated :)

I think defining a list of issues would be a great starting point, then we could pick whatever fits our skills better. Makes sens ?

splitn2 commented 9 years ago

hi Matt @bill622 hey if you persist you will get your account setup on skibuilders.com the site admins are great guys and very welcoming just they probably have a zillion spam accounts to filter through before they find yours to activate!!!! you'll see so much good stuff on the forum, and also on Mikes happymonkeysnowboards.com wiki too , most of the answers are there and you can innovate and create new ways too. Your contribution to snoCAD is really appreciated and we can see where it goes I'll let Mike and Dan be the evaluators of your coding as I am no expert! We are keen to develop the UI so this is awesome.

One of the big deals for this software is that it takes us from design UI all the way to machining the wood and plastic components into a build/pressing/layup ready materials core bases and tip spacers which is a huge boost for small to medium board builders with CNC, and even without a CNC snoCAD will be a great design tool on its own.

So keeping snoCAD and MonkeyCAM "interoperable" longer term is what Mike has in mind which is great.

Keep up the good work!

@mikemag @danielgraf this is brilliant to see the team collaboration and communications going on!