Beta tester guide

ForgeFab addin help for beta users.

This page is the public help reference for the ForgeFab beta addin. It explains what to install, how to start testing, which panels are ready, and what information to send when something breaks.

Install and update

  1. Close all Revit sessions before installing or updating ForgeFab.
  2. Download and run ForgeFab Beta 1.2.107.
  3. Start Revit 2024, 2025, or 2026 after the installer finishes.
  4. Open a detached test model or a non-production project copy for first validation.
Current beta installer: Download ForgeFab-Beta-Setup-1.2.107.exe (about 59 MB). SHA-256: 42988b2f66ca7c5acc9348828ee57e12918591b9b14db071fd3f656060be9763
Beta builds expire after 30 days. Each beta installer is stamped with its build date and refuses to open the Hub once 30 days have passed. The About page inside the Hub shows the exact expiry date. If your build is expired, sign in and you'll be routed to a "download the latest" message. Reinstall from this page to reset the clock.

What's new since 1.2.4

  • Floor family geometry now actually responds per-instance (1.2.34) — 1.2.33 made Sleeve Diameter an instance parameter but its value was formula-bound to ForgeFab_SleeveDiameter (still type), so the formula always overrode our per-instance writes. ForgeFab_SleeveDiameter is now also instance, geometry driver responds per-instance, and SetParam writes flow through to the sketch dimension.
  • Bundled _Floor family ships with instance-level dim params (1.2.33) — ForgeFab_Sleeve_RD_Floor.rfa now has Sleeve Diameter / Length as instance parameters instead of type. Previously every placed _Floor sleeve shared the same 6" default diameter because the geometry driver was bound at the type level. New bundled .rfa lets each placement size to its own pipe. After install, delete the old loaded ForgeFab_Sleeve_RD_Floor from Project Browser → Families → Generic Models so the auto-loader picks up the new one.
  • Layout points land at the actual target Z, not target + level elevation (1.2.32) — NewFamilyInstance(XYZ, FamilySymbol, Level, …) treats the XYZ.Z component as an OFFSET from the level's ProjectElevation, not an absolute world Z. We were passing the absolute world Z, so points landed at level + Z (e.g., 36' 3" above the sleeve on Level 3). Now we subtract the level's elevation before passing.
  • Slab layout-points override is unconditional now (1.2.31) — 1.2.30's "sleeve.Z + 3"" fix only triggered when the placed family name contained "_Floor". In projects where the _Floor variant isn't loaded, the placer falls back to the wall family and 1.2.30 silently used the old nearest-level math. Slab handler now passes useSleeveZForPoints=true unconditionally so every slab placement gets the right Z regardless of which family ended up being used.
  • Layout points for slab sleeves land 3" above the sleeve, not the level (1.2.30) — PlaceLayoutPointsForSleeves now uses sleeve.LocationPoint.Z + 3" as the Z target for floor-variant sleeves. Wall sleeves keep the level-based math (they sit mid-wall, so the layout person walks on the level floor, not the sleeve elevation). Layout XY now reads from the sleeve's LocationPoint instead of bbox center, which fixes asymmetric / offset families.
  • Slab sleeves no longer underground (1.2.29) — PlaceFloorSleeve now runs three position-correction strategies in sequence: MoveElement, direct LocationPoint.Point set, then a level-swap path that re-pins the family to the level closest to the slab top via Schedule Level / Reference Level + Elevation from Level. Bundled _Floor family is workplane-bound and silently rejects MoveElement on the Z-axis, which was landing instances at the family's authored Z (the project base point) instead of at the slab top.
  • Slab penetrations back on the _Floor family (1.2.28) — 1.2.27's wall-family unification hit Revit's non-suppressible "Can't rotate element into this position" modal Error (wall family's workplane constraint blocks the 90° tilt). Reverted to _Floor-family-first preference (bore already vertical, no rotation needed). Kept the unhosted placement path and the non-destructive position correction — so instances place at the right XYZ and survive even when Revit nudges them slightly.
  • Slab penetrations now mirror the wall placement flow (1.2.27) — single family (ForgeFab_Sleeve_RD / _SQ), placed unhosted at the actual pipe-through-slab crossing XYZ, then tilted 90° around X by RotateSleeveToVertical. The previous face-based + dedicated-_Floor-family path was anchoring every placement at the family's authored insertion point (site-plan origin), landing sleeves outside the building. The new flow uses the same proven path the wall placer has been using for months.
  • Slab penetrations stop silently deleting themselves (1.2.26) — the position-correction routine added in 1.2.24 was deleting every legitimate slab placement because the recheck distance > 0.5 ft branch fired on every floor family (which legitimately anchors its Z to the authored reference plane, not to the requested center.Z). Position correction now runs best-effort: nudge if possible, keep what Revit placed if not. No more "0 placed" on selection / level mode.
  • Slab penetrations now use face-based placement (1.2.25) — PlaceFloorSleeve hosts the sleeve directly on the floor's top face via the Reference overload of NewFamilyInstance. This fixes the default slab flow on bundled ForgeFab_Sleeve_RD_Floor and _SQ_Floor (which were authored origin-at-slab-top and were silently landing at the family's default location through the unhosted overload). Linked-doc floors work too via Reference.CreateLinkReference. Falls back to the legacy unhosted/level-host path for strictly-unhosted families.
  • Hilti CFS-CID placement no longer stacks (1.2.24) — the Hilti family's work-plane constraint was silently ignoring the XYZ passed to NewFamilyInstance, dropping every instance at the level origin. Place Sleeves now reads back the actual location after creation and moves the instance to the intended center; if the family rejects the move, it falls back to the standard ForgeFab round sleeve for that penetration so the user still gets a sleeve.
  • Hilti Fire Sleeve option for round pipes (1.2.23) — new opt-in toggle on the Sleeves panel ("Use Hilti Fire Sleeve for round pipes"). When on, round PIPE penetrations are placed with the bundled Hilti CFS-CID cast-in fire sleeve family instead of the default round ForgeFab sleeve. Ducts and rect sleeves are unaffected. Family auto-loads from the install bundle on first use.
  • Place Sleeves doesn't freeze Revit on commit anymore (1.2.22) — the hidden geometry-cache view introduced in 1.2.19 was shipping with every category visible at Fine LOD, so the post-commit view regen had to re-rasterize the whole model. Cache view now ships with every category hidden + Coarse LOD, so Revit has nothing to draw and the commit is near-instant. Existing cache views from 1.2.19/1.2.20 get migrated to the lighter settings on next placement. A "Finalizing…" progress message also fires right before commit so big runs don't look frozen during the last few seconds.
  • Level-scoped placement actually scopes the WALLS too (1.2.21) — "Place on Level" for wall sleeves, slab penetrations, and rack openings now pre-culls walls / floors by the level's Z-band before the expensive solid-extract pass. Picking "Level 2" on a 10-floor model now feels proportional to "one floor of work" instead of "whole project". Whole-project runs (no level selected) are unchanged.
  • Wall openings actually point through the wall (1.2.18 → 1.2.20) — Place Duct/Pipe Sleeves was silently leaving openings world-aligned on any wall that wasn't parallel to world X (Revit 2025's wall-host overload accepted unhosted Generic Models without orienting them). The rotation now runs on every placement and auto-detects the bundled family's bore axis from its bbox, so floor-authored .rfas don't end up looking like slab penetrations when they're really wall openings.
  • Layout points on each sleeve (Trimble-ready) — new "Drop layout points on each sleeve" toggle on the Sleeves panel. Round sleeves get a center point; rect wall openings get the left/right footprint edges; rect slab openings get all 4 corners. Every point sits 3" above the nearest project Level regardless of where the sleeve itself sits, and carries the same ForgeFab|LpPoint metadata the existing Trimble Field Link / DWG / LandXML exports already understand.
  • No more 3D-view flicker during big Place Sleeves runs — fab-part geometry extraction needs a 3D view as context, and the old code used your visible 3D view (re-rasterized once per fab part). It now uses a dedicated hidden cache view (named ForgeFab_GeometryCache, auto-created) with no view template / section box / crop region, so regeneration is near-instant.
  • Hub splash + Quick Selections — looping intro background with the "Fabricating the Future" tagline, plus a "Quick Selections" panel that remembers the last six panels you opened.
  • Floor sleeves — dedicated ForgeFab_Sleeve_RD_Floor and _SQ_Floor families auto-deploy to %APPDATA% on first launch. Slab Penetrations now lands the sleeve at slab top with the correct vertical bore — no more rotation hack.
  • Login flow actually works — fixed four broken Firebase REST URLs that were 404'ing every sign-in attempt. Refresh tokens now encrypted at rest via Windows DPAPI.
  • Ductwork, Project Standards, Account, Assistant panels are now reachable from the Hub side rail (they had pages but no nav entries).
  • Clash Detect — Structural group now catches slabs, structural walls, roofs, beam systems, embeds, stairs, and ramps (silently missed before). Yellow warning banner surfaces unloaded links and closed worksets. Each clash row reads "host ↔ linked" and the zoom lands the camera directly on the collision (no manual zoom-in needed).
  • About page — now shows the actual installed version, build date, channel, and a recent-versions changelog.
  • License + protection — proprietary LICENSE and NOTICE files ship in the install dir. AI/ML training opt-out is documented in the LICENSE (Section 3) and baked into the DLL's assembly metadata. The installer wizard requires license acceptance.

First run

After Revit opens, ForgeFab loads a ribbon tab and the WebView2 Hub. The startup splash should say Fabricating the Future. If the Hub does not open automatically, use the ForgeFab ribbon button to open it.

Sign inUse the Momentum account you signed up with. ForgeFab opens a browser approval page when the beta login is required.
ThemeThe Hub follows Revit's light or dark mode where supported.
Project copyStart with a safe model copy until your team approves the workflow.
Beta buildSome panels may be visible but disabled. That is expected for tester builds.

Working panels in beta

These are the panels testers should evaluate first. If a panel is not listed here, treat it as internal or not ready unless your beta admin specifically asks you to test it.

PanelUse it forTester note
Project StandardsCode/profile setup, wall clearances, plan-view violation colors.Confirm project name/address/profile values and wall clearance behavior.
Project AnalysisFloor-level plan analysis, linked context, clash categories, ceiling legend.Verify linked model visibility and design-option context on real projects.
Schedule MakerCreate fabrication schedule presets and custom schedules.Check that labels, icons, and fields are readable.
Family BrowserSearch and load curated families from configured folders.Try diffuser, hanger, sleeve, and common support searches.
Hanger SettingsService/type support selection and hanger rule setup.Confirm round support types do not apply to rectangular duct unless intended.
Manual Conduit DrawConduit rack drawing, route and fill, bridge testing.Report impossible bridge cases with screenshots and selected element counts.
Multi-System RoutingParallel fabrication routing across services.Test simple runs first, then multi-turn runs with elbows/couplings.
DuctworkConnected-run highlighting and fabrication transition testing.Check flat-side transition behavior on real fabrication duct parts.
Point LayoutPreview and layout point placement for model context.Confirm level selection, descriptions, and color behavior.
Assembly ManagerClassify and review fabrication assemblies.Use level/elevation view controls to isolate scope.

Recommended testing workflow

  1. Open a copied Revit model and confirm the ForgeFab tab loads without startup errors.
  2. Open the Hub and verify the beta panels are visible.
  3. Run Project Standards first. Save a profile and run one selection check.
  4. Run Project Analysis on one floor. Confirm linked geometry and legends are readable.
  5. Create one schedule from Schedule Maker and confirm it appears in Project Browser.
  6. Search for and load one family in Family Browser.
  7. Test one routing or hanger workflow on a small selected area.
  8. Use Revit Undo after each batch if the result is not what you expected.
Small tests win. A 10-element test is better than a 4,000-element first run. Build confidence with small scopes, then expand.

Troubleshooting

ForgeFab does not load

  • Close Revit, reinstall the current beta package, and reopen Revit.
  • Confirm your Revit version is supported by the beta package.
  • Send a screenshot of the Revit external application error if one appears.

The Hub opens but a panel is disabled

That usually means the workflow is not enabled for beta testers yet. Internal development builds may expose more panels than the beta release.

A routing command disconnects elements

  • Stop and save a screenshot before undoing.
  • Send the selected services, sizes, number of rows, and direction sequence, for example: right, up, right.
  • Include the exact Revit warning text when possible.

A family keeps loading repeatedly

Report the panel name, family name, Revit version, and whether the family is already loaded in the project.

Report feedback

Send feedback and screenshots to info@virtubuildr.com. The best reports include:

  • Revit version and ForgeFab beta installer date.
  • Project type and whether the model has linked files or design options.
  • The exact panel and button used.
  • What you selected before clicking the button.
  • Expected result, actual result, and any warning/error text.
  • Screenshot or short screen recording when the problem is visual.

Beta boundaries

The beta release is intentionally limited. The development addin may contain additional tools, but beta testers should not depend on them until they appear on this help page.

Currently not part of public beta validation: Equipment Headers, Spool, Export to Beacon, Parts Mapper, Fab Tags, Beacon, and model upload/export workflows. These may appear disabled or unavailable in beta builds.