thatopen-impl-measurements

Configure length, area, volume, and angle measurements in a ThatOpen BIM viewer.

17|1|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/Impertio-Studio/ThatOpen-Claude-Skill-Package --skill thatopen-impl-measurements-impertio-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: thatopen-impl-measurements
Source: https://github.com/Impertio-Studio/ThatOpen-Claude-Skill-Package/tree/main/skills/source/thatopen-impl/thatopen-impl-measurements
Command: npx skills add https://github.com/Impertio-Studio/ThatOpen-Claude-Skill-Package --skill thatopen-impl-measurements-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents common measurement setup mistakes in a ThatOpen BIM viewer, such as missing world references, missing snapping configuration, and incorrect measurement lifecycle handling that can leave preview elements behind or produce inconsistent results.

Core Features & Use Cases

  • Distance, Area, Volume, and Angle measurements: Configure and run LengthMeasurement, AreaMeasurement, VolumeMeasurement, and AngleMeasurement with consistent interaction behavior.
  • Snapping and units guardrails: Apply snapping (LINE/POINT/FACE), control snapDistance and pickerSize, and select correct units and rounding for each measurement type.
  • Safe lifecycle management: Follow create/end/cancel/delete workflows, including the rules that avoid leaking preview state or conflicting pointer interactions.
  • Events and state synchronization: Use onStateChanged/onEnabledChange/onVisibilityChange and listen for onPreviewInitialized (volume) to drive UI.

Quick Start

Use this Skill to enable length/area/volume/angle measurement in your ThatOpen viewer with snapping, units, and correct lifecycle calls so measurements finalize cleanly.

Frequently Asked Questions about thatopen-impl-measurements

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add measurement tools to a ThatOpen BIM viewer without causing lifecycle bugs?

To add measurement tools to a ThatOpen BIM viewer without lifecycle bugs, configure LengthMeasurement, AreaMeasurement, VolumeMeasurement, and AngleMeasurement interactions while enforcing world assignment and safe create/end/cancel/delete workflows to prevent preview element leaks.

What is the best way to configure snapping for distance and area measurements in web-ifc?

Configuring snapping for distance and area measurements in web-ifc requires applying LINE, POINT, or FACE snapping modes and adjusting snapDistance and pickerSize parameters. This prevents missing-precision errors and ensures accurate picking during polygon area and distance calculations.

Why does my BIM viewer leave preview elements behind after canceling a volume measurement?

A BIM viewer leaves preview elements behind after canceling a volume measurement due to incorrect lifecycle handling. You must follow safe create/end/cancel/delete workflows and listen for the onPreviewInitialized event to properly manage and clear preview state.

Do I need to assign a world reference before enabling angle measurements in a ThatOpen viewer?

Yes, you must assign a required world reference before enabling angle measurements in a ThatOpen viewer. Enforcing this world assignment prior to enabling the three-point angle measurement interaction ensures correct spatial calculations and prevents inconsistent measurement results.

Can I synchronize measurement UI state using onStateChanged and onVisibilityChange events?

Yes, you can synchronize measurement UI state using onStateChanged, onEnabledChange, and onVisibilityChange events. These events drive UI updates and ensure state synchronization across distance, area, volume, and angle measurement interactions within the BIM viewer.

How do I handle correct unit rounding for face-selected volume measurements?

To handle correct unit rounding for face-selected volume measurements, you must select the appropriate measurement units and apply correct rounding configurations. This ensures consistent formatting and accurate volume calculations when interacting with mapped face geometries.