[feature request] COMPLETE: Changing the work area in Easel

I think it would be useful if it would be possible to snap objects to x or y axis :slight_smile:

Its been a few weeks since an update how is the progress coming along?

Yes there is progress! I’ll post photos/videos when I get into work tomorrow morning, but I’ll just describe a bit of what we’ve been doing.

First we separated the feature into two, one for changing the work area, and one for zooming/panning the 2d editor. Turns out they are completely separate, code-wide, but zooming the 2d editor is an “interface requirement” for a larger work area. The reason is that if we just built larger work area, it would make selecting/working with small objects that much worse.

So we started building zooming first. Last week we went through a half-dozen different interaction modes, trying to figure out what the most natural way to zoom and pan the editor would be. We tested with several combinations of input devices (mouse with a scroll wheel, laptop trackpads, etc) and interaction modes (scrolling, dragging, swiping, pinching, etc). We added scroll bars to aid users who aren’t used to trackpads/scrolling, and added zooming buttons and a “home” button in case you get lost on the interface.

Again, I’ll update this post in the morning when I can make a little demo of where we are at. Very interested in getting some feedback.

[Update: here is a video of it]

Work area expansion will be up after that. Not much to do interface-wise there, so it should be quick (famous last words). Once that is done, it’ll be ready for user testing.

As a reminder of what else is on our plate over the next month (in time for shipping x-carve), we’ve also got the gcode-controlled spindle and an Easel machine setup walkthrough to help new users get their axes setup and confirm their wiring before running their first job.


Hey Paul! Thanks for such a thorough update. Sounds like your making great progress over there and I cannot wait to get my hands on the software to test it out! Im trying to get as comfortable with everything on the software side before my x-carve arrives so there will hopefully be a smaller learning curve.

Hey just so you know I posted a video from working on it today:

1 Like

Looks really good, great work! Cant wait to get my hands on it.

Oh Yeah! Sweet! Nice Work!

wow! can`t wait to be able to try it out! Thanx, guys! :slight_smile:

Update: We just pushed live the ability to zoom and pan the 2D editor. Give it a try and let us know if you encounter any kinds of issues, or have any suggestions.

The next thing is to actually build the feature to allow you to change the work area. This is fairly minor compared to the actual zooming / panning (which set the stage, code-wise, for expanded work area).

Enjoy, and thanks for the feedback!

1 Like

Looks and feels great! Really nice work, keep it up!

Now that zooming is completed, we are going to move on to the actual topic of this thread, changing your work area. You guys have been so helpful giving feedback, I figured I’d come back for more.

Everyone bought makerslide for their machine that is a certain length. Most people know this length (one of: 500mm, 1000mm, 1800mm, etc). Accounting for the size of the carriages, you can calculate the work area pretty simply. So here is my question: would you all rather put in the size of your rails, or put in the size of the work area directly. This might seem like a silly question, but now that X-Carve comes in 500mm and 1000mm sizes, it seems strange to have everyone try to figure out what their work area is when it is generally just like

workAreaX: xRail - carriageWidth / 2
workAreaY: yRail - motorPlateWidth / 2

Or something very close to that.

Thoughts? Special cases I haven’t considered?

I’d rather put in the size of the work area because I’ve got a custom build that you don’t know the carriage and motor plate widths for.

I would guess that either would work even if I customize the rails beyond standard lengths right? So if perhaps I reduce a rail from 1000 to 800mm, as long as I put in 800 my work area will come out right correct? If this is the case I like the rail idea as long as it tells you the work area size after putting in rail lengths. It would take the guesswork out of guessing what the final work area is…

I like the idea of just entering the rail size, but there are a few instances where directly entering the work area would be a better option.

• someone might want to work in a smaller region of their machine’s total work area due to modifications they may make
• some people with SO2 upgrades may have differing rail sizes
• in the future you may want o offer different rail sizes in your shop for people to customize their machines further
• calculating from rail size assumes that everyone has their limit switches in exactly the same spot and that their belts are tightened down and at the same place

For those reasons, you may want to have the user enter the work area manually.

Just spitballing here… when the machine is on, can you get a reading of where the spindle is at based on zeroing at the closest left corner and then moving the tool head manually to the far right corner and then measuring again? This could be a user friendly process as a way to calculate the work area of each machine. It would go something like this:

  1. when a user goes to enter their work area available Easel asks for
    the work area numbers in x y and z
  2. at the same time, below the manual entry for x y and z, Easel also has a step by step guide
    of some sort showing how to calculate these numbers by the
    a. Move your tool head to the closest left position and down
    b. click a button that makes this position zero for x y and z (only for this guide’s purposes)
    c. Move your tool head to the farthest right position and all the way up
    d. click a button that takes a reading and calculates the work area and enters the numbers automatically indent preformatted text by 4 spacesabove

I would like the option of entering a custom work area. I plan on increasing the size of my work area when I update the S2 to the X-Carve but it won’t be to the next size of makerslide. I will actually be cutting them to a custom length to fit the available space I have in my shop.

Thanks for getting back to me @MikeMerzke, @sketch42, @DonDespain and @RobertZeh !

In general, Easel is always about “good defaults”, so I think we’ll split the difference. We will have a free input for custom size work areas in the machine settings menu, and an initial setup walkthrough for new x-carve customers where they’ll be able to select between 500mm and 1000mm rail options, never even having to worry about this specific issue.

The key development issue with this feature is how to tie together the expandable work area in 2D and in 3D. We were using a static “image” for the wasteboard in 3D, but instead we are going to dynamically create that wasteboard image just like we are doing for the 2D area. Here is a preview of where I’m at so far. As with all of Easel’s numeric inputs, you’ll be able to type in values in inches or mm just by typing “in” or “mm” after the number, but they’ll be converted into the unit system you have selected.

[You need to click on the image to start the gif playing]

The gif shows setting a larger work area. The 3D preview still is limited by the size of the material, so then I show increasing the size of the material.

One area we are still trying to figure out is whether the work area should be a personal preference or if it should be tied together with the project. For example, if you publish a project with a large work area, and someone with a small machine opens it, should the work area show up as large or small?


I personally would like to see it as a personal preference. That way once I set up Easel for my machine no matter what project I am working on or sharing. The least amount of machine specific options I have to input just do another project. If someone creates a project that they share that requires a larger work area than my machine has it should just show that it won’t fit or having a error message saying that.

1 Like

I’m late to the discussion about the specifics of setting the work area, but I’d prefer to be able to set the actual size of the piece I’m cutting. For my Shapeoko2, the long axis is X, gantry is Y and Z. The dimensions of X and Y are non-standard with X being 1500mm, Y is 600mm.

I just took a look at the new Easel and like the zoom on 2D. I’m looking forward to seeing further development of the product.

I had an issue with Easel yesterday and had to use MakerCAM to cut a bracket. Easel gives me an error popup saying “The current bit is too large to cut this design”. Originally, I had chosen a 1/4" bit because the smallest area to be cut is 1/4". I changed the bit to 1/8" and still get the same error. I had no problem getting MakerCAM to generate gcode using a 1/4" bit.

Update to the last part of my previous post: I looked at how Easel was handling the svg file of my bracket. It was applying a path to both sides of the outline of the bracket. Checking the drawing a bit closer, I found InkScape had created a double line from the bmp. I had originally drawn the bracket in SketchUp, then saved a bmp of one face of it. When I zoomed in on the drawing in MakerCAM, I could see two traces that alternately met and diverged, only a pixel or two between the lines, but enough to create an issue in Easel. I was able to delete one of the outlines in MakerCAM and re-save an svg. I imported the new svg into Easel and it processed as it should.