Open Data Standard for 3D Concrete Printing
Status: Draft — under working-group review; the schema may change before ratification.
open3dcp.org · Schema Reference · SQL Implementation · Examples · Submit a Dataset
An open schema for 3D-printable concrete (3DCP) mix design and test records, developed by Sunnyday Technologies.
Open3DCP defines a standard way to record the material, process, curing, testing, and provenance attributes needed for a practical digital-twin record of a 3DCP experiment. Every column has a name, a unit, and a purpose. No JSON parsing, no nested structures, and no hidden unit conventions.
This repository provides the schema definition only -- column names, types, units, and engineering context. We encourage researchers and industry to adopt this schema as a common format so that 3DCP datasets from different labs and research groups can be combined without painful reformatting.
Have a 3DCP dataset to share? Submit it → — you provide provenance and an archive DOI; an automated check and a maintainer curate it into the catalog.
There is not yet a broadly adopted public schema for storing 3D-printable concrete data.
Research papers describe mixes as free-text tables with inconsistent naming. One paper calls it "GGBFS," another says "slag," a third writes "ground granulated blast-furnace slag." The aggregate is "sand" in one study and "siliceous fine aggregate (0-2 mm)" in another. Print parameters are buried in methodology sections. Test results are scattered across figures, tables, and supplementary files.
This makes it difficult to combine datasets from different research groups for meta-analysis, review, or downstream modeling. Open3DCP addresses the reporting layer by defining a canonical flat schema where every material, process parameter, and test result has exactly one column name, one unit, and one meaning.
The schema follows FAIR data principles (Findable, Accessible, Interoperable, Reusable) and the Processing-Structure-Property-Performance pattern, consistent with the NASA GRC ICME Schema philosophy for materials data management (Hearley & Arnold, 2023). Column organization aligns with NIST Materials Data Repository guidelines, RILEM TC 304-ADC recommendations, and Citrine GEMD conventions.
-
Flat schema -- Every feature is a named column. No JSON nesting for ML-relevant data.
-
kg/m³-primary basis (v1.6) -- kg/m³ is the primary reporting basis (the industry and literature standard). Material quantities are also expressible as mass-% of the total wet mix (a derived secondary representation);
mix_density_kg_m3andtotal_binder_kg_m3make the two losslessly interconvertible with no density assumption, andoriginal_basisrecords what the source reported. -
Standards-aligned -- Column naming follows established test standards: ASTM C150 for cement types, ASTM C618 for fly ash, ASTM C989 for slag, ASTM C1240 for silica fume, ASTM C33 for aggregate grading by fineness modulus.
-
3DCP-native -- First-class columns for print process parameters (nozzle geometry, layer timing, print speed, pump pressure), fresh-state rheology (yield stress, thixotropy, open time), and interlayer bond properties. These do not exist in conventional concrete schemas.
-
Multi-age -- A companion
strength_measurementstable stores test results at multiple ages (1 hour through 365 days), supporting strength gain curve analysis.
Concrete is fundamentally simple: mix a powder (binder) with water, add rocks (aggregate) for bulk, and stir until uniform. The water triggers a chemical reaction (hydration) that hardens the paste around the aggregate particles. Everything else is refinement.
3D-printable concrete is more demanding. The mix must flow through a pump and nozzle, hold its shape immediately after deposition (no formwork to contain it), bond to the previous layer, and develop strength quickly enough to support the next layer. This requires careful control of rheology and setting behavior, which is where admixtures, fibers, and process parameters become critical.
Binders are the reactive powders that harden when mixed with water. Portland cement is the baseline, but modern 3DCP mixes often replace 20-50% of the cement with supplementary cementitious materials (SCMs) to reduce cost, lower embodied carbon, or modify setting behavior.
| Column | What It Is | Why It Matters for 3DCP |
|---|---|---|
cement_type_1 |
General purpose Portland cement, ASTM C150 Type I. | Primary source of early strength. Most 3DCP mixes use 20-40% by total mass. |
cement_type_1_2 |
General purpose / moderate sulfate resistance, ASTM C150 Type I/II. | The most commonly sold cement in the US. Many suppliers don't stock pure Type I. |
cement_type_1l |
Portland-limestone cement, ASTM C595 / EN 197-1 CEM II/A-L. Contains 6-20% limestone. | Lower carbon than OPC. Distinct product, not just "cement with limestone filler." |
cement_type_2 |
Moderate sulfate resistance / moderate heat, ASTM C150 Type II. | Used in environments with moderate sulfate exposure. |
cement_type_3 |
High early strength / rapid hardening, ASTM C150 Type III. Finer grind, faster hydration. | Useful when early strength gain is critical for layer-on-layer buildability. |
cement_type_5 |
High sulfate resistance, ASTM C150 Type V. | Required in sulfate-rich soils, common in western US. |
fly_ash |
Coal combustion byproduct. When class is known, use fly_ash_type_f (SiO2+Al2O3+Fe2O3 ≥ 70% per ASTM C618) or fly_ash_type_c (≥ 50%). |
Improves long-term strength and reduces heat of hydration. Slows early strength, which can be problematic for 3DCP layer timing. |
silica_fume |
Ultra-fine amorphous silica from silicon/ferrosilicon production. Particle size ~0.1 um. ASTM C1240. | Fills micro-voids between cement grains (packing effect), can increase strength where mix design and curing support it. Typical dosage 5-10%. Increases water demand. |
slag |
Ground granulated blast-furnace slag (GGBFS). Steel industry byproduct. ASTM C989. | Improves durability, reduces permeability, contributes to long-term strength. Common at 30-50% replacement in 3DCP. |
metakaolin |
Calcined kaolin clay. High reactivity pozzolan. ASTM C618 Class N. | Popular in 3DCP for early strength development and thixotropy enhancement. Typical 5-15%. |
limestone |
Ground limestone powder/filler. EN 12620. | Provides nucleation sites that accelerate cement hydration. Improves particle packing. Common in European 3DCP mixes at 5-20%. |
Additional binder columns in the full schema include pumice (natural volcanic pozzolan), cement_type_4 (low heat, rarely manufactured), cac (calcium aluminate cement for rapid set), csa_cement (calcium sulfoaluminate), nano_silica, bottom_ash, and classified fly ash variants (fly_ash_type_f, fly_ash_type_c).
Aggregates provide bulk, dimensional stability, and reduce cost. In conventional concrete, coarse aggregates (10-20 mm) dominate. In 3DCP, aggregates must pass through a pump and nozzle, so maximum particle size is typically limited to 2-4 mm for standard equipment. This makes sand the primary aggregate, though large-nozzle systems (military, infrastructure) can accommodate coarser material.
Fine aggregates are classified using US industry ordering terms. FM ranges are adapted from ASTM C33 grading principles; note that ASTM C33 defines fine aggregate as FM 2.3-3.1 without further subdivision:
| Column | FM Range | US Order Name | Role in 3DCP |
|---|---|---|---|
mason_sand |
1.0-1.8 | Mason sand / plaster sand | Very fine, high fines content. Surface finish. |
fine_sand |
1.6-2.2 | Fine sand | Filler, improves pumpability |
concrete_sand |
2.3-3.0 | Concrete sand / C33 sand | Primary aggregate in most 3DCP mixes |
coarse_sand |
3.1-3.7 | Coarse sand / torpedo sand | Improves dimensional stability, harder to pump |
Coarse aggregates use ASTM C33 size numbers. Most 3DCP uses Size #8 or smaller; larger sizes are included for large-nozzle systems and conventional concrete compatibility:
| Column | ASTM C33 Size | Nominal Range | US Common Name |
|---|---|---|---|
agg_size_89 |
#89 | 3/8" - #16 sieve | Fine gravel |
agg_size_8 |
#8 | 3/8" - #8 sieve | Pea gravel (3DCP limit for most systems) |
agg_size_7 |
#7 | 1/2" - #4 | — |
agg_size_67 |
#67 | 3/4" - #4 | Common structural |
agg_size_6 |
#6 | 3/4" - 3/8" | — |
agg_size_57 |
#57 | 1" - #4 | Most common US concrete aggregate |
agg_size_5 |
#5 | 1" - 1/2" | — |
agg_size_467 |
#467 | 1.5" - #4 | Common ready-mix |
agg_size_4 |
#4 | 1.5" - 3/4" | — |
agg_size_357 |
#357 | 2" - #4 | Crusher run |
agg_size_3 |
#3 | 2" - 1" | — |
agg_size_2 |
#2 | 2.5" - 1.5" | — |
agg_size_1 |
#1 | 3.5" - 1.5" | Large stone |
A typical 3DCP mix is 55-65% sand by total mass with little or no coarse aggregate.
Without formwork, printed concrete has no external confinement. Fibers provide ductility, crack control, and post-crack load carrying capacity. Open3DCP v1.7 tracks eight core fiber families by material, plus a cellulose compatibility column and industry-standard fiber characterization:
| Column | Material | Typical Use in 3DCP |
|---|---|---|
steel_fiber |
Hooked, crimped, or micro steel wire | High mechanical performance, but can clog nozzles. Typical 0.5-2% by volume. |
pp_fiber |
Polypropylene (monofilament or fibrillated) | Most common in 3DCP. Cheap, chemically inert, easy to pump. Typical 0.1-0.5%. |
pva_fiber |
Polyvinyl alcohol | High bond with cement matrix. Used in Engineered Cementitious Composites (ECC). |
glass_fiber |
Alkali-resistant glass | Good balance of strength and cost. Must be AR-coated to resist alkaline cement paste. |
basalt_fiber |
Basalt rock | Sustainable, good thermal resistance. Growing 3DCP interest. |
carbon_fiber |
Carbon | Highest tensile strength, highest cost. Rare in 3DCP. |
nylon_fiber |
Nylon / polyamide | Tough synthetic fiber used where crack control and ductility are useful. |
aramid_fiber |
Aramid | High-tensile organic fiber; uncommon in 3DCP but relevant for future specialty mixes. |
cellulose_fiber |
Natural cellulose | Compatibility column for natural-fiber and cellulose-reinforced mixes where reported. |
In addition to mass-%, three characterization columns capture how fiber is actually specified and ordered commercially: fiber_length_mm, fiber_diameter_mm, and fiber_aspect_ratio (L/d, a common predictor of fiber bridging behavior; e.g., Dramix 3D 65/35 means L/d=65, length=35 mm). fiber_tensile_strength_mpa records the supplier-specified fiber tensile strength.
Admixtures are chemicals added in small quantities (typically 0.1-2% by mass) to modify fresh-state behavior. In 3DCP, they control the narrow window between pumpability and shape retention.
Important: All admixture values in Open3DCP represent solids content by mass-%. Most commercial admixtures are sold as liquid solutions (typically 20-40% solids by weight). Convert using the manufacturer's technical data sheet — e.g., a PCE dosed at 1.0% liquid with 30% solids = 0.3% in this schema.
| Column | Function | Why It Matters |
|---|---|---|
superplasticizer |
High-range water reducer (HRWR). PCE-based polymers that disperse cement particles. ASTM C494 Type F/G. Record as solids content. | Allows the mix to flow through the pump at low water content. The most important admixture in 3DCP. |
water_reducer |
Mid-range water reducer. ASTM C494 Type A. | Less powerful than superplasticizer. These are chemically distinct products and should not be combined into a single column. |
accelerator |
Speeds up setting and early strength gain. ASTM C494 Type C/E. | Critical for 3DCP: each layer must support the next within minutes. Often sprayed at the nozzle tip. |
retarder |
Slows setting. ASTM C494 Type B/D. | Extends the open time (workable window) for long print jobs. |
air_entrainer |
Introduces stabilized microscopic air bubbles. ASTM C260. | Improves freeze-thaw resistance but reduces strength. Rarely used in structural 3DCP. |
Additional admixture columns include vma (viscosity-modifying admixture), shrinkage_reducer, corrosion_inhibitor, and specialized clay-based rheology modifiers (hpmc, sepiolite_clay, attapulgite, calcium_bentonite).
A single column: water, stored as mass-% of total wet mix. Water content is one of the most influential variables in concrete performance because it controls the water-to-binder ratio and strongly affects rheology.
Three derived ratios capture the essential character of a mix more than any individual material percentage:
| Column | Formula | Why It Matters |
|---|---|---|
w_c_ratio |
water / cement only | The classic predictor from Abrams' law (1918): lower w/c = higher strength. Does not account for SCMs. |
w_b_ratio |
water / total binder | A major predictor of compressive strength and fresh-state behavior. Accounts for all cementitious materials, not just Portland cement. A typical 3DCP mix has w/b between 0.30 and 0.45. |
a_b_ratio |
aggregate / total binder | Indicates paste volume. Lower a/b means more paste (binder + water), which generally improves pumpability but increases cost and shrinkage. |
| Column | What It Is | Typical 3DCP Range | Standard |
|---|---|---|---|
compressive_strength_mpa |
The load at failure divided by the cross-sectional area, under uniaxial compression. | 20-120 MPa | ASTM C39 / EN 12390-3 |
tensile_strength_mpa |
Direct or splitting tensile strength. Roughly 8-12% of compressive. | 2-10 MPa | ASTM C496 |
flexural_strength_mpa |
Bending strength (modulus of rupture). Important for structural elements. | 3-15 MPa | ASTM C78 |
elastic_modulus_gpa |
Stiffness. How much the material deforms under load. | 15-45 GPa | ASTM C469 |
test_age_days |
Age at testing. 28 days is the industry standard per ACI 318. | 1-365 days | -- |
3DCP demands more from fresh concrete than conventional construction. The mix must be simultaneously pumpable (fluid enough to flow) and buildable (stiff enough to hold shape). Open3DCP captures both:
- Rheology:
yield_stress_pa,plastic_viscosity_pa_s,thixotropy_pa_per_s(structural buildup rate) - Workability:
slump_mm,spread_mm,open_time_min - Setting:
setting_time_initial_min,setting_time_final_min - Buildability:
green_strength_kpa(fresh concrete compressive strength)
Long-term performance under environmental exposure: chloride penetration, carbonation, freeze-thaw resistance, shrinkage, creep, sulfate attack, alkali-silica reaction, and more. See Open3DCP_SCHEMA.md for the full column reference.
What makes Open3DCP different from conventional concrete databases is first-class support for print process data. These columns are null for cast specimens and populated for printed specimens.
| Column | Description | Why It Matters |
|---|---|---|
nozzle_diameter_mm |
Exit diameter of the print nozzle | Constrains maximum aggregate size. Typical 10-40 mm. |
nozzle_shape |
Cross-section: circular, rectangular, or custom | Rectangular nozzles produce flatter layers with better interlayer contact. |
nozzle_area_mm2 |
Calculated exit area | Used to derive volumetric flow rate from print speed. |
layer_height_mm |
Height of each deposited layer | Typical 5-15 mm. Thinner layers = better surface finish, more layers needed. |
layer_time_gap_s |
Seconds between successive layers at the same location | The cold joint indicator. Longer gaps allow surface drying, which weakens interlayer bond. |
print_speed_mm_s |
Nozzle travel speed | Affects layer geometry, surface quality, and production rate. |
Printed concrete is anisotropic: its properties depend on the direction of loading relative to the layer orientation.
print_direction-- The path the nozzle follows (X, Y, or Z axis)test_orientation-- How the specimen was loaded in the testing machine:perpendicular-- Load applied across layers (weakest direction, tests interlayer bond)parallel-- Load applied along layers (strongest direction)diagonal-- Load at 45 degrees to layerscast-- Moulded specimen, no layer orientation
A printed concrete specimen tested perpendicular to its layers can be 20-40% weaker than the same material tested parallel. This is why test_orientation is a critical schema field, not just metadata.
Every record in Open3DCP should carry provenance metadata that traces it back to its source:
| Column | Purpose |
|---|---|
doi |
Digital Object Identifier for the source publication |
source_citation |
Full citation string for sources without a DOI (theses, conference papers, internal reports) |
measurement_confidence |
How the value was obtained: measured, calculated, estimated, or reported |
lab_name |
Laboratory that performed the tests (enables inter-laboratory comparison) |
Provenance matters because data quality strongly affects model accuracy and scientific reproducibility. A single miscoded material percentage (e.g., recording cement as 45% when the paper says 24%) can shift downstream analysis for similar mixes.
The main mix design table is supported by several reference tables. Implementers should adapt these to their needs:
| Table | Purpose |
|---|---|
sources |
Publication metadata: title, authors, DOI, year, license |
test_methods |
Controlled vocabulary of test standards (ASTM C39, EN 12390-3, RILEM 3DCP, etc.) |
curing_regimes |
Standard curing conditions (water 20C, moist room, steam, autoclave, etc.) |
standard_test_ages |
Reference ages from 1 hour (0.042 days) through 91 days |
strength_measurements |
Multi-age test data beyond the primary value in the main table |
Open3DCP is designed to be database-agnostic. The canonical column definitions target PostgreSQL, but the flat structure works in any relational database, CSV export, or dataframe. Use NULL when a value is unknown, not reported, not applicable, or not measured; use 0 only when the source explicitly reports absence or a true zero value.
If you maintain a 3DCP mix design database, you can adopt the Open3DCP schema by creating tables matching the column definitions in Open3DCP_SCHEMA.md. Start with the columns relevant to your data -- you do not need to populate every column. The schema is designed so that null columns are simply ignored during analysis.
Open3DCP ships tooling to bring external concrete datasets into the flat schema without losing data:
| Artifact | What it is |
|---|---|
tools/ingest/ |
open3dcp-ingest — converts external datasets (relational concrete databases, UCI/Yeh, generic CSV) into Open3DCP, with an ingestion fidelity score and a drop-nothing triage sidecar |
crosswalk/ |
Versioned, machine-readable schema mappings consumed by the tool |
Open3DCP_TERM_JUSTIFICATION.md |
Justification for every schema term + unit, with standard references (auto-generated; coverage-gated) |
Open3DCP is an agglomeration of the most applicable schema patterns for 3DCP mix design data, drawn from established standards bodies and open-access research:
- NASA GRC ICME Schema -- Hearley, B.L. and Arnold, S.M. (2023). "NASA GRC ICME Schema for Materials Data Management: An Executive Summary." NASA/TM-20230018337. Open3DCP follows the same FAIR data principles and Processing-Structure-Property-Performance pattern described in this work.
- NIST -- Materials Data Repository schema patterns and Materials Genome Initiative (MGI) guidelines
- RILEM TC 304-ADC -- Assessment of Additively Manufactured Concrete Materials and Structures (interlaboratory test protocols, orientation nomenclature)
- ACI 318 -- Building Code Requirements for Structural Concrete (design age conventions, strength classifications)
- Citrine Informatics -- GEMD (Graphical Expression of Materials Data) data model concepts
- ASTM C150 -- Portland Cement
- ASTM C618 -- Fly Ash and Natural Pozzolans
- ASTM C989 -- Slag Cement (GGBFS)
- ASTM C1240 -- Silica Fume
- ASTM C33 -- Concrete Aggregates (fineness modulus grading)
- ASTM C494 -- Chemical Admixtures (Types A-G)
- ASTM C260 -- Air-Entraining Admixtures
- ASTM C39 -- Compressive Strength of Cylindrical Specimens
- ASTM C496 -- Splitting Tensile Strength
- ASTM C78 -- Flexural Strength (Third-Point Loading)
- ASTM C469 -- Static Modulus of Elasticity
- ASTM C191 -- Time of Setting (Vicat Needle)
- ASTM C1611 -- Slump Flow of Self-Consolidating Concrete
- EN 197-1 -- Cement Composition and Classification
- EN 12390-3/5/6 -- Hardened Concrete Testing (Compressive, Flexural, Tensile)
- EN 206 -- Exposure Classifications
Schema design was informed by the structure and content of these CC BY-licensed datasets:
- Bos, F.P. et al. (2023). RILEM TC 304-ADC ILS-mech interlaboratory study dataset. CC BY 4.0.
- TU Eindhoven IBS 3DCP Dataset v1.1.0. 4TU.ResearchData. CC BY 4.0.
- Zenodo 3DCP Dataset v0.3. CC BY 4.0.
- UCI Machine Learning Repository -- Concrete Compressive Strength Dataset. CC BY 4.0.
- Open3DCP_SCHEMA.md -- Full column-by-column technical reference with types, units, and test method citations
This document references published standards from ASTM International, CEN (EN), ACI, RILEM, and other organizations for identification and context only. Open3DCP is not a substitute for any referenced standard. Users must obtain and comply with the full text of applicable standards through authorized channels. Standard designations are trademarks of their respective organizations; their use here does not imply endorsement or affiliation.
Open3DCP defines a data format, not a dataset, and makes no warranties regarding the accuracy or fitness for purpose of any data stored in this format. This schema is not intended for structural design, construction specifications, or regulatory compliance. Mix designs must be independently validated through laboratory testing by qualified professionals before use in construction. Nothing in this document constitutes engineering advice.
See Open3DCP_SCHEMA.md for full disclaimer language.
Open3DCP captures the materials, fresh-state, hardened-mechanical, interlayer, durability, and process data that 3DCP research and inter-laboratory studies routinely report. The table below lists representative test methods that researchers commonly cite when populating each column group; Open3DCP itself is method-neutral and accepts data from any equivalent test.
| Category | Representative test methods | Open3DCP columns |
|---|---|---|
| Material specs | ASTM C150, C595, C33, C494, A820, D7508, D7357 | 37+ material columns (binders, aggregates, fibers, admixtures, pigments, AAM activators, water) |
| Fresh properties | ASTM C143, C1437, C231, C138, C403 | slump_mm, spread_mm, air_content_fresh_pct, unit_weight_fresh_kg_m3, setting_time_initial_min |
| Hardened mechanical | ASTM C39, C109, C469, C157 | compressive_strength_mpa, elastic_modulus_gpa, drying_shrinkage_28d_ue |
| 3DCP interlayer | ASTM C1583, E518 | interlayer_bond_mpa, interlayer_shear_mpa + test_orientation_code for all directions |
| Durability | ASTM C666, C1260, C1202, C1585 | freeze_thaw_durability_factor, asr_expansion_14d_pct, chloride_rcpt_coulombs, sorptivity_* |
| Fire performance | ASTM E119 | fire_resistance_min (concrete is non-combustible; E84 flame/smoke indices omitted) |
| Process params | (3DCP-native, no single legacy method) | nozzle_diameter_mm, layer_height_mm, print_speed_mm_s, layer_time_gap_s, test_orientation |
This table maps test-method identifiers commonly seen in 3DCP literature to the columns where the corresponding measurements are stored. It is not a compliance claim. Open3DCP is not certified, endorsed, or affiliated with ASTM, ACI, EN/CEN, ICC, RILEM, or any other standards body, and is not a code-compliance schema.
For the full per-version change history, see CHANGELOG.md. For column-level definitions and units, see Open3DCP_SCHEMA.md.
Open3DCP is released under the Apache License, Version 2.0 (Apache-2.0).
You are free to use, adapt, and redistribute this schema for any purpose, including commercial use, provided you give appropriate credit to Nicholas Sonnentag / Sunnyday Technologies. The Apache 2.0 license includes an express grant of patent rights from contributors to users.
Nicholas Sonnentag (ORCID 0009-0002-1897-384X) — mechanical engineer, founder of Sunnyday Technologies. Open3DCP is authored and maintained by Nick; drafting and refinement is LLM-assisted but the schema design, column semantics, reference-standard curation, and direction are his.
- LinkedIn: Nicholas Sonnentag
- Email:
nick@sunn3d.com
If you use Open3DCP in your research, please cite:
Sonnentag, N. (2026). Open3DCP: Open Data Standard for 3D Concrete
Printing. Sunnyday Technologies.
https://github.com/sunnyday-technologies/Open3DCP
DOI: 10.5281/zenodo.19647471
A CITATION.cff file is included for automated citation tooling.
We welcome contributions from the 3DCP research community. If you have suggestions for schema improvements, new columns for emerging test methods, or corrections to existing descriptions, please open an issue or pull request.
Developed and maintained by Nicholas Sonnentag at Sunnyday Technologies | Wisconsin, USA