# Workflow Development Log - 5D+ Plus, FredoSection, Medeek BIM

**URL:** <https://forums.sketchup.com/t/workflow-development-log-5d-plus-fredosection-medeek-bim/344248>\
**Category:** Off Topic\
**Tags:** workflow, extension, fredo6, section, medeek\
**Created:** [January 30, 2026, 3:36am UTC](https://forums.sketchup.com/t/workflow-development-log-5d-plus-fredosection-medeek-bim/344248 "2026-01-30T03:36:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![LinearGraphs](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/lineargraphs/32/122428_2.png) [@LinearGraphs](https://forums.sketchup.com/u/LinearGraphs)\
**Post date:** [January 30, 2026, 3:36am UTC](https://forums.sketchup.com/t/workflow-development-log-5d-plus-fredosection-medeek-bim/344248/1 "2026-01-30T03:36:44Z")

</div>

> [@\[Plugin\] FredoSection - Tools about Section Planes](https://forums.sketchup.com/t/plugin-fredosection-tools-about-section-planes/343333/22):
>
> News of this extension, digging into 5D+ recently, and reading the above has me more excited about SketchUp than I have been in a long time. The mere possibility that I could use @medeek’s parametric modeling tools, @Fredo6’s dynamic section hatching, @Cyentruk’s SU to LO automation; that I could get tag organization standardized across all projects, make robust templates that maximizes the functionality for the first time, and finally have a procedurally consistent workflow that allows me …

> [@\[Plugin\] FredoSection - Tools about Section Planes](https://forums.sketchup.com/t/plugin-fredosection-tools-about-section-planes/343333/23):
>
> If a list of tags from @medeek and @Cyentruk were available, I could get to work on testing compatibility with the 3 extensions. I can look for these myself but I didn’t know if either of you guys had them sitting in a data file somewhere.

Well, Off I go. Getting a 3D model built to set up tags and understand how to either convert Medeek tags to 5D+ compatible ones (editing them in each Medeek BIM Tool’s global settings:) or seeing how to change the customization in 5D+ to accommodate Medeek’s tag and grouping architecture.

I am trying to basically create a house that utilizes everything that Medeek has to offer and see what I need to tweak to make it all talk together, then there’s Fredo’s integration, haven’t tried it yet.

> **@medeek see below list of tags: Had AI write some ruby to just write out the tags in the modal If you have time, let me know if I missed any.**
>
> anchor\_bolts  
> door\_hw  
> floor\_2d  
> floor\_beam  
> floor\_block  
> floor\_carpet  
> floor\_code  
> floor\_conc  
> floor\_coverboard  
> floor\_deck  
> floor\_dim  
> floor\_dim2  
> floor\_dim3  
> floor\_dim4  
> floor\_eng  
> floor\_frame  
> floor\_gypsum  
> floor\_hardwood  
> floor\_hidden  
> floor\_hw  
> floor\_ijoist  
> floor\_insul  
> floor\_joist  
> floor\_membrane  
> floor\_mpc  
> floor\_outline  
> floor\_outline2  
> floor\_rim  
> floor\_sheath  
> floor\_sill  
> floor\_steeljoist  
> floor\_tile  
> floor\_trim  
> floor\_underlay  
> floor\_wrap  
> fnd\_2d  
> fnd\_code  
> fnd\_conc  
> fnd\_dim  
> fnd\_dim2  
> fnd\_dim3  
> fnd\_drain  
> fnd\_eng  
> fnd\_framing  
> fnd\_hidden  
> fnd\_insul  
> fnd\_rebar  
> fnd\_subbase  
> holdowns  
> Layer0  
> roof\_2d  
> roof\_clad  
> roof\_code  
> roof\_dim  
> roof\_dim2  
> roof\_dim3  
> roof\_eng  
> roof\_frame  
> roof\_hidden  
> roof\_outline  
> roof\_rafter  
> roof\_sheath  
> roof\_soffit  
> roof\_truss  
> wall\_2d  
> wall\_beam  
> wall\_block  
> wall\_btmplate  
> wall\_casing  
> wall\_clad  
> wall\_cmu  
> wall\_code  
> wall\_column  
> wall\_conc  
> wall\_dim  
> wall\_dim2  
> wall\_dim3  
> wall\_dim4  
> wall\_dim5  
> wall\_door  
> wall\_eng  
> wall\_frame  
> wall\_furring  
> wall\_gypsum  
> wall\_header  
> wall\_header2  
> wall\_hw  
> wall\_insul  
> wall\_king  
> wall\_plate  
> wall\_post  
> wall\_sheath  
> wall\_shutter  
> wall\_sill  
> wall\_symbol  
> wall\_symbol2  
> wall\_trim  
> wall\_trimmer  
> wall\_window

---

<div class="post-metadata">

**Author:** ![Cyentruk](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/cyentruk/32/222012_2.png) [@Cyentruk](https://forums.sketchup.com/u/Cyentruk)\
**Post date:** [January 30, 2026, 10:57am UTC](https://forums.sketchup.com/t/workflow-development-log-5d-plus-fredosection-medeek-bim/344248/2 "2026-01-30T10:57:55Z")

</div>

I’d like to share some information about how 5D+ helps manage and classify objects using Tags.

### 1. Flexible Tag Usage

5D+ **does not force users to adopt a predefined Tag system**. Instead, users can continue using their own Tag structures while still benefiting from the automation features provided by 5D+.

### 2. Tag Export / Import Capabilities

5D+ allows Tags to be exchanged between projects through two methods:

**• Export/Import via Excel** , including:

- Tag names
- Colors
- Dash styles

**• Export/Import via SketchUp files** , including:

- Tag names
- Colors
- Dash styles
- **Tag textures**

Tag textures are especially important for maintaining consistency across template and project files. When importing, textures of Tags with the same name are overridden, helping keep projects synchronized.

### 3. Mapping Tags to Friendly Names and IFC Classes

5D+ Plus enables users to:

- Map existing Tags to **more user-friendly names**
- Organize Tags into **categories**
- Map Tags to **IFC classes** for BIM workflows and data exchange.

### 4. Converting Old Tags to New Tags

5D+ Plus also allows users to create mapping rules to **convert old Tags into new ones** , making it easier to standardize data across legacy projects.

If you want to know more detaits about how to do these with 5D+, just let me know.

---

<div class="post-metadata">

**Author:** ![LinearGraphs](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/lineargraphs/32/122428_2.png) [@LinearGraphs](https://forums.sketchup.com/u/LinearGraphs)\
**Post date:** [January 31, 2026, 11:28pm UTC](https://forums.sketchup.com/t/workflow-development-log-5d-plus-fredosection-medeek-bim/344248/3 "2026-01-31T23:28:30Z")

</div>

SO far I have organized the Medeek tags into the CSI Master format via Ruby from AI:

> **So I Don't bore you with code**
>
> ```auto
> # Organize Tags into CSI MasterFormat folders + separate Annotations
> # SketchUp 2021+ required (Tag Folders)
> 
> require 'sketchup.rb'
> 
> module CSI_TagFolderOrganizer
> # ---- Folder names (edit if you want different wording) ----
> F_ANNOT = "00 - ANNOTATIONS (Dims/2D/Code/Eng)"
> F_03 = "03 - CONCRETE"
> F_04 = "04 - MASONRY"
> F_05 = "05 - METALS"
> F_06 = "06 - WOOD, PLASTICS & COMPOSITES"
> F_07 = "07 - THERMAL & MOISTURE PROTECTION"
> F_08 = "08 - OPENINGS"
> F_09 = "09 - FINISHES"
> F_31 = "31 - EARTHWORK"
> F_MISC = "99 - MISC / REVIEW"
> 
> FOLDERS = [F_ANNOT, F_03, F_04, F_05, F_06, F_07, F_08, F_09, F_31, F_MISC].freeze
> 
> def self.ensure_folder(layers, name)
> existing = layers.folders.find { |f| f.name == name }
> existing || layers.add_folder(name)
> end
> 
> def self.default_tag?(layers, tag)
> default = layers[0] # Untagged
> return true if default && default.valid? && tag == default
> n = tag.name.to_s
> n == "Untagged" || n == "Layer0"
> end
> 
> # ---- Classification rules ----
> # 1) Annotations (always separate, regardless of system)
> def self.annotation_tag?(n)
> return true if n.start_with?("edge_") ||
> n.start_with?("face_") ||
> n.start_with?("FredoSection__")
> 
> return true if n.end_with?("_2d") ||
> n.include?("_dim") || # catches _dim, _dim2, _dim3...
> n.end_with?("_code") ||
> n.end_with?("_eng") ||
> n.end_with?("_hidden") ||
> n.include?("_outline") || # outline / outline2
> n.include?("_symbol") # symbol / symbol2
> false
> end
> 
> # 2) CSI bucket
> def self.csi_bucket_for(n)
> # --- Openings (08) ---
> return F_08 if n.include?("_door") || n.include?("_window") || n.include?("_shutter")
> 
> # --- Finishes (09) ---
> return F_09 if n.include?("_gypsum") ||
> n.include?("_tile") ||
> n.include?("_carpet") ||
> n.include?("_hardwood") ||
> n.include?("_trim") ||
> n.include?("_casing") ||
> n.include?("_soffit")
> 
> # --- Thermal & Moisture Protection (07) ---
> return F_07 if n.include?("_insul") ||
> n.include?("_membrane") ||
> n.include?("_wrap") ||
> n.include?("_underlay")
> 
> # --- Masonry (04) ---
> return F_04 if n.include?("_cmu")
> 
> # --- Concrete (03) ---
> return F_03 if n.include?("_conc") ||
> n.include?("_slab") ||
> n.include?("anchor_bolts") ||
> n.include?("holdowns") ||
> n.include?("_rebar")
> 
> # --- Metals (05) ---
> return F_05 if n.include?("_steeljoist") ||
> n.include?("_column") ||
> n.include?("_beam")
> 
> # --- Wood, Plastics & Composites (06) ---
> # (All typical framing + sheathing + rim/joist/rafter/truss/plates/headers/etc)
> return F_06 if n.include?("_frame") ||
> n.include?("_sheath") ||
> n.include?("_joist") ||
> n.include?("_ijoist") ||
> n.include?("_rim") ||
> n.include?("_rafter") ||
> n.include?("_truss") ||
> n.include?("_plate") ||
> n.include?("_btmplate") ||
> n.include?("_header") ||
> n.include?("_king") ||
> n.include?("_trimmer") ||
> n.include?("_post") ||
> n.include?("_block") ||
> n.include?("_sill") ||
> n.include?("_deck") ||
> n.include?("_coverboard")
> 
> # --- Earthwork (31) ---
> return F_31 if n.include?("fnd_subbase") || n.include?("fnd_drain")
> 
> # --- Hardware that isn't concrete-ish ---
> return F_05 if n == "door_hw" # (arguable, but sane default)
> 
> # --- Catch-all ---
> F_MISC
> end
> 
> def self.target_folder_for(tag_name)
> return nil if tag_name == "Untagged" || tag_name == "Layer0"
> return F_ANNOT if annotation_tag?(tag_name)
> csi_bucket_for(tag_name)
> end
> 
> def self.run
> model = Sketchup.active_model
> layers = model.layers
> 
> unless layers.respond_to?(:add_folder)
> UI.messagebox("Tag Folders require SketchUp 2021+.")
> return false
> end
> 
> model.start_operation("Organize Tags by CSI MasterFormat", true)
> 
> folder_objs = {}
> FOLDERS.each { |fname| folder_objs[fname] = ensure_folder(layers, fname) }
> 
> moved = 0
> skipped_default = 0
> 
> layers.each do |tag|
> next unless tag.valid?
> if default_tag?(layers, tag)
> skipped_default += 1
> next
> end
> 
> name = tag.name.to_s
> bucket = target_folder_for(name)
> next unless bucket
> 
> target = folder_objs[bucket]
> next unless target
> 
> if tag.folder != target
> tag.folder = target
> moved += 1
> end
> end
> 
> model.commit_operation
> UI.messagebox("Done.\nTags moved: #{moved}\nDefault tags skipped: #{skipped_default}")
> true
> rescue => e
> model.abort_operation rescue nil
> UI.messagebox("Failed:\n#{e.class}: #{e.message}\n\n#{e.backtrace&.first}")
> false
> end
> end
> 
> ```

I am realizing that the lable features interact with the names of containers. This is not an editable variable in the Medeek’s Plugins. It can find doors and lable them, but not put any information thats useful on them.

---

<div class="post-metadata">

**Author:** ![Cyentruk](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/cyentruk/32/222012_2.png) [@Cyentruk](https://forums.sketchup.com/u/Cyentruk)\
**Post date:** [February 1, 2026, 8:48am UTC](https://forums.sketchup.com/t/workflow-development-log-5d-plus-fredosection-medeek-bim/344248/4 "2026-02-01T08:48:21Z")

</div>

> [@LinearGraphs](#):
>
> SO far I have organized the Medeek tags into the CSI Master format via Ruby from AI

I already have a ready-to-use solution from **5D+ Auto Tag – Tag to Folder**.

With just **a single click (1)**, the system automatically executes the predefined automation task based on the configured **tag-to-folder mapping rules (2)**.  
The mapping rules can be imported from an Excel file for easier editing, too. (3).

This workflow works in a similar way to the AI-based solution mentioned above, helping users save time and significantly reduce manual operations.

More importantly, all tag settings and mapping configurations can be **synchronized across multiple computers** as long as they point to the same **shared settings file** (4).  
This allows your entire team to work with **one unified system** , ensuring consistency and reliability whenever standardized workflows are required.

 ![winshot_006](https://global.discourse-cdn.com/sketchup/original/3X/e/3/e32c259e4bb7d6ccc207611c74505f183101efcc.jpeg)
