Trilogy Design IntelligencePMM Tools · User Guide

Trilogy Design IntelligencePMM Tools

User Guide

PMM
Connection

Bridging Revit, SketchUp, and Buildertrend

Version 0.17.1 · Schema v1.0 aligned

Created by Trilogy Partners using Trilogy Build Intelligence.
Boots on the Ground, Eyes on the Sky.

·Contents

Part One — Quick Start
1What PMM Connection Doesp. 4 2Installationp. 5 3Your First Syncp. 6 4Anatomy of a Tagged Elementp. 9
Part Two — Core Workflows
5The PMM Picturep. 12 6Sync IFC Metadata into SKPp. 14 7Tag Design Elementsp. 17 8The PMM Inspectorp. 20 9The Tag Schemep. 22 10Export Reportp. 25
Part Three — Reference
11Menu Referencep. 28 12PMM Schema v1.0p. 29 13Auto-Suggest Patternsp. 33 14Configuration Filesp. 34
Part Four — Practical Notes
15Troubleshootingp. 36 16System Requirements & File Locationsp. 38 17Creditsp. 39

Part One

Quick Start

Get installed, run your first sync, and understand what a PMM-tagged element actually looks like.

1.What PMM Connection Does

PMM Connection is a SketchUp extension that bridges three places construction information lives: a Revit BIM model, a SketchUp design model, and Buildertrend's commercial systems.

A typical project flow at Trilogy:

  1. The architect delivers a Revit-exported SketchUp file (good geometry) and a matching IFC sidecar (rich metadata).
  2. PMM Connection matches each SketchUp element to its IFC twin and writes structured PMM data onto the component.
  3. Designers add and tag everything the architect didn't include — furniture, fixtures, decor, finishes — directly in SketchUp.
  4. PMM Horizon (a separate tool) pushes the model to a Google Sheet linked to Buildertrend.
  5. Buildertrend gets clean cost categories, vendors, and selections from the model itself.

PMM Connection's job is everything in steps 1–3. It never talks to Buildertrend directly.

Audience
This guide is for both Trilogy team designers and external collaborators (architects, builders, BIM coordinators). Internal-only details are flagged when they appear.

2.Installation

You need SketchUp 2021 or newer. The plugin works on macOS and Windows.

Install steps

  1. Extensions → Extension Manager
  2. Click Install Extension… at the bottom-left
  3. Choose pmm_connection.rbz
  4. SketchUp will warn that the extension is not signed by Trimble — click Yes to proceed
  5. Restart SketchUp

After restart, look for Extensions → PMM Connection in the menu bar. On older SketchUp versions this appears as Plugins → PMM Connection.

Updating

To install a newer version:

  1. Extension Manager → find the existing PMM Connection entry
  2. Click Uninstall
  3. Restart SketchUp
  4. Install the new .rbz (steps 1–5 above)
Tagged data is preserved
Tagged data on existing models survives plugin updates. Configuration files (schema, types, tag scheme) are also preserved across updates.

3.Your First Sync

The fastest path to seeing PMM Connection work: open a Revit-exported SketchUp file with its matching IFC, run the Sync, and watch.

What you need

These two files together are the input. The plugin matches SketchUp groups/components to their IFC counterparts and writes metadata onto the SKP.

Run the sync

  1. Open the .skp file in SketchUp
  2. Extensions → PMM Connection → Sync IFC Metadata into SKP… (recommended)
  3. Pick the .ifc file when prompted
  4. A progress dialog appears showing parse progress
  5. When matching finishes, a Review dialog appears showing every SketchUp element with its proposed IFC match
  6. Auto-matched rows (100% confidence — same GlobalId) are pre-checked
  7. Review any uncertain matches near the top of the list
  8. Click Apply Selected Matches at the bottom
  9. A Tag Preview dialog appears showing every tag about to be created (Wall_1, Door_2, etc.) grouped by Division folder. Rename or skip any individual tag, then Apply Tags

What just happened

For each matched element, the plugin wrote about 15 attributes to a single dictionary called PMM:

You can see all of this on any selected element via Window → Entity Info (collapsed) or the PMM Inspector (richer view).

4.Anatomy of a Tagged Element

Open the PMM Inspector (Extensions → PMM Connection → PMM Inspector) and click any group or component in your model. The Inspector shows what's stored on that element, organized into sections that match the PMM Schema v1.0 layers:

Identity (always shown)

Component Type, IFC Class, PMM ID, GlobalId, Storey, Schema Version. Most are auto-managed.

Type-specific fields

Vary by what kind of element this is. For a Wall: Wall Assembly, Fire Rating, Insulation Type, R-Value, etc. For a Door: Door Material, Handing, Hardware Group, Lockset Spec, etc. These are editable.

IFC Property Sets

Read-only mirror of the original IFC Pset data, collapsed by default. Useful for verifying source-of-truth values (like Pset_WallCommon::FireRating).

Commercial

The bottom section, populated by PMM Horizon when the component is pushed to the linked Google Sheet. Shows commercial state: Title, Vendor, Unit Price, Amount, Allowance, Cost Category — all read-only inside Connection.

If a component has never been pushed to Horizon, the Commercial section shows "No data from Horizon yet."

Edits to type-specific fields and workflow state (Status, Project Phase, Review Notes, Quantity, Location) save automatically as you type. The check mark next to each field confirms the save.

Part Two

Core Workflows

The five operations that make up day-to-day PMM Connection use — synced metadata, tagging design elements, and inspection.

5.The PMM Picture

Before walking through the operations one by one, here's the mental model:

Architect's Revit model
        │
        ├── exports SKP ──┐
        │                 │
        └── exports IFC ──┤
                          │
        ┌─────────────────┴─────────────────┐
        │     PMM CONNECTION (here)         │
        │                                   │
        │   1. Sync IFC into SKP            │
        │   2. Tag Design Elements          │
        │   3. Inspector edits              │
        │                                   │
        └─────────────────┬─────────────────┘
                          │
                          ▼
              PMM Horizon (separate tool)
                          │
                          ▼
              Google Sheet (PMM in the Sky)
                          │
                          ▼
                    Buildertrend

Connection is the leftmost stage — getting the model populated with structured data. Horizon takes that data to the Sheet. Other tools handle the Sheet ↔ Buildertrend round-trip.

The currency that flows through all stages is the PMM ID — a UUID stamped onto each component the first time it's tagged. That ID survives every export, push, pull, and round-trip. It's how every system knows that "this Sheet row belongs to this SketchUp component belongs to this Buildertrend line item."

The three tagging operations

There are three different ways elements get PMM data, depending on where they came from:

Where it came fromHow to tag it
Architect's IFCSync IFC Metadata into SKP
Designer-placed in SketchUpTag Design Elements
Already tagged in an old importMigrate Legacy IFC Tags

In a typical luxury residential project all three apply — architects deliver mixed construction + design content, designers add staging and decor on top, and you may inherit older models. The next sections walk through each.

6.Sync IFC Metadata into SKP

The primary workflow. Run this whenever you receive a fresh Revit deliverable.

When to use

How matching works

The matcher uses three tiers of confidence:

  1. GlobalId match (100%) — Revit's exported SketchUp file names instances using IFC GlobalIds (often suffixed with #1, #2 for repeated instances). When the SKP element name and the IFC GlobalId match, the link is certain.
  2. Revit Element ID (100%) — some exports include bracketed IDs like [485302] in the instance name. Same confidence as GlobalId.
  3. Fuzzy fallback — for the remaining elements, score by name similarity and bounding-box position. A confidence number is shown so you can review.

In practice, on a typical Revit deliverable, 90–98% of elements match at 100% via tier 1. The remaining few you eyeball.

Step by step

  1. Pick the IFC file. A standard file picker opens. Navigate to the IFC sidecar.
  2. Watch parsing. A progress bar appears. On a 50 MB IFC (~3,000 products) this takes 30–60 seconds. The dialog stays responsive — no beach balls.
  3. Review matches. The dialog has two sections. The left shows IFC products with their type, GlobalId, and storey. The right shows your SKP elements with their proposed match. Confidence percentages and tier indicator are visible per row. Use the search box to filter, the type filter to narrow by IFCWALL/IFCDOOR/etc.

Three actions per row:

  1. Apply Selected Matches. This writes PMM attributes for each accepted match. Non-tag work happens here in one undo step.
  2. Tag Preview. A second dialog appears showing every tag about to be created. Each row has a folder pill (Shell, Structure, Openings, …) — the Division this Tag will live under, the Tag name as resolved from your Tag Scheme (Wall_1, Door_R, …), an element count for that tag, an editable text input — rename the tag if you want, and a checkbox — uncheck to skip creating this tag (the elements still got PMM data, they just won't be assigned to a SketchUp Tag).

Click Apply Tags when satisfied. This creates folders + tags + assignments in a second undo step.

Two undo steps, not one
Pressing Cmd-Z (or Ctrl-Z) once will undo only the tag creation; pressing it again undoes the metadata write. We split into two steps because you can cancel between them — if you cancel the Tag Preview, your PMM data is still saved.

Replace-existing tags

Before the apply runs, you may be asked whether to replace existing SketchUp Tag assignments. Three options exist for this preference (Edit Tag Scheme): always replace, never replace, ask each time. Default is "ask."

Storey is not always present

If an element has no IFC/Storey attribute, the Tag falls back to just the type (e.g. Wall instead of Wall_1). This matches your "leave it blank, I'll fill in manually" preference.

7.Tag Design Elements

The complement to Sync. After the IFC sync handles construction elements, this handles everything else: furniture, fixtures, lighting, decor — anything the architect placed but didn't include in their IFC export.

When to use

The dialog

Top toolbar:

Each row shows:

Auto-suggest

The plugin matches element names against 60+ patterns:

Name containsSuggested type
pendant, chandelier, sconce, recessedLight Fixture
range, oven, dishwasher, refrigeratorBuilt-in Appliance
cabinet, vanity, cabinetry, millworkCabinet
toilet, sink, tub, shower, faucetPlumbing Fixture
sofa, chair, table, bedFurniture
rug, art, vase, decorDecor
mirror, fireplace, countertop(specific selection types)
wall, floor, roof, ceiling(Shell types)

The full pattern list is in section 13. Auto-suggest fills the dropdown with the suggested type and pre-checks the row. You can override any suggestion via the dropdown, or skip the row entirely by unchecking it.

Bulk operations

A common pattern: filter for "light," bulk-assign to Light Fixture, click Apply to visible. Then filter for "rug," bulk-assign to Rug. Then click Apply to Checked at the bottom.

Apply

Apply to Checked writes PMM attributes, applies schema defaults (so a newly-tagged Wall gets default Fire Rating: None, etc.), and assigns SketchUp Tags via your current Tag Scheme. One undo step.

8.The PMM Inspector

The Inspector is a live, selection-driven attribute editor. It updates as you click around in SketchUp.

Opening

Extensions → PMM Connection → PMM Inspector. The dialog stays open until you close it. You can keep it docked while working in SketchUp.

Single selection

Click any group or component. The Inspector shows that element's PMM data organized into sections (see section 4 — Anatomy of a Tagged Element).

Multi-selection

Select multiple elements. The Inspector shows fields shared across all of them. Where values agree, the value appears. Where values differ, you'll see "— multiple values —" and the field is in a special state.

Editing a field on a multi-selection writes the new value to all selected elements. The first edit in a multi-selection prompts you to confirm "Apply to all 12 selected elements?" Once confirmed for that selection, subsequent edits don't ask again until the selection changes.

Editing

Most fields are direct text inputs or dropdowns. Edits commit when you tab/click away from the field. A green check mark briefly appears to confirm the save.

Read-only fields (PMM ID, GlobalId, Schema Version, Length, Width, Height, Component Name, Instance GUID, all of Commercial) display as plain text without an input. These are auto-managed.

Layer 2 model fields auto-refresh

Every time you open the Inspector or run any PMM operation, these derived fields are refreshed from the live model:

So if you scale or rename a component, the next time you click on it the Inspector updates without needing to retag.

Location autocomplete

The Location field (room/space tag — "Master Bath", "Kitchen") is a free-text input with an autocomplete datalist. Suggestions come from existing Location values used elsewhere in the same model. Helps designers reuse names without retyping or needing a fixed taxonomy.

Commercial section

Read-only display of Layer 3 commercial fields populated by PMM Horizon. Connection never writes these. The header subtitle shows when the component was last pushed to the Sheet (gold text), or "No data from Horizon yet" (muted) if not yet pushed.

9.The Tag Scheme

The Tag Scheme controls how SketchUp Tag names are constructed when PMM Connection creates them.

Edit Tag Scheme dialog

Extensions → PMM Connection → Edit Tag Scheme…

Template

A string with placeholders. Default is {type}_{storey} which produces Wall_1, Door_2, etc. Examples:

TemplateProduces
{type}_{storey}Wall_1, Door_2
{storey}-{type}1-Wall, 2-Door
{type}Wall, Door (storey ignored)
Storey {storey} - {type}Storey 1 - Wall

A live preview at the bottom of the Template card shows a few sample tags using your current model's data.

Storey labels

Auto-extracted labels per storey, with optional user override. The plugin extracts numbers and letter codes from Revit storey names:

Revit storey nameAuto-label
Level 1, 01 - Entry, Floor 11
Level 2, Floor 22
BasementB
Sub-BasementSB
Ground Floor, Main Level, Entry LevelG
MezzanineM
RoofR
Attic, LoftA
PenthousePH
Crawl SpaceCS

If you want an override (e.g. Ground Floor → 1 instead of G), enter your preferred label in the Override column. The override applies to all elements on that storey for all future tagging.

When tagging runs

Division folders

Tag names live inside Tag Folders. The folder is named after the element's Division (Shell, Structure, etc.) — derived from the Types registry. The plugin creates folders on demand and adds new tags to them.

If you've manually moved a tag into a custom folder, the plugin won't move it back. Customization is preserved.

If your SketchUp version doesn't support Tag Folders (pre-2021), tags are created flat. The plugin auto-detects this and falls back gracefully.

Clean Up PMM Tags

This menu item exists for fixing legacy data. It walks every PMM-tagged element and re-applies the current Tag Scheme — useful when:

Clean Up doesn't touch PMM attribute data; it only renames/reassigns SketchUp Tags. After running, open the Tags panel → right-click → Purge Unused to remove the now-empty old tags.

10.Export Report

PDF schedule of PMM data, useful for client meetings, subcontractor handoff, and design reviews.

Two scopes

Both go through the same dialog flow.

Column picker

After picking the scope, a column picker appears. The plugin lists every available PMM attribute, grouped by category (Identity, Schema, Type-specific by IFC class, Psets). Check the columns you want in the report. The picker remembers your last selection.

You can also enter a Project Name at the top of the picker — appears as the report title.

Preview

The preview opens as a styled PDF preview inside SketchUp. The Trilogy header, project name, and full schedule render in a portrait or landscape layout.

Footer buttons:

The Project Name and your column selection are saved to disk, so the next time you open Export Report it pre-fills with your last setup.

Part Three

Reference

Menus, the PMM Schema v1.0 layers, auto-suggest patterns, and where the plugin keeps its configuration.

11.Menu Reference

All items live under Extensions → PMM Connection (or Plugins on older SketchUp).

Menu itemWhat it does
Sync IFC Metadata into SKP…Primary: match SKP elements to IFC, write PMM data, create tags
Import IFC Model (geometry-only)…Standalone IFC importer (use only if no matching SKP exists)
PMM InspectorOpen the live attribute editor
Edit PMM Schema…Customize what attribute fields appear per type
Edit Tag Scheme…Customize tag naming + storey labels + replace preference
Migrate Legacy IFC Tags…Upgrade old IFC-imported elements to PMM v1.0 format
Clean Up PMM Tags…Re-apply current Tag Scheme to all PMM-tagged elements
Tag Design Elements…Bulk-tag designer-placed content (furniture, fixtures, etc.)
Export Report → From SelectionPDF schedule of selected elements
Export Report → Full ModelPDF schedule of all PMM-tagged elements

Right-click context menu

Right-click any group/component in SketchUp:

PMM → Assign Type → [Division] → [Type]

Quick-tag a single element or a multi-selection without going through Tag Design Elements. Always overwrites — assumes you explicitly want this tag. Storey-aware when the element has a Storey attribute.

12.PMM Schema v1.0

PMM Connection conforms to the PMM Attribute Schema v1.0 — the canonical contract that all PMM Tools share.

All PMM attributes live in a single SketchUp dictionary called PMM. The model itself has a separate PMM Model dictionary for whole-file metadata.

Layer 1
Identity & Sync — universal, auto-managed
Layer 2
Model — universal, mixed auto/user
Layer 3
Commercial — Sheet-owned, display only
Layer 4
Type-specific — conditional

Layer 1 — Identity & Sync

Universal. Auto-managed.

FieldOwnerPurpose
PMM IDPlugin (set once)UUID v4. Stable forever.
Buildertrend IDRelaySet by sync tools after first BT push
Sync StatusRelayNot Synced / Pushed / Pulled / Modified / Conflict
Last ModifiedPluginISO timestamp, last edit
Last SyncedRelayISO timestamp, last BT round-trip
Last Pushed to SheetHorizonISO timestamp, last Sheet push
Schema VersionPlugin1.0

Connection writes PMM ID, Last Modified, Schema Version, Sync Status (initialized to Not Synced). Other Layer 1 fields are read-only.

Layer 2 — Model

Universal. Some auto-derived, some user-editable.

FieldOwnerPurpose
Component NamePlugin (auto)SketchUp component definition name
Component TypePlugin (user)Friendly PMM type ("Wall", "Door")
IFC ClassPlugin (auto)IFC class mapping (IFCWALL)
Instance GUIDPlugin (auto)SketchUp's internal entity GUID
LengthPlugin (auto)Bounding box, decimal inches
WidthPlugin (auto)Bounding box, decimal inches
HeightPlugin (auto)Bounding box, decimal inches
QuantityPlugin (user)How many this instance represents (default 1)
LocationPlugin (user)Room/space tag with autocomplete
StoreyPlugin (user)"1", "2", "B", "R", "Crawl", etc.
StatusPlugin (user)Concept / Pending Review / Approved / Revised / Construction / Installed / As-Built
Project PhasePlugin (user)Schematic Design / Design Development / CDs / Bidding / Construction Administration
Review NotesPlugin (user)Free-form designer notes
Auto-refresh on every operation
Component Name, Instance GUID, and bounding-box dimensions auto-refresh on every Inspector open and PMM operation, so they stay in sync with the live model.

Layer 3 — Commercial

Universal. Sheet-owned, Connection displays only.

20 fields populated by PMM Horizon when a component is pushed to the linked Google Sheet. Includes Title, Description, Cost Category, Cost Code, Cost Type, Selection Category, Unit, Unit Price, Amount, Allowance, Vendor, Deadline, Instructions, Selections Notes, Scope of Work, PO Date, PO Notes, Group, Image URL, Notes.

These appear in the Inspector's Commercial section (read-only). They never get edited or written by Connection.

Layer 4 — Type-specific

Conditional. Only present for specific component types.

For walls: Wall Assembly, Interior Finish, Exterior Finish, Fire Rating, STC Rating, Insulation Type, R-Value.

For doors: Door Size, Door Material, Frame Material, Handing, Fire Rated, Finish, Hardware Group, Lockset Spec.

For windows, floors, roofs, cabinets/fixtures/appliances — see the schema editor or the spec document for full lists.

Naming convention

All keys are Title Case With Spaces. Fire Rating, not fire_rating. The exception: legacy compatibility mirrors (Type, IFCClass) are kept alongside the canonical names so older tooling continues to work.

Validation

inst = Sketchup.active_model.selection.first
puts inst.attribute_dictionary('PMM').to_a.sort.map {
  |k, v| "  #{k}: #{v}"
}

Run this in the Ruby Console (Window → Ruby Console) to see every PMM attribute on a selected element.

Visual schema editor

The Edit PMM Schema… menu item opens a visual editor for pmm_schema.json. You can add fields, change defaults, modify enum options, mark fields readonly, and reset to defaults. Changes save immediately to the JSON.

Universal fields apply to every PMM-tagged element; per-type fields only apply when an element is tagged with that type.

13.Auto-Suggest Patterns

The Tag Design Elements dialog uses these regex patterns (case-insensitive) to suggest a PMM type from element/component names. Patterns are evaluated top to bottom; the first match wins.

TypePattern
Plumbing Fixturetoilet | lavatory | sink | bidet | urinal
bath(tub)? | shower | tub
faucet | tap | shower-head
Light Fixturependant | chandelier | sconce | recessed light
ceiling light | wall light | track light
lamp | lantern | lighting | luminaire | fixture
Built-in Appliancerange | cooktop | wall oven | microwave | vent hood
dishwasher | refrigerator | fridge | freezer
wine cooler | washer | dryer | laundry
Cabinetcabinet | vanity | cabinetry | millwork | built-in
Countertopcounter(top)? | island
Mirrormirror | vanity-mirror
Hardwarehardware | knob | pull | hinge
Fireplacefireplace | firebox | mantel
Garage Doorgarage.*door | overhead.*door
Doordoor | doorway | entry | entrance
Skylightskylight | rooflight
Windowwindow | casement | awning | picture-window
Columncolumn | post | pillar
Beambeam | girder | lintel
Joistjoist | rafter
Headerheader
Stairstair | staircase | step
Railingrailing | guardrail | balustrade | handrail
Rampramp
Wallwall
Floorfloor | slab | subfloor
Ceilingceiling
Roofroof | roofing
Foundationfoundation | footing
Trimtrim | baseboard | crown | casing | molding
Panelingpaneling | wainscot | shiplap
Retaining Wallretaining-wall
Deckdeck | patio-deck
Poolpool | spa
Landscapelandscape | plant | tree | shrub
Hardscapehardscape | paver | walkway | patio
HVAC Equipmenthvac | ac-unit | furnace | boiler | air-handler
Ductworkduct | ductwork
Pipingpipe | piping | plumbing-pipe
Electrical Panelelectrical-panel | breaker-panel | sub-panel
Rugrug | carpet
Decorart | painting | sculpture | vase | accessor(y|ies) | decor
Furnituresofa | couch | loveseat | sectional | settee | ottoman | bench
chair | armchair | stool | seat
table | desk | nightstand | console | credenza | dresser
bed | headboard | bedframe | mattress
bookshelf | bookcase | shelf | shelving | storage

14.Configuration Files

The plugin stores settings in three JSON files alongside the Ruby code, in the SketchUp plugins directory:

FileWhat's in itEdit how
pmm_schema.jsonPer-type field definitionsEdit PMM Schema… dialog or hand-edit JSON
pmm_types.jsonFriendly type → IFC class registryHand-edit JSON
pmm_tag_scheme.jsonTemplate + storey overrides + replace preferenceEdit Tag Scheme… dialog

These files are good candidates for sharing across a team:

Schema migration
When Connection v0.17 loads an older pmm_schema.json, it automatically appends any missing v1.0 universal fields without disturbing your customizations. Existing per-type fields are preserved verbatim.

Part Four

Practical Notes

Troubleshooting, file locations, and credits.

15.Troubleshooting

"I don't see the PMM Connection menu after installing"

"macOS shows a beach ball during parsing"

This was a real bug in v0.12.6 and earlier. Versions 0.12.7+ explicitly defer parse work after the progress dialog renders, plus pump events between progress updates. If you still see a beach ball:

"My tags have GUID names like 0$CAhJ5vD9Qv7FNXqwsefA"

Old imports (pre v0.13) created tags from raw element names, which were Revit GlobalIds. Run Clean Up PMM Tags… to re-apply your current Tag Scheme to all PMM-tagged elements. Then Tags panel → right-click → Purge Unused to remove the empty old tags.

"Sync IFC says 'No matches' or matches nothing"

"Tag Design Elements shows GUID-named elements"

Architects sometimes deliver SKPs where instance names are GlobalIds even though the underlying ComponentDefinition has a real name. The dialog now prefers definition name over instance name when picking a primary display, and falls back to material + parent path. If a row still shows (unnamed), use the zoom button to identify the element visually.

"I changed my Tag Scheme but old tags still have the old names"

Tag Scheme changes don't retroactively rename existing tags. Run Clean Up PMM Tags… after changing the scheme to apply the new template to everything that's already tagged.

"The Inspector shows '— multiple values —' for a field"

You have a multi-selection where elements disagree on that field's value. Editing the field will write the same new value to all selected elements (it confirms first on the first edit per selection).

"PDF report is blank or missing data"

Ruby Console for diagnostics

Window → Ruby Console

Useful one-liners:

# What's on the selected element?
sel = Sketchup.active_model.selection.first
puts sel.attribute_dictionary('PMM').to_a.sort.map {
  |k, v| "#{k}: #{v}"
}

# How many PMM-tagged elements are in the model?
n = 0
Sketchup.active_model.entities.each do |ent|
  next unless ent.is_a?(Sketchup::Group) ||
              ent.is_a?(Sketchup::ComponentInstance)
  n += 1 if ent.get_attribute('PMM', 'Component Type', nil)
end
puts "PMM-tagged at root: #{n}"

# Schema version
puts Sketchup.active_model.get_attribute(
  'PMM Model', 'Schema Version', '(none)')

16.System Requirements & File Locations

Requirements

File locations

The plugin installs to SketchUp's per-user plugins directory.

OSPath
macOS~/Library/Application Support/SketchUp 20XX/SketchUp/Plugins/ifc_importer/
Windows%APPDATA%\SketchUp\SketchUp 20XX\SketchUp\Plugins\ifc_importer\

(Replace 20XX with your SketchUp year version.)

Inside that folder:

Why the folder is named ifc_importer
The plugin itself is registered as "PMM Connection" in Extension Manager. The internal folder name ifc_importer is preserved for backwards compatibility — renaming it would orphan saved preferences and break existing installations.

17.Credits

PMM Connection is part of the PMM Tools suite by Trilogy Design Intelligence, a service of Trilogy Partners.

This guide and the plugin both follow the PMM Attribute Schema v1.0 — the canonical contract shared across PMM Connection, PMM Horizon, PMM in the Sky, PMM on the Ground, PMM Compass, PMM Bridge, and PMM Relay.

For schema details, see the PMM Attribute Schema v1.0 specification.

PMM Connection User Guide — version matched to plugin v0.17.1.