Skip to content

Releases: jeffeb3/sandify

Sandify v1.1.1 - Image Import

30 Sep 16:15
Compare
Choose a tag to compare

New Features

Image Import

You can now import images and Sandify! Check it out:

Screenshot from 2024-09-30 09-15-11

The image import is in the file menu.

Screenshot from 2024-09-30 10-01-24

Try out the different "Type" options and adjust the brightness and contrast to get something that works for you. If you like it, please share it with us.

Noto Emoji Font

Ben Hamilton added a great new feature to do line drawings of emojis.

Screenshot from 2024-09-30 09-55-12

To use this feature, make a new Fancy Text layer and select the noto emoji font. Then just paste in some emojis and you can figure out the rest.

Thanks Ben! 🎉 🎆 👏

Forum Discussion

The forum post, where you can comment or ask questions is here:

https://forum.v1e.com/t/image-import-and-emojis-in-sandify-update-v1-1-1/45457

But, as always, feel free to post issues with bugs you find or features you think would be great.

Sandify v1.0.0

13 Oct 21:10
1f8955a
Compare
Choose a tag to compare

New Release

Bobnik has been cranking out this v1.0.0 release with a huge update. Quick notes:

  • Save/Load .sdf files are now a thing
  • Effects are more modular and can affect any layer
  • Updates to the style, and preview for a fresh feel
  • Big updates on the back end. Hopefully you will only notice it being smoother
  • Lots of ground work for future updates.

Bob has been working on this almost every day for a long time. We have had good design discussions, but it was Bob driving this huge update. Thank you, Bobnik!

This is a big update, and even little updates introduce bugs 🐛. Please report anything that isn't right, and be patient as we work through the updates.

Video Overview

Check out this complex pattern built using sandify v1.0.0:

screenshot-2023-10-13-1697231240

Forum Discussion

The forum post, where you can comment or ask questions is here:

https://forum.v1engineering.com/t/sandify-update-v0-2-6/29098

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

File Menu

Save as .sdf 🎉

The .sdf format is just a text file with the json representation of the state.

This may not always be backwards compatible. We have a lot to learn about doing these kind of file formats, but at least with one version, you can save and reload your work. I warned you.

New

Since the session is saved, we needed to add a button to get a fresh start.

Load vs Import

Loading a .sdf file will replace the state with what you saved. Import will take in a .gcode or .thr and use those vertices as a layer in a pattern.

Pro Tip

If you make a simple shape in CAM and import it as .gcode, you can now add a loop effect and take any shape as the kernel for sandify loops.

Effects, Layers, Groups, oh My!

The core way we store patterns is different. The looping, scaling, and spinning of basic shapes is now an effect. Fine tuning, Track, Move and Scale, and some other features that were part of the shapes are now all effects. So plan on using effects often when making new patterns.

Things like Mask, Noise, Warp are still there as effects.

Many More

There are a ton of other features, including preview zoom, multiple machine configurations, new style and a slick looking about page.

Sandify v0.2.8

06 Nov 17:40
1b68245
Compare
Choose a tag to compare

New Release

This is a bug fix release. Bobnik fixed our gcode import bugs and stomped out a few warnings and long lived issues:

Forum Discussion

The forum post, where you can comment or ask questions is here:

Forum Discussion

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

  • Fixed gcode import 🎉
  • Changed G01 to G1 in the gcode export
  • Some small warnings/issues for developers

Sandify v0.2.7 (again)

19 Oct 15:28
d289f52
Compare
Choose a tag to compare

A very minor release to remove the banner (since we passed the deadline).

See https://github.com/jeffeb3/sandify/releases/tag/v0.2.6.7 For a release log.

Sandify v0.2.7

03 Oct 23:02
a8cff67
Compare
Choose a tag to compare

New Release

Let's get right into it. Bob added the fanciest new feature, fancy text:

Forum Discussion

The forum post, where you can comment or ask questions is here:

Forum Discussion

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

New Shape 🎉

Fancy Text 🧐

Fancy Text

Choose the "Fancy Text" from the drop down to try it out.

Guts ⚙️

  • Fixed a bug with the preview slider that was super annoying.
  • Updated test framework.
  • Updated dependencies (thanks dependabot)

Sisyphus Contest

We are excited for the Sisyphus Design Competition/Contest. It is a neat way to give people an excuse to make and share. We added a subtle banner to the contest on our header. We will remove it after the contest. So expect a tiny release after that happens.

Sandify v0.2.6

05 Sep 13:15
5a6011b
Compare
Choose a tag to compare

New Release

It has been a while since we released, so we have quite a few features to share. Bobnik has been making PRs and I have been merging them, and adding a few of my own.

This release has some new effects, circles, SCARA GCode output and performance improvements.

Forum Discussion

The forum post, where you can comment or ask questions is here:

https://forum.v1engineering.com/t/sandify-update-v0-2-6/29098

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

New Effects 🎉

This is an expansion of the mask effect which can distort and manipulate a base shape with some neat patterns. Some simple effects can really make a pattern wilder, or more sculpted, or... IDK, use your creativity and try it out!

To use an effect or a mask, start my making a layer to effect and clicking on "New". In the modal, select one of the effects.

Noise Effect

screenshot-2021-09-01-1630524788

This effect adds the Perlin Noise (similar to the Noise Shape) on top of another shape. In this first example, we apply it to a wiper, but it can be any shape underneath the effects.

Fish Eye

screenshot-2021-09-01-1630524531

The fish eye effect looks like a bubble underneath the surface of your patterns.

Warp

screenshot-2021-09-01-1630524630

There is a custom warp function where you can define your own math for what distortion you want, and we have made a few good previews to make some really funky patterns.

Inverted Mask

inverted_mask

This is a new function on the mask effect. It can cut parts out of your pattern. I am excited to see what you all make with it. Please share!

New Shape 🎉

Circle Packer

circles

The Circle packer is a new wiper that fills the space with circles and then automatically figures out which order to draw them in and how to retrotraverse to get to them all. Very smart stuff, Bob.

SCARA

There are a few passionate users who are using sandify with SCARA machines that don't understand they are SCARA machines. 🤷 . For these users, I was keeping a python script for converting the .thr files. But instead, We've added a SCARA output. This is for a very specific type of machine, and there are some details in the wiki: https://github.com/jeffeb3/sandify/wiki/Scara-GCode

Use arrow keys

Use arrow keys on the preview to adjust the offsets of the shape.

Guts

We spent some time working on the events and what gets calculated when. Complicated patterns, with multiple layers should be easier to create. Hopefully, you won't notice anything, but just be happier. Bob: 💯

Sandify v0.2.5

11 Jan 03:31
0e1ca70
Compare
Choose a tag to compare

Forum Discussion

The forum post, where you can comment or ask questions is here:

https://forum.v1engineering.com/t/sandify-update-v0-2-5/24210

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

Noise Wave

First, there is a new shape for your tables. The Noise Wave makes some great looking patterns using random noise. Check it out.

noise_pattern

Masks

Masks are a really neat feature to use our existing limits features to edit the shape of a single layer. They work by just adding a mask
layer after a shape layer, and then that shape layer can't extend past the limits of the mask. The wiki has a cool gif to show it better:

Masks in the wiki

Fine Tuning

When combining layers together, @bobnik found some great tricks that really helps tie in multiple parts together.

They are a little rough, but we've found them so helpful for not clobbering a pattern you just made that we have to fit them in somewhere.

There are more details in the wiki

Circular Direction

The circle shape can now go in the opposite direction. That's cool.

Sandify v0.2.4

06 Aug 14:29
b3dda0b
Compare
Choose a tag to compare

Forum Discussion

The forum post, where you can comment or ask questions is here:

https://forum.v1engineering.com/t/sandify-update-v0-2-4/19857

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

This release focuses on one huge new feature 🎉

Layers! 👏

layers

@bobnik spawned this great new feature that allows you to intuitively compound other shapes and features into a single pattern, with the preview. Here are some things to notice:

  • You can create new layers with the New button, Import button or the copy button.
  • You can select a layer in the new layer area.
  • You can change the order of the layers by dragging them in the layer area.
  • You can still manipulate the layers with your mouse in the preview area, or with the options on the right.
  • All the previous features, grow, spin, track are all there.
  • A new "Point" feature was added to help connect-the-dots between patterns.

We have instructions (sort of) in the wiki 📓

https://github.com/jeffeb3/sandify/wiki

We have some new variables in the export pre and post scripts. 🔢

https://github.com/jeffeb3/sandify/wiki#export-variables

You can more easily do pen drawings with gcode like this:

Program start code:

G0 Z10 F300                     ; lift the pen
G0 X{startx} Y{starty} F1200    ; Go above the starting location
G0 Z-0.4 F300                   ; Drop the pen to negative 0.4mm
G1 F1200                        ; set the speed to 20mm/s

Program end code:

G0 Z10 F300                 ; lift the pen
G0 X{minx} Y{maxy} F1200    ; Move the pen out of the way

Sandify v0.2.3

16 May 17:37
c46d15f
Compare
Choose a tag to compare

Forum Discussion

The forum post, where you can comment or ask questions is here:

https://forum.v1engineering.com/t/sandify-update-v0-2-3/17524

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

These are the changes you'll see when you visit Sandify.org from now on:

Drag Patterns

Bob (@bobnik) has worked out a great way to perfectly place patterns where you want them. This is the first
step towards multiple pattern composition, and it is very useful with even one pattern. Here's what
you can do:

Drag to Move

If you just use your mouse (or touch screen) in the preview window, you can move the pattern around,
and it will place the pattern just where you want it. It also will update the fields for offsets,
which will give you fine grained control.

sandv023-move

Scroll to Grow

You can change the total size of the pattern by adjusting the starting size, number of loops, or the
grow value. But now you can adjust the entire size by either scrolling in the window, or by
adjusting the corners of the box handles. We've tried this on the platforms we have, but let us know
if it doesn't work on your platform by opening an issue.

sandv023-grow

Handle to Rotate

In the same vein, you can rotate the entire pattern, from start to finish by grabbing the rotate
handle or adjusting the Rotate value on the shape. I have found it very useful to get the angle
just right to fill up my rectangular workspace.

sandv023-spin

Rad Lines

Maksim Surguy (@msurguy) has some very neat tools for creating svg images, which can be used for
axidraw style plotters, which work from inkscape. There is a huge universe out there, which I am
just getting familiar with. The constraints are different (we can't pick up our pen), but there is a
lot of room for collaboration here. Maksim reached out and has helped me figure out the first few
features that I have tried to replicate in our ecosystem.

Round Polygon Corners

Borrowing from the Rad Lines tool, You can round the corners with a new parameter.

round

Math Spin and Grow Functions

Also from the Rad Lines tool, You can use equations for the spin amount and grow amount, to
create any pattern you want (if you can figure out the math).

grow_func

spin_func

SVG Output

The original intent of exporting SVG patterns is to help some users of inkscape and axidraw who
might want to draw sandify patterns on their machines. But after I finished it, it has become my
favorite way to save patterns. You can open the images in any browser and many image editors. But it
also has the parameters used in the comments, so you can recreate the patterns later.

What else can we do with SVG files?

svg

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="475" height="465" title="polygons" version="1.1" viewBox="0 0 475 465" xmlns="http://www.w3.org/2000/svg" class="svg-paper">
  <g>
    <!--  Created by Sandify -->
    <!--  https://sandify.org -->
    <!--  Version: 0.2.3 -->

    <!--  Machine type: Rectangular -->
    <!--    Min X (mm): 5 -->
    <!--    Max X (mm): 480 -->
    <!--    Min Y (mm): 5 -->
    <!--    Max Y (mm): 470 -->
    <!--  Content type: shape -->
    <!--    Selected Shape: Space Filler -->
    <!--    Type: Sierpinski -->
    <!--    Iterations: 5 -->
    <!--    X offset: 0 -->
    <!--    Y offset: 0 -->
    <!--  Path reversed: false -->

    <!-- File name: 'Sierpinski' -->

    <desc>pwidth:475;pheight:465;</desc>
    <path
       stroke="#000000"
       stroke-width="0.4mm"
       fill="none"
       d="..."
  </g>
</svg>

Sandify v0.2.2

02 May 21:17
737ea85
Compare
Choose a tag to compare

It's been just two weeks since we released 0.2.1. But it has been so fun to work on, we've got a lot of stuff in this release.

Forum Discussion

The forum post, where you can comment or ask questions is here:
https://forum.v1engineering.com/t/sandify-update-v0-2-2/17079

But, as always, feel free to post issues with bugs you find or features you think would be great.

Release Notes

These are the changes you'll see when you visit Sandify.org from now on:

L-Systems

Bob has been working on some neat new shapes based on the algorithms of L-Systems. The premise is, you write a few basic text based rules, and then recursively replace the text. At the end, you use the text to generate movements. It creates some very neat fractal patterns, and there are a lot of neat known patterns. The wikipedia article is pretty informative, and there are neat online calculators where you can try to make new ones, but Bob has picked a lot of them that work on our tables. Check them out:

Space Fillers.

These are L-System based, and have been tweaked to fill the entire surface area of your table.

screenshot-2020-05-02-1588452850

Fractal Line Writer.

These are more generic L-Systems. They make some very interesting designs, especially if you are a fan of fractals. It is really interesting to me to see how they change from iteration to iteration.

screenshot-2020-05-02-1588453004

Performance Improvements

These L-Systems can be pretty heavy on the calculations, and we want to keep sandify fun and fast. So we've done some additional work under the hood to reduce the number of times we recalculate the hard patterns. You should see things like the preview progress slider move a lot smoother now. Some of the shapes take a second or so to draw the first time, but are relatively quick after that.

GCode Input

We've had the .thr input for a while. The same button now will let you import .gcode and .nc files. Then you can scale the pattern to fit your machine. I hope people will find interesting patterns in sandify, or export interesting patterns from inkscape, or other CAM software and then share them. Now that we can import them, they can end up on polar tables, or just other cartesian tables.

screenshot-2020-05-02-1588453462

Karltinsly has several great gcode files in his github: https://github.com/karltinsly/SandTableDesigns. Be sure to stop by the forums and give him a thumbs up.

Spiral Wiper

People have asked for this pretty often, and although it was possible to do the same thing with a circle shape, this is much easier. The Wiper tool can now do a circle. Don't forget, you can reverse this shape if you want to end up in the middle at the end of a pattern. If you have your machine limits in mm, then the Wiper Size is the distance between the lines in mm. So 12 (the default) is set to just cover everything once with a 1/2" ball.

screenshot-2020-05-02-1588453673

Perimeter Optimizations

Not as flashy as some of the shapes, but it takes a lot of work to get it right. @mrehorst did it first, in a post processing perl script. But great minds think alike, and Bob also wanted this feature, so now it is part of sandify.

Basically, if the pattern goes more than halfway around the perimeter, or moves one direction, and reverses along the perimeter, the optimization removes that. The perimeter moves are not precious, and for some patterns it can reduce most of the time spent. There is also a toggle to optimize the inside elements, but take a close look at the preview first, it will do the lines in a different order.

screenshot-2020-05-02-1588454047