Maslow Home Maslow Community Garden Newsletter

MakerCAM not willing to cut a ring-shaped pocket?

#1

I am tring to cut a disk with a rabbet around the outside. Here is my svg:

<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='11.910in' height='11.910in' viewBox='-5.955 -5.955 11.910 11.910'>
  <metadata>
    <cutobject type='profile' unit='imperial' name='profile%201' safetyheight='0.25' stocksurface='0' targetdepth='-0.75' stepover='NaN' stepdown='0.0625' feedrate='10' plungerate='30' tooldiameter='0.125' roughingclearance='NaN' outside='false' direction='1'>
      <path>path2</path>
      <path>path3</path>
      <path>path4</path>
      <path>path5</path>
    </cutobject>
    <cutobject type='pocket' unit='imperial' name='pocket%202' safetyheight='0.25' stocksurface='0' targetdepth='-0.50' stepover='0.4' stepdown='0.0625' feedrate='10' plungerate='30' tooldiameter='0.125' roughingclearance='0' outside='false' direction='1'>
      <path>path6</path>
    </cutobject>
    <cutobject type='profile' unit='imperial' name='profile%203' safetyheight='0.25' stocksurface='0' targetdepth='-0.75' stepover='NaN' stepdown='0.0625' feedrate='10' plungerate='30' tooldiameter='0.125' roughingclearance='NaN' outside='false' direction='1'>
      <path>path1</path>
    </cutobject>
    <cutobject type='profile' unit='imperial' name='profile%204' safetyheight='0.25' stocksurface='0' targetdepth='-0.75' stepover='NaN' stepdown='0.0625' feedrate='10' plungerate='30' tooldiameter='0.125' roughingclearance='NaN' outside='true' direction='2'>
      <path>path0</path>
    </cutobject>
  </metadata>
  <path id='path0' stroke='black' fill='none' stroke-width='0.02' d='M 5.955,0 A 5.955,5.955 0 0 1 0,5.955 5.955,5.955 0 0 1 -5.955,0 5.955,5.955 0 0 1 0,-5.955 5.955,5.955 0 0 1 5.955,0 Z' />
  <path id='path1' stroke='black' fill='none' stroke-width='0.02' d='M 2.756,0 A 2.756,2.756 0 0 1 0,2.756 2.756,2.756 0 0 1 -2.756,0 2.756,2.756 0 0 1 0,-2.756 2.756,2.756 0 0 1 2.756,0 Z' />
  <g transform='rotate(0)'>
    <g transform='translate(3.189 0)'>
      <path id='path2' stroke='black' fill='none' stroke-width='0.02' d='M 0.0845,0 A 0.0845,0.0845 0 0 1 0,0.0845 0.0845,0.0845 0 0 1 -0.0845,0 0.0845,0.0845 0 0 1 0,-0.0845 0.0845,0.0845 0 0 1 0.0845,0 Z' />
    </g>
  </g>
  <g transform='rotate(124.5)'>
    <g transform='translate(3.189 0)'>
      <path id='path3' stroke='black' fill='none' stroke-width='0.02' d='M 0.0845,0 A 0.0845,0.0845 0 0 1 0,0.0845 0.0845,0.0845 0 0 1 -0.0845,0 0.0845,0.0845 0 0 1 0,-0.0845 0.0845,0.0845 0 0 1 0.0845,0 Z' />
    </g>
  </g>
  <g transform='rotate(180.0)'>
    <g transform='translate(3.189 0)'>
      <path id='path4' stroke='black' fill='none' stroke-width='0.02' d='M 0.0845,0 A 0.0845,0.0845 0 0 1 0,0.0845 0.0845,0.0845 0 0 1 -0.0845,0 0.0845,0.0845 0 0 1 0,-0.0845 0.0845,0.0845 0 0 1 0.0845,0 Z' />
    </g>
  </g>
  <g transform='rotate(235.5)'>
    <g transform='translate(3.189 0)'>
      <path id='path5' stroke='black' fill='none' stroke-width='0.02' d='M 0.0845,0 A 0.0845,0.0845 0 0 1 0,0.0845 0.0845,0.0845 0 0 1 -0.0845,0 0.0845,0.0845 0 0 1 0,-0.0845 0.0845,0.0845 0 0 1 0.0845,0 Z' />
    </g>
  </g>
  <path id='path6' stroke='black' fill='none' stroke-width='0.02' d='M 5.705,0 A 5.705,5.705 0 0 1 0,5.705 5.705,5.705 0 0 1 -5.705,0 5.705,5.705 0 0 1 0,-5.705 5.705,5.705 0 0 1 5.705,0 Z m 0.250,0 A 5.955,5.955 0 0 0 0,-5.955 5.955,5.955 0 0 0 -5.955,0 5.955,5.955 0 0 0 0,5.955 5.955,5.955 0 0 0 5.955,0 Z' />
</svg>

The path with id “path6” is the problem child. In Inkscape, the path shows a ring-shaped area. However, when I open the same file in MakerCAM, the pocket operation shows the area inside the ring, and not the ring itself.

Does anyone have a suggestion as to what I am doing wrong?

Peter.

0 Likes

#2

I don’t have and answer, but to help people see what it looks like, here’s a screen shot:

1 Like

#3

I don’t get question. Isn’t a pocket operation always the area and a contour in-/outside the shape?
The are a few rings, so what exactly are you trying to do?
Anyhow, in inkscape the outer 2 rings are 1 path with 8 nodes. Perhaps breaking them apart would help?

Edit:

Breaking them apart gave me strange stuff. 3 rings, 2 with a huge line thickness. Deleting the 2 thick ones and adding a separate ring inside, selecting the 2 rings in makercam and making a pocket, no issue.

Edit2: There are some more issues with this .svg. This is what it looks like to pocket the inside.
Does not look good… Notice the ‘contour’ around the outside that i did not create…

0 Likes

#4

This is the saved file from makercam with loads of errors. Can you upload the original SVG and describe what will be a pocket?

0 Likes

#5

I posted the original SVG, it is being generated by a program written in Groovy. If it is malformed in some way, please let me know and I will fix my code.

path6 is a pair of concentric circles represented as paths. One of the paths is represented in a clockwise order and the other in a counterclockwise order:

Attached here is the svg in Inkscape, where I’ve added a green fill to path6.

I would like the green area to be pocketed out…

Sorry for the confusion.

0 Likes

#6

In the .svg in the first post there are the profiles and pockets. The .svg before any cuts are applied would interest me.

Is that with profiles and pockets?

0 Likes

#7

Yes, my code generates both the SVG and the profiles and pockets.

I didn’t like fooling around in Inkscape. Trying to get cuts in exactly the locations and dimensions I was looking for was too tricky. So I decided that I would be more precise to write code to generate SVG files instead.

Originally I generated only the SVG, but then I noticed that MakerCAM could also “Save SVG File”.

When I opened one of my files after a round-trip, I noticed the <metadata> and <cutobject> tags that MakerCAM added.

So I decided to add those tags to the SVG programmatically myself as part of the script. The idea is that I can change the materialdepth or tooldiameter variables in my code, and have the generated <cutobjects> automatically reflect the changes.

1 Like

#8

Oh wow, Respect! I don,t understand what you need makercam for then. This is over my horizon, or i’m just burnt out. Guess i’ll not be much of a help.

0 Likes

#9

My code generates the SVG paths, and associates those paths with CAM operations, but I still need MakerCAM to produce the gcode.

0 Likes

#10

I would try removing your cutobject tags, define them through makercam and then
see what’s different.

I suspect that what’s happening is that you are defining a pocket using just one
circle, when you need to define it with two. But I wouldn’t have a clue what
changes you would need to make in SVG to do this. So do it in makercam and look
at the result.

David Lang

0 Likes

#11

This is where Makercam fails I guess, because the CAM is in there. I discovered that you can delete all profiles and create them new with the pure rings left. It works then.
The title should be more related to your code and not to makercam.
Inkscape -> makercam to g-code ~10 minutes to achieve, QCad or Libre-Cad and then .dxf to bCNC ~ 10 min, FreeCad ~ 15min (7 min for me), can’t speak for Fus360, but the task is quite simple to be done in equal time-frame.
If you can figure out the coordinates, your script should generate the g-code rather then Makercam.

0 Likes