Pharma Bottle Shape

This shape has a lot of parameters, allowing you to create very different bottles. The main are:

  • Diameter - the main diameter of the bottle.
  • Height - the total height of the bottle.
  • Label height - the height of the label.
  • Top height - this parameter controls how high is the cap, or the distance between the main part of the bottle and the cap.
  • Show label - defines whether the label should be visible or not.
  • Replace glass with label - when turned on, the label replaced glass below it. This is useful to prevent a shadow border on opaque bottles.
  • Show liquid - controls the visibility of the liquid inside the bottle.
  • Liquid level - controls the height of the liquid inside the bottle.

Boxshot tries to fit the label onto the bottle, so if the total height is not enough, Boxshot will increase it automatically. The same works for other shape’s parameters, so don’t be surprised.

You can do the initial setup automatically by clicking the “Fit to images” button. It adjust both heights and the diameter according to the label image you load.

The second group of options controls the cap of the bottle:

  • Type - defines the cap shape for the bottle. Boxshot fits the cap according to the neck settings, so you may need to make some adjustements in order to make it look well.
  • Cap height - defines the height of the cap shape.
  • Neck diameter - as Boxshot fits caps to neck, this parameter also controls the cap diameter.

The last group of settings controls the shape of the bottle itself.

  • Neck curve - controls the bottle curve near the cap.
  • Top curve - controls the bottle curve above the label.
  • Bottom curve - controls the bottle curve below the label.

All the sliders are relative and measured in percents. Basically, the more curved surface you need, the higher value you choose.

Scripting

Here’s how to create and setup a pharma bottle shape:

var m = scene.root.addMesh("bottle", "generator.pharma.Bottle");
var g = m.generator;
g.diameter = 10;
g.height = 20;
g.labelHeight = 5;
g.topHeight = 2;
g.showLabel = true;
g.replaceGlassWithLabel = true;
g.showLiquid = true;
g.liquidLevel = 3;

g.capType = "plastic-1";
g.capHeight = 0.7;
g.neckDiameter = 4;

g.neckCurve = 0.2;
g.topCurve = 0.5;
g.bottomCurve = 0.9;

g.fitToImages();