IDSedit Documentation

Getting Started

Quick Start Guide

Create your first IDS specification in minutes

Tip
New to IDS? Start by understanding the three key components: Specifications, Applicability, and Requirements. Then build your first spec using the examples below.

Example: Fire Rating for Walls

This common example shows how to require all walls to have a fire rating property.

What you'll create:
  • A specification that applies to all IfcWall elements
  • Requires the FireRating property from Pset_WallCommon
  • Validates that this property exists in your IFC model
1
Add Specification Node

From the Node Palette, drag a "Specification" node to the canvas. Set its Name to "Wall Fire Rating Check".

2
Add Entity Applicability

Drag an "Entity" node and connect it to the Applicability port. Set Name to "IFCWALL".

3
Add Property Requirement

Drag a "Property" node and connect it to the Requirements port. Set PropertySet to "Pset_WallCommon" and BaseName to "FireRating".

Validate & Export

Click "Validate IDS" to check for errors, then "Export IDS" to save your specification.

Key Features

Visual Graph Editor

Drag and drop nodes to build specifications visually without writing XML

7 Facet Types

Entity, Property, Attribute, Classification, Material, PartOf, and Restrictions

Pre-built Templates

15+ ready-to-use templates for common scenarios like fire safety and materials

Real-time Validation

Automatic validation with detailed error messages and fix suggestions

Common Patterns

Classification facets let you specify elements based on their classification codes rather than IFC types.

Example: Uniclass for Doors
1. Add a Classification node to Applicability
2. Set System to "Uniclass 2015"
3. Set Value to "Pr_40_10_36" (doors)

This will match all elements classified with this Uniclass code.

Quick Tips

Tip
Start Simple: Begin with one specification and one requirement. Add complexity gradually as you understand the structure.
Info
Validate Early: Click "Validate IDS" frequently to catch errors before they compound.
Warning
IFC Names: Entity names must match exact IFC class names (e.g., "IFCWALL" not "IfcWall").
Success
Use Templates: Browse the template library for ready-made specifications you can customize.

Quick Start Guide

Welcome to IDSedit! This guide will help you create your first Information Delivery Specification in minutes.

What is IDSedit?

IDSedit is a visual graph-based editor for creating IDS (Information Delivery Specification) files. Instead of writing XML by hand, you can drag and drop nodes to build specifications visually.

Creating Your First Specification

Step 1: Start with a Specification Node

Every IDS document contains one or more Specification nodes. These are the root containers for your requirements.

  1. Look at the left sidebar (Node Palette)
  2. Find the Specification node under "Core Nodes"
  3. Drag it onto the canvas

Step 2: Add Applicability Facets

Applicability defines what elements your specification applies to. For example, "all walls" or "all windows on level 1".

Common applicability facets:

  • Entity: IFC class types (e.g., IfcWall, IfcWindow)
  • Classification: Classification systems (e.g., Uniclass, OmniClass)
  • PartOf: Spatial relationships (e.g., elements in a specific building or storey)

Example: To specify "all walls":

  1. Drag an Entity node onto the canvas
  2. Connect it to the Applicability port of your Specification
  3. Select the Entity node and set "Name" to "IFCWALL"

Step 3: Add Requirement Facets

Requirements define what information those applicable elements must have.

Common requirement facets:

  • Property: Property sets and properties (e.g., FireRating, LoadBearing)
  • Attribute: IFC attributes (e.g., Name, Description)
  • Material: Material specifications
  • Classification: Required classification codes

Example: To require a fire rating property:

  1. Drag a Property node onto the canvas
  2. Connect it to the Requirements port of your Specification
  3. Set "PropertySet" to "Pset_WallCommon"
  4. Set "BaseName" to "FireRating"

Step 4: Add Restrictions (Optional)

Restrictions define specific values that properties or attributes must have.

Example: To require fire rating to be "R60" or "R90":

  1. Drag a Restriction node
  2. Set type to "Enumeration"
  3. Add values: "R60", "R90"
  4. Connect it to the Property node's restriction port

Using Templates

IDSedit comes with pre-built templates for common scenarios:

  1. Click the Templates button in the toolbar
  2. Browse categories: Safety, Structure, Space, Energy, etc.
  3. Click a template to load it onto the canvas
  4. Customize it for your needs

Popular templates:

  • Fire Rating Check: Ensures elements have required fire ratings
  • Structural Material: Specifies required structural materials
  • Space Area Requirements: Checks minimum space areas

Keyboard Shortcuts

  • Ctrl+Z: Undo
  • Ctrl+Shift+Z: Redo
  • Delete: Remove selected nodes/edges

Validating Your IDS

Before exporting, validate your specification:

  1. Click Validate IDS in the toolbar
  2. Review any errors or warnings in the Inspector Panel
  3. Fix issues and re-validate

Common validation issues:

  • Missing required fields (e.g., Specification name)
  • Invalid IFC class names
  • Incorrect property set names

Exporting Your IDS

Once your specification is complete and validated:

  1. Click Export IDS in the toolbar
  2. Your .ids file will be downloaded
  3. Use this file with IFC checking software

You can also:

  • Export Canvas: Save your work as JSON to continue later
  • Import Canvas: Load a previously saved canvas
  • Import IDS: Load an existing .ids file for editing

Next Steps

Tips for Success

  1. Start Simple: Begin with one specification and add complexity gradually
  2. Use Templates: Modify existing templates rather than building from scratch
  3. Validate Often: Check your work frequently to catch errors early
  4. Name Things Clearly: Use descriptive names for specifications
  5. Test with Real Models: Try your IDS files with actual IFC models

Getting Help

If you need assistance: