RES-005|Technical Workflow|2025.08.15

Automating Red/Black Separation Checks in Revit (Dynamo)

SIZE: 4.5 MBSTATUS: Public

Automating Red/Black Separation Checks in Revit using Dynamo

Abstract

In secure facility design (SCIFs), the "Red/Black" separation requirement is paramount. Classified (Red) cabling must maintain a specific physical distance—often 1 meter or more—from unclassified (Black) cabling to prevent electromagnetic induction and data leakage. Manually verifying these clearances in complex BIM models is error-prone and tedious. This tutorial outlines a workflow to automate proximity detection using Dynamo for Revit.

1. The Problem: Clash vs. Clearance

Standard Revit "Interference Check" tools detect collisions (geometry touching geometry). They do not natively detect proximity violations (geometry A is within X mm of geometry B).

  • Scenario: A Red conduit runs parallel to a Black cable tray at a distance of 150mm.
  • Revit Default: No error (they don't touch).
  • Security Standard: Critical Fail (Minimum separation is 1000mm).

2. The Solution: Dynamo Scripting

We will build a Dynamo script that identifies these violations.

2.1 Inputs and Filtering

  1. Select Elements: Use Element Types to select all Conduits and Cable Trays.
  2. Filter by System: Use Element.GetParameterValueByName to filter elements.
    • Parameter: "Comments" or "Service Type"
    • Value A: "RED" (Classified)
    • Value B: "BLACK" (Unclassified)

2.2 Geometry Extraction

  1. Solids: Extract Element.Solids for both lists.
  2. Curves: For faster processing, extract the centerline curves (Element.Curves) instead of full 3D solids. This approximates the path.

2.3 Distance Logic

  1. Cross Product: Compare every Red curve against every Black curve. This is computationally heavy (N×MN \times M), so limit selection to a specific room or zone if the model is large.
  2. Geometry.DistanceTo: Calculate the shortest distance between Curve A (Red) and Curve B (Black).
  3. Boolean Mask: Create a filter: Distance < 1000mm (or your project specific requirement).

2.4 Visualization (The Output)

If a violation is found:

  1. Create Sphere: Generate a transient Dynamo sphere at the point of proximity to visualize the error.
  2. Mark Element: Write to a parameter in the Revit element (e.g., "QC_Status" = "VIOLATION").
  3. Override Graphics: Automatically color the offending conduits Red and Orange in the active view.

3. Workflow Optimization

To handle large models:

  • Bounding Box Filter: Only check Black elements whose Bounding Box intersects the Red element's Bounding Box (plus the clearance buffer). This drastically reduces the number of precise geometry calculations needed.

4. Conclusion

By shifting from manual visual inspection to algorithmic rule checking, we reduce the risk of installation rework. A script that takes 30 seconds to run can save weeks of coordination time and ensure 100% compliance with TEMPEST standards.

END_OF_FILE
RUXANDRA.BF // ARCHIVE