Wavypanel Generator

A Clojure program that takes some randomization settings and creates bpp files with randomly generated wavy lines in a milling.


Pressing the generate button generates a wavy milling in memory on success it will show a dialog. In order to save the generated file the user must press the save button and choose a file name. The load button allows a user to import the settings from a previously generated bpp file.

Relationship between Nominal Distance Between Lines, Max Y Up/Down Movement and Min/Max X Segment Length

How wavy the output appears is a relation between the Y Up/Down and the X Min/Max. Shorter X segments with larger Y values will produce very wavy lines. Increasing the X size will start to flatten out the lines. Alternatively decreasing the Y values will also flatten out the line.

Setting Descriptions

Random Seed

The seed that is used by the random number generator. The same set of random numbers will always be generated by the same seed. This allows the user to generate the exact same panel by using the same setting at a future date.


These are the panel size dimensions specified in millimeters. The generated wavy lines will try to constrain themselves to these dimensions.

Geometry Id

This is the name of the generated Milling Geometry that will show up in the sidebar of biesseworks.

Nominal Distance Between Lines

The distance between generated lines in millimeters. The actual distance can vary by the Max Y Up/Down Movement.

Max Y Up/Down Movement

This is the distance in millimeters on the Y-Axis that the line will be allowed to move in the Up/Down (+/-) direction.

Z-Min Depth, Z-Max Depth

The distance in millimeters that the bit is allowed to mill on the Z-Axis. The Z-Min depth represents the top of the panel, for example a value of 1 will make sure that 1 mm is always milled from the top of the panel, 0 means it is possible for the bit not to contact the panel at all. The Z-Max is the maximum depth that is allowed to be milled, larger values will create deeper grooves.

Min X Segment Length, Man X Segment Length

The minimum and maximum lengths in millimeters of the discreet x sections generated. Smaller values will produce shorter random segments.


Copyright © 2015 Jeffrey Stoffers

Distributed under the Eclipse Public License, the same as Clojure.