Lathe

Boxshot suports lathe objects created by rotating a 2D curve around the vertical axis. You can create the curve using the built-in editor or load it from SVG file.

A lathe object has a lot of parameters that control its appearance:

  • Rotation steps - defines the number of steps used to rotate the curve. The larger this number, the smoother is the shape.
  • Curve smoothness - defines how smooth is the curve itself. Boxshot converts 2D curve to a polygon before the rotation, this parameter controls the level of details of this polygon.
  • Edit curve - this button runs the built-in lathe curve editor.

Then comes the settings section with lots of parameters:

  • Top cap - tells Boxshot to put a cap on top of the shape, if the top end of curve doesn’t come to the center of rotation.
  • Bottom cap - the same as above, but for the bottom end of the curve.
  • Align curve to center - move the curve as close to the center of rotation, as possible.
  • Generate back faces - switches between single- and double-sided lathe shape.
  • Flip normals - inverts the shape, a must-have option for some types of curves.
  • Flip texture mapping - flips all the texture mapping of the shape upside-down.
  • Hard vertical edges - controls the smoothing of vertical edges.
  • Hard horizontal edges - controls the smoothing of horizontal edges.

The last section is “Rotation” and it controls the rotation angle range. This allows you to create non-360° rotations, sectors etc.

  • Start angle - defines the start angle of rotation.
  • End angle - defines the end angle of rotation.
  • Add side caps - tells Boxshot to add polygons to cover the hole, if rotation is not 360°

Materials

You define materials in the curve editor window. Click a segment there, then type the material name at the top. You will then see these materials in the materials pane at the right.

Double-sided segments have two materials: the one you assigned and another one with the “back” suffix.

Materials with the same name are treated as the same material and therefore shown only once in the list.

SVG Files Support

You can load and save curves to SVG format using the “Presets” menu of the curve editor.

Scripting

You can almost everything mentioned above using scripts. Curve loading is not supported, please let us know if you need this feature.

var m = scene.root.addMesh("lathe", "generator.lathe");
var g = m.generator;

g.segments = 64;
g.smoothness = 0.8;

g.topCap = true;
g.bottomCap = false;
g.automaticAlignment = false;
g.generateBackfaces = false;
g.flipNormals = true;
g.flipTextureMapping = true;
g.hardVerticalEdges = false;
g.hardHorizontalEdges = true;

g.startAngle = 10;
g.endAngle = 90;
g.caps = true;