Skip to main content
Glama

FabTally 3D-Print Slicer, Quote & DFM

What-if: infill density sweep

whatif_infill

FREE. A quick table of print time / filament / cost across several infill %s, so you can trade strength for material/time. Paste a link: Thingiverse/Printables/MakerWorld model pages, a GitHub blob, Google Drive or Dropbox share link, a direct .stl/.3mf/.obj/.ply/.step URL, or a .zip (first printable model inside is used). Local file? Upload once at https://fabtally.com/upload and paste that URL. Fair-use limited (one slice per infill value).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
marginNoBYO pricing: fractional margin, 0.3 = 30%.
infillsNoComma-separated infill %s (max 6), default '10,15,25,50'.
printerNoPrinter id from list_printers (elegoo-neptune4-max, bambu-a1, bambu-a1-mini, bambu-p1s, bambu-x1c, prusa-mk4, prusa-mini, ender3-v3, creality-k1, creality-k1-max, voron-24-350, anycubic-kobra2). Default elegoo-neptune4-max.
qualityNoQuality preset: draft 0.28mm | standard 0.20mm | fine 0.12mm layer height.
currencyNoBYO pricing: currency code (USD, EUR, ...). Default USD.
filenameNoFile name incl. extension, e.g. 'bracket.stl'. Required with model_base64.
materialNoFilament/material id (pla, pla-cf, petg, petg-cf, abs, abs-cf, asa, asa-cf, nylon, pc, pet, tpu). Default pla.
quantityNoNumber of parts (1-10000). Volume discounts apply. Default 1.
model_urlNoPREFERRED. Public URL to the 3D model. Paste a link: Thingiverse/Printables/MakerWorld model pages, a GitHub blob, Google Drive or Dropbox share link, a direct .stl/.3mf/.obj/.ply/.step URL, or a .zip (first printable model inside is used). Local file? Upload once at https://fabtally.com/upload and paste that URL. The server fetches and (if a zip) unpacks it.
setup_feeNoBYO pricing: flat per-job setup fee.
model_base64NoBase64 model bytes — small-file fallback only (roughly <50KB). MCP clients (Claude/ChatGPT Desktop) truncate large inline tool arguments, so a real STL can silently arrive corrupted. For anything bigger use model_url (upload at https://fabtally.com/upload first). Provide `filename` too.
minimum_priceNoBYO pricing: per-unit price floor.
markup_percentNoBYO pricing: extra % markup on top of margin.
material_cost_per_kgNoBYO pricing: override material $/kg.
machine_rate_per_hourNoBYO pricing: machine time cost/hour.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the disclosure burden. It mentions 'FREE' and 'Fair-use limited (one slice per infill value)' which are useful behavioral traits. However, it does not elaborate on fetching behavior, error cases, or performance, leaving some unknown aspects. The schema's model_url description covers server fetching, but the description itself adds limited transparency beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the core purpose and immediately followed by model input instructions and limitations. Every sentence earns its place—no redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately compensates for the lack of an output schema by explicitly stating the output is a table of print time, filament, and cost across infill percentages. It also covers model sourcing options and fair-use limits. It does not detail the exact table formatting, but given the simplicity, the information is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since the input schema has 100% description coverage for all 15 parameters, the baseline is 3. The tool description does not add any parameter-level meaning beyond what the schema already provides, so it neither helps nor hurts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool produces a comparison table of print time, filament, and cost across multiple infill percentages, explicitly framing it as a sweep for trading strength against material/time. This distinguishes it from sibling tools like slice_model, which likely performs a single slice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool ('so you can trade strength for material/time') and explains how to provide input models (paste link or upload). It does not explicitly name alternative tools or state when not to use it, but the context is sufficient for a competent agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation2/5

Four tools—analyze_model, analyze_3d_model, check_printability, and validate_model—perform overlapping geometry analysis with printability verdicts, making it hard to tell which to call. The detailed descriptions help, but the boundaries are subtle (general vs printing-specific, full vs fast), and an agent could easily pick the wrong one.

Naming Consistency4/5

Most names follow a clear verb_noun snake_case pattern (e.g., list_printers, slice_model, get_print_quote). Minor deviations like analyze_3d_model, cost_breakdown, scale_advisor, and whatif_infill are still readable and do not break the overall consistency.

Tool Count4/5

With 14 tools, the count is well within the 3–15 range for a specialist service and each tool addresses a distinct stage of the quoting/DFM workflow. The count feels slightly inflated by the near-duplicate analysis cluster, but it is not excessive for the domain.

Completeness4/5

The tool surface covers the full lifecycle: model analysis, printability checks, slicing, quoting, cost breakdown, printer comparison, orientation optimization, material/settings recommendations, and scaling. Minor gaps exist (e.g., no batch processing or material-specific parameter tuning), but agents can compose the existing tools to achieve most workflows.