Portfolio / Displays
Custom 3D printed displays
Oversized, segment-and-assemble 3D printing for monuments, trade-show cutaways, demonstration models, and big branded props, engineered so your team can finish and install.
Selected work
Big pieces, engineered to build
What we make
Display applications
Monument & sculpture components
Trade-show cutaway & demo models
Oversized props & display pieces
Segmented large-format parts
Scale demonstration models
Branded large-format display elements
How large-format works
Modeled, segmented, printed, inspected
Oversized pieces are rebuilt at true production scale, split into printable sections with positive alignment, printed in durable material, and inspected before handoff.
Our part
Production-scale modeling Segmentation & alignment keys Approval visuals ASA & composite printing Inspection & release checks
Materials
Gray ASA (outdoor-grade) Carbon Fiber PETG PAHT-CF (Carbon Fiber Nylon) Engineering-Grade Composites
ASA is commonly chosen outdoors for its UV, weather, and heat resistance, and it sands, fills, primes, and paints in a normal sign-shop workflow. Final assembly and installation belong to your team; we can quote seam finishing and paint-ready prep when a project calls for it. How an oversized build actually works →
Project spotlights
Large-format, start to handoff
Start a project
Have an oversized piece that does not exist yet?
Bring Cru Bear the concept. We will help turn it into a manufacturable, segmented system your team can finish and install.
Local 3D printing in Louisville, KY and Southern Indiana, including large-format display work, prototypes, and one-off builds.
body.page-id-4120 .entry-hero-container-inner,body.page-id-4120 .entry-header,body.page-id-4120 .post-hero-section,body.page-id-4120 .entry-hero{display:none !important}
body.page-id-4120 .entry-content{max-width:none !important;margin:0 !important;padding:0 !important}
body.page-id-4120 .content-container,body.page-id-4120 .content-area,body.page-id-4120 .site-container{max-width:none !important}
.cbcap{–ink:#0A0B0D;–graph:#101318;–bone:#ECE9E3;–paper:#F5F3EF;–paper2:#EFECE5;–card:#fff;–tdark:#1b2027;–muted:#586171;–pewter:#9A9DA3;–line:#23272e;–rule:#e4e1da;–o:#E07E2C;–rust:#A2480A;
–serif:”Fraunces”,Georgia,serif;–sans:”Hanken Grotesk”,system-ui,-apple-system,sans-serif;–mono:”IBM Plex Mono”,ui-monospace,monospace;
–pad:clamp(24px,5vw,72px);–wide:1200px;
width:100vw;max-width:100vw;margin-left:calc(50% – 50vw);margin-right:calc(50% – 50vw);
font-family:var(–sans);color:var(–tdark);background:var(–paper);-webkit-font-smoothing:antialiased}
.cbcap *{box-sizing:border-box}
.cbcap h1,.cbcap h2,.cbcap p,.cbcap ul{margin:0}
.cbcap h1,.cbcap h2,.cbcap h3{text-transform:none !important}
.cbcap a{text-decoration:none;color:inherit}
.cbcap img{display:block;width:100%;height:100%;object-fit:cover}
.cbcap ul{list-style:none;padding:0}
.cbcap-kicker{display:inline-flex;align-items:center;gap:13px;font-family:var(–mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(–rust);font-weight:600}
.cbcap-kicker::before,.cbcap-kicker::after{content:””;width:26px;height:1px;background:currentColor}
.cbcap-kicker i{font-style:normal;opacity:.55}
.cbcap-kc{justify-content:center}
.cbcap-dark .cbcap-kicker{color:var(–o)}
.cbcap-band{padding:clamp(58px,7.5vw,116px) var(–pad);background:var(–paper)}
.cbcap-paper{background:var(–paper2)}
.cbcap-dark{background:var(–graph);color:var(–bone)}
.cbcap-wide{max-width:var(–wide);margin:0 auto}
.cbcap-head{text-align:center;max-width:720px;margin:0 auto clamp(34px,4.5vw,56px)}
.cbcap-head .cbcap-h2{margin-top:14px}
.cbcap-h2{font-family:var(–serif);font-weight:300;font-size:clamp(1.8rem,3.2vw,2.9rem);line-height:1.08;letter-spacing:-.02em;color:var(–tdark);text-wrap:balance}
.cbcap-dark .cbcap-h2{color:var(–bone)}
.cbcap-h2 em{font-style:italic;color:var(–o)}
.cbcap p{font-size:1.06rem;line-height:1.72;color:var(–muted);text-wrap:pretty}
.cbcap-dark p{color:#C6C9CF}
.cbcap-intro{font-size:1.12rem !important;color:var(–tdark) !important;margin:14px auto 0 !important;max-width:60ch}
.cbcap-dark .cbcap-intro{color:var(–bone) !important}
/* figures */
.cbcap-fig{display:block;position:relative;background:var(–card);border:1px solid var(–rule);border-radius:3px;overflow:hidden;aspect-ratio:3/4}
.cbcap-dark .cbcap-fig{border-color:#2b2f37;background:#14171c}
.cbcap-fig img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.cbcap-fig:hover img{transform:scale(1.04)}
/* hero */
.cbcap-hero{background:var(–ink);color:var(–bone);padding:clamp(48px,6vw,92px) var(–pad);position:relative;overflow:hidden;isolation:isolate}
.cbcap-hero::before{content:””;position:absolute;inset:0;z-index:0;background:radial-gradient(60% 70% at 80% 30%,rgba(224,126,44,.14),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 34px)}
.cbcap-hero-in{position:relative;z-index:1;max-width:var(–wide);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,4.5vw,64px);align-items:center}
.cbcap-hero .cbcap-kicker{color:var(–o)}
.cbcap-h1{font-family:var(–serif);font-weight:300;font-size:clamp(2.3rem,5vw,4rem);line-height:1.03;letter-spacing:-.025em;color:var(–bone);margin-top:20px;text-transform:none;text-wrap:balance}
.cbcap-h1 em{font-style:italic;color:var(–o)}
.cbcap-deck{font-size:clamp(1.05rem,1.5vw,1.24rem) !important;line-height:1.6 !important;color:var(–pewter) !important;margin-top:20px !important;max-width:48ch}
.cbcap-hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.cbcap-hero-art{margin:0}
.cbcap-hero-art .cbcap-fig{aspect-ratio:4/3;border-color:#2b2f37}
/* buttons */
.cbcap-btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(–mono);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;background:var(–o);color:#160c02;padding:1.1em 2em;border:1px solid var(–o);border-radius:2px;transition:.35s cubic-bezier(.2,.7,.2,1)}
.cbcap-btn:hover{background:#fff;border-color:#fff;color:#0A0B0D;transform:translateY(-2px);box-shadow:0 16px 34px -16px rgba(224,126,44,.6)}
.cbcap-btn-ghost{background:transparent;color:var(–bone);border-color:#3a3f47}
.cbcap-btn-ghost span{color:var(–o);transition:transform .3s}
.cbcap-btn-ghost:hover{background:rgba(255,255,255,.05);border-color:var(–bone);color:#fff;box-shadow:none}
.cbcap-btn-ghost:hover span{transform:translateX(4px)}
.cbcap-paper .cbcap-btn-ghost,.cbcap-band:not(.cbcap-dark) .cbcap-btn-ghost{color:var(–tdark);border-color:#cfc9bf}
.cbcap-paper .cbcap-btn-ghost:hover{background:rgba(0,0,0,.03);border-color:var(–tdark);color:var(–tdark)}
/* gallery */
.cbcap-gal .cbcap-fig{aspect-ratio:4/3}
.cbcap-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,20px)}
/* applications */
.cbcap-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1000px;margin:0 auto}
.cbcap-apps li{position:relative;padding:28px 22px 22px;background:#fff;border:1px solid var(–rule);border-radius:3px;font-size:1rem;color:var(–tdark);line-height:1.4;text-align:center}
.cbcap-apps li::before{content:””;position:absolute;left:50%;top:15px;transform:translateX(-50%) rotate(45deg);width:9px;height:9px;background:var(–o);border-radius:1px}
/* materials */
.cbcap-mat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);max-width:960px;margin:0 auto}
.cbcap-mat-col{background:rgba(255,255,255,.03);border:1px solid var(–line);border-radius:4px;padding:clamp(24px,3vw,36px)}
.cbcap-mat-tag{font-family:var(–mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(–o);font-weight:600;display:block;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(–line)}
.cbcap-chips{display:flex;flex-wrap:wrap;gap:10px}
.cbcap-chips li{font-family:var(–sans);font-size:.92rem;color:#dfe1e5;border:1px solid #2f343c;border-radius:2px;padding:9px 14px}
.cbcap-mat-note{font-size:.95rem !important;color:#aeb2ba !important;margin-top:18px !important}
/* two-col finishing + quote */
.cbcap-two{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,4vw,64px);align-items:start}
.cbcap-two .cbcap-h2{margin:14px 0 16px}
.cbcap-two p+p{margin-top:1em}
.cbcap-quote-card{background:#fff;border:1px solid var(–rule);border-radius:4px;padding:clamp(26px,3vw,38px)}
.cbcap-quote-card .cbcap-mat-tag{color:var(–rust);border-color:var(–rule)}
.cbcap-qf{display:grid;gap:12px}
.cbcap-qf li{position:relative;padding-left:26px;font-size:1rem;color:var(–tdark);line-height:1.4}
.cbcap-qf li::before{content:””;position:absolute;left:0;top:.55em;width:8px;height:1px;background:var(–o)}
/* spotlights */
.cbcap-spot{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.cbcap-spot-card{display:flex;flex-direction:column;background:#14171c;border:1px solid #23272e;border-radius:4px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;position:relative}
.cbcap-spot-card::before{content:””;position:absolute;left:0;top:0;z-index:3;height:3px;width:0;background:var(–o);transition:width .45s cubic-bezier(.22,.61,.36,1)}
.cbcap-spot-card:hover{transform:translateY(-5px);box-shadow:0 24px 46px -26px rgba(0,0,0,.5)}
.cbcap-spot-card:hover::before{width:100%}
.cbcap-spot-card .cbcap-fig{aspect-ratio:4/3;border:0;border-radius:0;background:#14171c}
.cbcap-spot-body{padding:22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.cbcap-spot-h{font-family:var(–serif);font-weight:400;font-size:1.18rem;line-height:1.2;color:var(–bone)}
.cbcap-spot-link{margin-top:auto;font-family:var(–mono);font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(–o);display:inline-flex;align-items:center;gap:.5em}
.cbcap-spot-link span{transition:transform .3s}
.cbcap-spot-card:hover .cbcap-spot-link span{transform:translateX(5px)}
/* cta */
.cbcap-cta{background:var(–ink);color:var(–bone);text-align:center;padding:clamp(72px,10vw,150px) var(–pad);position:relative;overflow:hidden;isolation:isolate;border-top:1px solid var(–line)}
.cbcap-cta::before{content:””;position:absolute;inset:0;z-index:0;background:radial-gradient(60% 80% at 50% 34%,rgba(224,126,44,.18),transparent 62%)}
.cbcap-cta-in{position:relative;z-index:1;max-width:760px;margin:0 auto}
.cbcap-cta-h{font-family:var(–serif);font-weight:300;font-size:clamp(2rem,4vw,3.3rem);line-height:1.06;letter-spacing:-.02em;color:#fff;margin-top:18px;text-transform:none;text-wrap:balance}
.cbcap-cta-h em{font-style:italic;color:var(–o)}
.cbcap-cta-lead{font-size:clamp(1.06rem,1.5vw,1.24rem) !important;line-height:1.55 !important;color:var(–bone) !important;margin:22px auto 0 !important;max-width:54ch}
.cbcap-cta-body{margin:16px auto 0 !important;max-width:58ch;color:#b6b3ac !important}
.cbcap-cta-btns{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:34px}
@media(max-width:900px){
.cbcap-hero-in,.cbcap-two{grid-template-columns:1fr;gap:30px}
.cbcap-gal,.cbcap-spot{grid-template-columns:repeat(2,1fr)}
.cbcap-apps{grid-template-columns:repeat(2,1fr)}
.cbcap-mat{grid-template-columns:1fr}
}
@media(max-width:560px){.cbcap-gal,.cbcap-spot,.cbcap-apps{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){
@keyframes cbcapUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.cbcap-hero-copy>*{animation:cbcapUp .8s cubic-bezier(.22,.61,.36,1) both}
.cbcap-hero-copy>*:nth-child(2){animation-delay:.1s}.cbcap-hero-copy>*:nth-child(3){animation-delay:.2s}.cbcap-hero-copy>*:nth-child(4){animation-delay:.3s}
.cbcap-hero-art{animation:cbcapUp 1s cubic-bezier(.22,.61,.36,1) .25s both}
.cbcap-anim .cbcap-r{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transition-delay:var(–d,0ms)}
.cbcap-anim .cbcap-r.is-in{opacity:1;transform:none}
.cbcap-anim .cbcap-kicker::before,.cbcap-anim .cbcap-kicker::after{transform:scaleX(0);transition:transform .8s cubic-bezier(.22,.61,.36,1) calc(var(–d,0ms) + 160ms)}
.cbcap-anim .cbcap-kicker::before{transform-origin:right}.cbcap-anim .cbcap-kicker::after{transform-origin:left}
.cbcap-anim .cbcap-kicker.is-in::before,.cbcap-anim .cbcap-kicker.is-in::after{transform:scaleX(1)}
}
(function(){
if(!(‘IntersectionObserver’ in window)) return;
try{ if(window.matchMedia && matchMedia(‘(prefers-reduced-motion: reduce)’).matches) return; }catch(e){}
var root=document.querySelector(‘.cbcap’); if(!root) return;
root.classList.add(‘cbcap-anim’);
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add(‘is-in’);io.unobserve(e.target);}});},{rootMargin:’0px 0px -8% 0px’,threshold:0.08});
root.querySelectorAll(‘.cbcap-band .cbcap-kicker,.cbcap-band .cbcap-h2,.cbcap-band .cbcap-intro,.cbcap-gal,.cbcap-apps,.cbcap-mat,.cbcap-two,.cbcap-spot,.cbcap-cta .cbcap-kicker’).forEach(function(el){el.classList.add(‘cbcap-r’);io.observe(el);});
})();