Skip to main content

Managing complexity

Every configured item in a cart is priced again at checkout, by Shopify, inside a fixed budget of work. That budget is generous, but it is not unlimited - and how much of it your project uses depends far more on how you write your pricing rules than on how many parts you have.

This page tells you which choices are cheap, which are expensive, and what happens when you go too far.

The short version

  • Parts are cheap. A hundred simple parts is not a problem.
  • Nesting is cheap - far cheaper than one more formula.
  • Quantity formulas are the expensive thing - and specifically, how many different ones you write.
  • Nothing breaks quietly. If a project is too complex, 3D Bits refuses to publish it and tells you what is binding.

The one rule worth remembering

Reuse the same formula text across parts. Do not write a slightly different one for each.

This is the single biggest lever you have, and it is not obvious.

Checkout remembers each distinct formula it has already worked out. Write the same ceil(width / 4000) on thirty parts and it is worked out once. Write thirty formulas that differ only slightly - ceil(width / 4000), ceil(width / 4001), and so on - and every one is worked out separately.

The two projects are the same size. One publishes comfortably. The other is refused outright.

If several parts need genuinely different quantities, prefer one shared formula driven by a different input over many bespoke formulas.

What a project can carry

Rough guidance, with everything else left simple:

Your projectConfigured items per cart
Up to 100 parts, fixed quantities, no formulas4 (the maximum)
30 parts, six levels deep, all sharing one formula1
30 parts, six levels deep, each with its own formularefused - will not publish
20 parts nested twenty levels deep, one shared formula1
20 parts plus 20 priced options3
20 parts plus 100 priced options2

"Configured items per cart" is how many of your configured products a shopper can have in one cart at the same time. Ordinary products do not count toward this limit.

Two things to read from that table:

  1. Fixed quantities cost almost nothing. If a part's quantity never changes, type the number instead of writing a formula for it.
  2. Depth is not what costs. Twenty levels is barely more than six.

Fixed ceilings

These do not move, whatever else you do:

  • 4 configured items in one cart
  • 20 levels of part nesting
  • 1,000,000 units of any single part

Priced options

Each option that adds money is remembered in the rules, and in Product lines charging each one that is switched on becomes its own cart line. Many priced options therefore cost you in two ways at once. If you have a great many, consider:

  • Combining them into one line. There is a setting for charging all options through a single combined line instead of one line each.
  • Single line charging, which prices everything into the product itself.

See Charging methods for the trade-offs.

When publishing is refused

3D Bits works out the cost before it saves anything, so an over-complex project is caught at publish rather than by a shopper at checkout. The message names what is binding:

  • Too large - the rules themselves do not fit. Reduce the number of parts or priced options.
  • Too expensive to work out - almost always distinct quantity formulas. Share one formula across parts, or replace formulas with fixed numbers where the quantity never varies.
  • Too many cart lines - a single configuration would add more lines than checkout can verify. Combine option lines, or switch charging method.

A project that publishes with a lower cart limit has not failed. It simply means shoppers can buy fewer of that configured product at once, and 3D Bits tells the shopper clearly if they try to exceed it.

If you need more headroom

In rough order of how much they buy you:

  1. Share one quantity formula across as many parts as possible.
  2. Replace formulas with fixed numbers wherever a quantity never varies.
  3. Simplify the formulas themselves - a short expression is cheaper than a long one.
  4. Reduce priced options, or combine their cart lines.
  5. Split the product into two simpler configurators if it is really two products.

Nesting deeper, or adding more parts with fixed quantities, is nearly free - so restructure toward those rather than away from them.