• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Image 1
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Image 2
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Image 3
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Image 4
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Thumbnail 1
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Thumbnail 2
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Thumbnail 3
Parametric Corner Trim Edge Guard (L or U Profile) 3D Printer File Thumbnail 4

Parametric Corner Trim Edge Guard (L or U Profile)

wpl avatarwpl

November 8, 2025

makerworld-icon
DescriptionCommentsTags

Description

A simple and fully parametric trim profile generator I created for a personal project. Use it to create a custom-sized L-Shape or U-Shape profile, perfect for finishing the edges of furniture boards, countertops, or as a clean corner guard.

This started from a simple need: I had to neatly finish the raw edge of a woodenish board in my kitchen. Instead of designing one specific size, I decided to create this fully parametric OpenSCAD model. Now, both I and you can generate a perfectly fitting trim for any project in just a few seconds.

The model is designed to be 100% print-ready as soon as you generate it.

 

Key Features

 

  • Profile Selection: A simple is_u_shape toggle lets you switch between a classic L-profile (2 walls) and a U-channel profile (3 walls).
  • Fully Parametric: Adjust the length, the outer dimensions of each leg (A, B, and optionally C), and the overall wall thickness.
  • Versatile Application: Ideal for finishing furniture panels (e.g., 18mm boards), countertops, covering gaps, or as simple protective corners.
  • 3D Print Optimized: The model is automatically generated lying on its side (flat on the XY plane) for maximum layer adhesion, strength, and easy, support-free printing.

 

📐 How to Customize

 

All parameters are available in the "Customise" tab.

  • profile_length: The total length of the trim profile (in mm).
  • is_u_shape: Toggles the profile shape.
    • false (unchecked) = L-Profile (2 walls).
    • true (checked) = U-Profile (3 walls).
  • dimension_a: The outer dimension of Wall 'A'.
  • dimension_b: The outer dimension of Wall 'B'. (For U-profiles, this is the total outer width of the channel).
  • dimension_c: The outer dimension of Wall 'C' (only used if is_u_shape = true).
  • wall_thickness: The thickness for all walls of the profile.

 

🖨️ Print Settings

 

This is a very straightforward model to print.

  • Supports: None required. The model is already pre-oriented to lie flat on the build plate.
  • Material: Any standard filament (PLA, PETG, ABS, ASA). For kitchen or utility applications, I recommend PETG or ASA for better durability and moisture/heat resistance.
  • Infill: 15-25% is sufficient for most applications.
  • Perimeters (Walls): For a stiffer, more robust profile, I recommend using 3-4 perimeters.
  • Layer Height: 0.2 mm provides a good balance of speed and quality.

🚀 Like this model?

Boost MeIf you found this project useful, please give it a boost! It's much appreciated and helps other makers discover it.

 

🖥️ Code

/*
============================================================
==         Generator         ==
============================================================
*/

/*
------------------------------------------------------------
-- User Parameters
------------------------------------------------------------
*/

// 1. Total length of the trim profile in mm
profile_length = 200; // [10:2000]

// 2. Use U-Shape (3 walls)? 
//    (false = L-Shape / 2 walls, true = U-Shape / 3 walls)
is_u_shape = false; // [true, false]

// 3. Outer dimension of Wall 'A' (extends along the Y-axis)
dimension_a = 50; // [5:100]

// 4. Outer dimension of Wall 'B' (extends along the X-axis)
dimension_b = 50; // [5:100]

// 5. Outer dimension of Wall 'C' (extends along Y-axis, parallel to 'A')
//    (Only used if is_u_shape is true)
dimension_c = 50; // [5:100]

// 6. Thickness of all walls in mm
wall_thickness = 2; // [0.5:10]


/*
------------------------------------------------------------
-- Model Generation
------------------------------------------------------------
-- Do not edit below this line
------------------------------------------------------------
*/

// Call the main module to generate the geometry
corner_trim_profile(
   len = profile_length,
   thick = wall_thickness,
   dim_a = dimension_a,
   dim_b = dimension_b,
   dim_c = dimension_c,
   u_shape = is_u_shape
);


/*
------------------------------------------------------------
-- Module Definition
------------------------------------------------------------
*/
module corner_trim_profile(len, thick, dim_a, dim_b, dim_c, u_shape = false) {
   
   // Rotate the entire profile to lay flat on the XY plane
   // (default OpenSCAD Z-axis is "up", so we rotate around X by 90 degrees)
   rotate([90, 0, 0]) {
       
       // Use union() to combine the parts into a single object
       union() {
           
           if (u_shape) {
               
               // --- GENERATE U-SHAPE (3 WALLS) ---
               // Based on total outer width (dim_b) and leg heights (dim_a, dim_c)

               // Wall A (Left Leg, Y-axis)
               // Size: [thickness, height, length]
               cube([thick, dim_a, len]);
               
               // Wall B (Back/Web, X-axis)
               // Positioned between the two legs
               // Size: [width - 2*thickness, thickness, length]
               translate([thick, 0, 0]) {
                   cube([dim_b - (2 * thick), thick, len]);
               }
               
               // Wall C (Right Leg, Y-axis)
               // Positioned at the far right edge
               // Size: [thickness, height, length]
               translate([dim_b - thick, 0, 0]) {
                   cube([thick, dim_c, len]);
               }
               
           } else {
               
               // --- GENERATE L-SHAPE (2 WALLS) ---
               // Based on total outer dimensions (dim_a, dim_b)

               // Wall A (Vertical Leg, Y-axis)
               // Size: [thickness, height, length]
               cube([thick, dim_a, len]);
               
               // Wall B (Horizontal Leg, X-axis)
               // Starts after Wall A and extends to the full dim_b width
               // Size: [width - thickness, thickness, length]
               translate([thick, 0, 0]) {
                   cube([dim_b - thick, thick, len]);
               }
           }
       }
   }
}

License:

MakerWorld Exclusive License

Related Models

Parametric Hinge preview image

Parametric Hinge

rohingosling profile image

rohingosling

51,876

Rugged Box (Parametric) preview image

Rugged Box (Parametric)

Whity profile image

Whity

34,598

Custom QR Code Luggage / Bag Tag preview image

Custom QR Code Luggage / Bag Tag

vlycser profile image

vlycser

8,770

NUT JOB | Nut, Bolt, Washer and Threaded Rod Factory preview image

NUT JOB | Nut, Bolt, Washer and Threaded Rod Factory

mike_mattala profile image

mike_mattala

51,780

Gridfinity Storage Box by Pred (now parametric) preview image

Gridfinity Storage Box by Pred (now parametric)

Pred profile image

Pred

16,414

Name Keychain Generator [NO AMS] preview image

Name Keychain Generator [NO AMS]

T180 profile image

T180

4,270

Customizable U-Hook preview image

Customizable U-Hook

sergep profile image

sergep

39,752

KLAMMA - Locking Cable Clip preview image

KLAMMA - Locking Cable Clip

FH profile image

FH

16,495