Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Deftware

429
Posts
10
Topics
66
Followers
14
Following
A member registered May 30, 2015 · View creator page →

Creator of

Recent community posts

Hi Joe,

The diameter of the selected tool much match the diameter of the hole features being contoured. The Hole Drilling operation just generates a peck-drilling toolpath, with only Z motions, using a proper drill bit. You can use an endmill instead but your results may vary depending on the geometry of the endmill and how well the flutes clear chips, and what parameters you use.

If you want to use a 1/8" endmill to cut 1/4" holes I would probably just use the Profile Milling operation with a non-zero Cut Width specified, so that it works its way outward. Or, a combination of the 2D Trochoidal Milling with an Offset to leave some stock, and then the Profile Milling operation to bring the holes to size.

Hope that helps. Cheers! :]

 - Charlie

Hi Joe,

The Hole Drilling operation will work for peck-drilling holes using a conventional drill bit. The next best thing is the 2D Trochoidal Milling operation, which will generate a spiral cutpath inside of each circular contour at each cutdepth down to the maximum cutting depth.

The 2D Profile Milling operation will require a cut stepover if the Cut Width parameter is non-zero, because a non-zero cut width indicates that there are going to at least be two cutpaths that are Cut Width apart from eachother, and there needs to be a cut stepover to indicate what increment to stepover at to get from the inner-most cutpath to the outer-most cutpath over the specified cut width distance. Hopefully that makes sense.

Cheers! :]

 - Charlie

Hi Joe,

Thanks for taking the time to submit some ideas and feedback, it's much appreciated! We have been looking at what kind of parameters and things we could tie into tool definitions such as speeds/feeds.

Cheers! :]

 - Charlie

Hi Joe,

The tool slot number in a PixelCNC project is the tool index that an automatic tool changer will put in the spindle.

With a custom G-code post-processor you can have exported G-code contain virtually anything you need. If you need any assistance with that go ahead and send an email to us at support@gmail.com and we'll get you squared away :]

 - Charlie

Hi Joe,

The tool slot numbers in a project are what is used as the tool index in exported G-code. The Tool Library is only for storing definitions that can be re-used in a project, by copying one or more definitions from the library to a project. Changing a tool definition in the library does not change that tool definition for all projects that have previously copied that tool definition to themselves - it is just a list of definitions that a project can copy from to its own tool definitions so that users do not have to re-define the same tools for projects.

Two different systems running PixelCNC could have different tool libraries, which is why exported G-code uses the tool slot number in a project rather than the tool definition index from the library. You can organize your tool library to reflect the tools you have setup in your tool changer, for up to ten tools, and then use the Load Library To List button in the Project Tools mode to automatically copy the first ten tool definitions from the library to a project. It is important to remember that this is only copying whatever definitions currently exist to the project, and is not storing references to the tool library's definitions in the project. Otherwise opening the project on a different system with a different tool library would not end up with the same tool definitions for the project.

Hope that helps. Cheers! :]

 - Charlie

Hi SpicyFlanx,

Thanks for posting your question! I believe that the Paths Carving operation might be best, and it should allow you to go as deep as you want, you'll just need to create a new copy of your topographical map and lower it by the depth you want the holes to be at and put that in its own Layer Group. Then you use that layer group for your Paths Carving operation. Your paths for milling the holes should accommodate for the cutter's radius as well (i.e. a circle that's 1mm in diameter cut with a 2mm cutter results in a 3mm hole).

We've been looking at things for a proper Hole MIlling operation to do, and following the canvas would be a great option to have. It would be a great option to have for the Hole Drilling operation as well!

Let me know if you have any further questions or need help figuring anything out :]

 - Charlie

Hi Pluto,

There are no built-in single-line fonts in PixelCNC (aka "Hershey" fonts). However, you can use fonts you have installed in combination with the Medial-Axis Carving operation to get virtually the same effect. For instance here is the font "Aristotelica Small Caps Regular":




Here is the resulting simulated v-carving, using a V-bit cutter and the Medial-Axis Carving operation:


Does that accomplish what you're hoping to do?

Alternatively, I believe Inkscape has Hershey text which you can then export as an SVG/DXF and create a paths-layer from in PixelCNC, which can then be used as input to the Paths Carving operation, which will directly traverse the paths from the Hershey text vector.

Hope that helps. Have a good day! :]


 - Charlie

Hi Pluto,

Yes, but please contact us via support to get the ball rolling on that :]

 - Charlie

Hello! We have moved to deftware.org, which is where Holocraft can be purchased and downloaded.

Hi Joe,

Thanks for your inquiry! A male inlay operation hasn't been finalized yet, there are some issues with parameters we're still trying to figure out, being that the operation effectively combines the profile milling and medial-axis carving operations together into one, resulting in more parameters than any other operation requires. This is looking like it's going to require changes to the project file format (while still allowing older project files to be loaded and converted) along with the operation parameter UI undergoing some changes to accommodate everything - while still being compatible with existing tutorials and videos. We're trying to figure out how to do all of this in a way that doesn't change things too much but other things have our focus and attention at the moment.

The way you're doing it is the way to do it for the moment. We'll be sure to send out an email when new operations are added, so you shouldn't miss a thing.

Cheers! :]

 - Charlie

Hi Russ,

That's awesome! I was wondering when I'd get to see what you managed to do with the things we talked about for the 45 degree corners on there. I like the epoxy, that's an interesting way to do designs and things into there.

We have it on our radar to add support for projects to allow for more operations. We're looking at different options as to how to go about that, as far as the file format's data structures and whether we need to do something about the user interface, particularly for the operations and simulation interface modes.

Thanks for sharing, and have a good week! :]

 - Charlie

Hi hegartype,

That's one way to do it! The other way is to use the Profile Milling operation instead, with a limited Cut Width and a small Stepover, so that you can instead use a 2D Milling operation to clear out most of the larger interior areas. This is demonstrated with the pirate V-carving project on the downloads page deftware.org/pages/downloads  and is the recommended way to go for V-carvings that have a lot of pocket area to clear.

Let me know if you have any other questions or need help with anything else and have a good day! :]

 - Charlie

Hi Jacques,

We currently do not have any provisions for any other input peripherals besides keyboard and mouse in PixelCNC. We will look into what is involved and see what we can do!

Have a good day! :]

 - Charlie

That's what I'm here for! Let me know how she goes :]

Hi Hegartype,

It looks like what you need to employ is the Rest Machining option on your Parallel Carving operation, in combination with the Distance Sort option to ensure that most of the run time isn't taken up by rapiding between unsorted cuts.

If you're already doing this then all you need to do is use different layer groups for your roughing operation and your finishing operation, where the roughing operation clears out a larger area (represented with one layer group) than the finishing operation is toolpathing off of.

Take a look at this project as an example: https://cdn.shopify.com/s/files/1/0308/9658/6890/files/Sea_Ornaments.pnc?v=17497...

Layer Group 1 is used to rough out the shape of the ornaments from the workpiece, with a wider area around them to accommodate the cutter. Layer Group 2 uses a smaller margin around the ornaments for a finishing operation, in combination with the Rest Machining and Distance Sort operations to minimize total cut time by restricting cuts exclusively to the shape of the ornaments themselves. Layer Group 0 is then used by two Profile Milling operations, one to mill out the loop holes for the ornaments and another to cut them out of the workpiece.

The goal is to have a roughing operation clear out an area slightly larger than what the finishing operation will be toolpathing off of, to get the Rest Machining functionality to recognize that cuts do not need to extend into the area that has already been roughed out. This can sometimes require a bit of finesse as far as the Z extent goes. That is to say that it can be beneficial to allow the roughing operation to travel down farther around the desired relief shape than the finishing pass will, so that the cutpaths are properly confined to the Z range of the relief, but every project is different.

Hope that helps. Let me know how it goes! :]

 - Charlie

Hi tumbling_leaves,

This is a situation that can occur for different reasons. If you're using a tapered ballnose for finishing, it won't be able to reach everywhere that a flat endmill or ballnose endmill can reach, due to the taper angle. That could be the situation you're experiencing here, and you should be able to tell by looking at the operations simulated in PixelCNC. The remedy is to include a draft angle, typically that's at least a few degrees larger than the taper of your cutter.

There can also be machine-specific issues that arise, such as the machine flexing while cutting, throwing off where the cutter is from where it's supposed to be, or losing steps while cutting (which is a problem that stepper motor machines have) where the motors can't go where they are trying to because material isn't being removed quickly enough but the controller itself just assumes the steppers are always where it tells them to go - causing your machine's origin to shift. If the simulation looks good then I would wager that you're losing steps by working the machine too hard - or feeding too fast for your spindle RPM and the cutter you're using. The way you can find out if you're losing steps is by moving the machine to a known position after a cut to see if it thinks it is where it should be.

If you're losing steps you can try dialing back your feed rate, or increasing your RPM, or use a 2.5D milling operation for hogging material out first instead of a 3D contouring operation.

Hope that helps. Let me know how she goes and have a good week! :]

 - Charlie

Hi Hegartype,

Ah, I think I understand what's happening. OK so with the Z-Fill raised up, there's not enough room around the model. What you can do is set the canvas' Z-Fill to the top of the canvas (instead of the layer's Z-Fill) and then create a new blank raster-layer, size it to be the "buffer" around the model, and set its blend mode to "Minimum". This raster-layer will need to be below the model-layer in the Canvas Layers list, so that it pushes down the canvas' Z-Fill to make a clearing for the model-layer to sit in.

Let me know if that makes sense, or if you need more explanation and detail :]

 - Charlie

Hi Hegartype,

It sounds like the issue is that the canvas is too small to accommodate the cutter around the STL model. You might be able to get away with just disabling the "Confine Cuts" option on your operation parameters, which will effectively open up the canvas by half of the cutter's diameter so that it can cut outside of the canvas. This will only allow the center of the cutter to reach the extents of the canvas volume in X and Y, so if that still doesn't allow for enough room then you will still need to open up the canvas' dimensions a bit further.

Let me know how it goes!

 - Charlie

Hi  hegartype,

Estimating operation runtime is pretty tricky, as you can tell by both PixelCNC and Gsender estimations being way off from the real world runtime. The best we can suggest is to go into your CNC/CAM Settings under the Config menu and adjust the Rapid Speed and Rapid Accel settings to closer match your CNC setup. The rapids between feed commands tend to be what throws off runtime estimation the most because there are many variables at play that affect how fast the machine is actually able to move during each individual rapid, but if you can tune those two settings to more accurately match your machine the time estimation should be more accurate. Generally, the more rapids there are the farther off runtime estimation can be - particularly if those two settings are not tuned to match the machine that G-code will be running on.

Hope that helps! :]

 - Charlie

Hi vzwjimdroid,

The situation is that operations which expect some kind of contour input require that there are closed shapes, with an inside and an outside. A grid comprising several crossing lines won't result in closed shapes that PixelCNC can use. The most immediate way to arrive at a grid of squares with where you're already at is to use the Stroke Paths function to generate a raster-layer from your existing paths-layer grid. Then use the resulting raster-layer as contour input for your Medial-Axis Carving operation with a Contour Z that yields what you're looking for on there.

Otherwise, you can draw a square paths-layer, and duplicate/merge, moving each duplicate to become neighboring squares. Just make sure you include a small margin between neighboring squares, at least as large as your canvas resolution will allow for. i.e. if your canvas resolution is 512ppi then you'll want neighboring squares to be 2.0/512 inches apart, so the contour that results from them doesn't merge into one big one.

Hope that helps! Let me know if you have any other questions or need help with anything else :]

 - Charlie

Hi Russ,

Looks good! Those fine features would definitely be tricky, especially without a harder wood.

Thanks for sharing and keep it up! :]

 - Charlie

Hi Jacques,

Please see my reply to your email :]

Hi CncCumberland,

If you can send over a few samples of G-code that runs properly on your machine (support@deftware.org) we can probably get a post cooked up for you so that you can directly export your generated PixelCNC toolpaths to G-code.

 - Charlie

Hi CncCumberland,

Yes, the SVG file format does not support Z coordinates for paths, but when we include the generation of DXF files for exporting paths-layers and toolpaths we should be able to include the Z coordinate in there, at least for toolpaths.

You have my curiosity piqued. What are you hoping to do with an exported 3D toolpath? I'm wondering if we can't get it done by exporting G-code too. :]

 - Charlie

Hi Pluto,

Ouch! It tried to move so fast that the machine's own inertia kept it from being able to retract - but you can hear it try with that buzz just before rapiding to the next cut. Glad you were able to solve the puzzle :]

 - Charlie

Hi Pluto,

The project file looks fine, the G-code looks fine. It must be something with your CNC controller. After it reaches the XY coordinate at the end of the cut it should then be rapiding up to Z10, which would be 10mm above the workpiece - assuming that Z0 is the top-surface of the workpiece. If you can manually issue commands to your machine, zero the origin somewhere up in the air and then run a G0Z10, and it should move up 10mm. If it doesn't move 10mm upward from the established machine origin, or moves downward, then the controller probably isn't zeroed out where it's supposed to be for the Z axis.

There does appear to be a toolpath artifact that's resulting in many small individual cuts in two spots in your project:



 This is caused by a lack of canvas resolution. Increase your Canvas Resolution to 200ppi to get the proper cuts that I imagine you're going for:



Those cutpaths might've been what caused your cutters to break? Let me know what you find.

- Charlie

Hi Pluto,

The simulation mode only depicts the actual cutpaths being traversed, and not any retractions to the Rapid Height or the rapids themselves. Only ramping and helical entry cuts are also depicted, but plunge entry cuts are not included. It sounds like a potential CNC controller situation, perhaps a work offset that's being triggered. What post-processor are you using?

Have you looked at the G-code output itself to see what's happening at the end of one operation and the beginning of another? I'd like to take a look at it if you could send it over to support@deftware.org :]

 - Charlie

Hi Nico,

You can use a flat endmill - with or without a corner radius, or even a ballnose endmill - to perform a roughing pass first using one of the 2.5D milling operations to hog out most of the material first. Then come in with your desired finishing tool with the Parallel Carving operation and its Cut Depth to match its Max Depth so that the toolpath cuts the entirety of the piece in one layer of cuts. This is generally the fastest way to go about a relief carving because you are taking advantage of a larger cutter to remove more material faster. Just be sure to include a non-zero Leave Stock on your roughing operation so that there's some material left for the finishing operation.

You can also use the Parallel Carving operation itself with a larger cutter as a roughing operation, before you come in with your finishing cutter and another parallel toolpath that goes over the whole project in one pass. There is an example project on our Downloads page: https://deftware.org/pages/downloads

Both the Skull Fractal Pattern and Tree of Life projects employ roughing operations before bringing the piece to its final shape with a finishing operation. :]

 - Charlie

Hi Nico,

If you are using the Parallel Carving operation with a low Cut Depth relative to your Max Depth then it will be generating multiple layers of cuts that have a lot of "air cutting" as the tool must rapid between cuts. This can be remedied by using the Distance Sort option on the operation's parameters to optimize the order in which the tool traverses cutpaths.  Using the Mixed cutting direction and enabling Link Cuts will also greatly reduce the amount of time spent rapiding between cuts when Distance Sort is enabled.

 - Charlie

Hi Joe,

For just about everything the geometry of the tool is considered when generating contours and cutpaths for things, including when generating a V-carving toolpath with the Medial-Axis Carving operation. For some of the 2D milling operations it is just treated like any other cutter.

What will probably throw a wrench in things is figuring out how to create the male side of an inlay that will fit properly with a female side that's been cut using a tapered ballnose unless you can somehow truncate the male plug to not bottom-out in the female side, without the plug just being a thin/shallow part that leaves a huge amount of space underneath.

Unless the tapered ballnose cutter's tip radius is narrow enough that it stays at one depth for the entire V-carve operation, you'll end up with the V-carve producing cuts with a radius matching the cutter's, like this:



This is made with an exaggerated tapered ballnose to illustrate what I'm referring to. You will want to not have any sharp corners in your design that cause the cutter to cut shallower, resulting in spots that will be difficult to produce matching male geometry for. You'd basically just want the tapered cutter to only perform a profiling cut at a fixed cut depth, rather than a proper V-carve cut where the cutter depth varies with the width of the shape being cut.

Otherwise you'll have to figure out how to make a matching plug like this:



Again, this is an exaggeration that's using a tool with a wide taper angle and a large nose radius, but the issue will still remain with a conventional tapered ballnose if used with the medial-axis carving operation. For any kind of relief carving, or 2.5D milling, a ballnose cutter's geometry is accommodated for though.

Hope that answers your question! :]

 - Charlie

Hi Joe,

That's awesome! I would've never thought to cut up a piece of laminate. I'll have to keep that one in mind :]

 - Charlie

I'm aiming for before X-mas, New Year's at the very latest.

I tried to keep the old ways from the world, I let you down! D:

 :]

 - Charlie

Hi Russ,

The main reason I was putting off releasing a proper guide/tutorial for inlays was largely because it will become obsolete once we get the dedicated male-plug inlay operation all dialed in and released, which will replace having separate profiling/V-carving operations. You'll still be able to do things "the old way" but using the new operation will be a bit simpler :]

 - Charlie

That's really interesting. There must be somewhere else in PixelCNC's code that is causing it to skip outputting the block if the coolant is set to None, even though the part that actually outputs the coolant block treats None/Off the same :P  It will be fixed for the next public release! :]

 - Charlie

There you go.

Ah, yes, the coolant selection Off/None selection. Internally it will behave the same whether None or Off are selected for an operation. When exporting G-code it really should behave identically whether it's left at None or Off is selected. Good catch! :]

- Charlie

Hi Joe,

The estimated run times are affected by the acceleration setting under CNC/CAM Settings which you will want to set to your machine's actual acceleration speed to make the run times more accurate :]

Unfortunately there's really no way to 100% accurately determine what the runtime will be for all possible machines in the world simultaneously, one can only hope to get close enough to be useful. It's at least nice to know if something is going to take 30 minutes vs 30 hours!

 - Charlie

Hi Joe,

The first option that comes to my mind would be to make multiple separate 2D milling operations that cut at the different depths, and then using a custom modified G-code post specifically for the project file that includes a pause command block between operations. You would need to include the pause command in either the tool change block, one of the the spindle command blocks, or one of the coolant command blocks. It would basically be a bit of a hack where you're just including the pause command inside one of the command blocks that are issued on a per-operation basis. Then with separate operations each cutting a different level, and exporting the G-code using such a custom post as described - with operations combined, you would have the desired result where each cut level would include a stop to let you push a button and tell it to continue.

The second option would be creating each cut depth as a separate option and exporting them as separate G-code files, which would require opening each one to run it for each cut level.

That's the best I can come up with at the moment - but it does give me an idea to include some new functionality in the G-code post-processor format that allows for different commands to occur at different times, such as per-operation, per-toolchange, or every N operations, etc.. I'll have to think about that though and see what I come up with :]

 - Charlie

Hi Joe,

Are you talking about just surfacing a regular rectangular area flat? In that case you can just create a project and a Parallel Carving operation with the cutting direction set to Mixed (or if you specifically want Conventional/Climb you can do that too) and just let it generate a toolpath that fills the entire canvas. Then it's just a matter of designating the dimensions of the canvas. You also can set the Canvas Resolution pretty low too as there's no height information that it needs to worry about contouring.

 - Charlie

That's pretty good for pine. Those thin areas at the inside-corners definitely aren't gonna hold up though unless maybe it's embalmed with epoxy resin maybe - stick the wood in a vacuum chamber full of epoxy and pull a vacuum to the epoxy into the wood. Maybe that could reinforce it, or just use a hardwood instead :P

It might be doable with a soft wood with a wide angle bit but then you'll probably get a lot of stringy cuts on there to have to clean up manually.

Thanks for sharing :]

 - Charlie

Hi Joe,

The Offset for the V-carving operation could include a negative offset of a thousandth or few if you thick narrowing the plug a tiny bit will make a better fit. The steep cutter angles are just going to be less forgiving with any kind of tolerance/precision, and as I mentioned previously they will make it difficult to have small details and features depending on the wood and how well it can hold up to having thin narrow features. I don't think I'd ever attempt such a steep inlay! A 60 degree V-bit is probably the narrowest that I'd be comfortable going, for a 30deg taper on the plug, largely because of how flimsy and unreliable my machine is. With an inlay I need all the help I can get to make sure everything will fit together :P

 - Charlie