Skip to content

v1.2.9 — Revit Failures Without Dialogs, IFC Read-Back, Readable Installer

Choose a tag to compare

@Quincy987 Quincy987 released this 13 Oct 15:18
· 94 commits to development since this release

Fixed — a Revit failure dialog no longer hangs every command

  • Seen live during the demo recordings: a command or exec snippet that made Revit post an error
    ("Spot Dimension does not lie on its reference", "One or more Spot Dimension references are no
    longer valid") or a warning in a transaction without a handler ("Highlighted walls overlap" —
    wall already dismissed warnings, so most likely an exec snippet's own transaction) opened
    Revit's modal failure dialog. It was invisible with Revit minimized or driven headless, the
    request timed out after 30 s, every following command timed out too, and the chat turn ended
    with "Revit hangt in een dialoog".
  • VibeModel now handles failures itself while a command runs (RevitFailurePolicy): warnings are
    dismissed and reported (-- revit warning: …). An error whose only failing elements are
    view-specific spot dimensions, dimensions or tags is resolved with Revit's "Delete Element(s)",
    which keeps the change (-- revit resolved: … → deleted 1 annotation: <id> (Spot Elevations)).
    Any other error rolls back and returns ERROR: Revit rolled the change back: <Revit's reason>
    with a Hint: line (join keeps its own refusal report, with that reason in it). When one
    failure forces a rollback, nothing else of that pass is applied. JSON gets an additive revit
    object, also per batch command. This covers VibeModel's own transactions (preprocessor) and
    transactions an exec snippet opens itself (Application.FailuresProcessing, only while a
    command runs — over HTTP or the file-based fallback; your own work in Revit keeps the normal
    dialogs).
  • A transaction Revit rolled back during commit is now an error instead of a success (the commit
    status used to be ignored). Live example: set <wall> "Unconnected Height" 1 reported success while
    Revit silently undid it; it now says Revit rolled the change back: Revit gave no reason ….
  • Any dialog that still opens during a command is logged with its id.
  • A failure Revit keeps re-posting after it was resolved is rolled back after 10 rounds instead of
    looping (FailureLoopGuard); a snippet whose many transactions each resolve a different
    annotation is not mistaken for such a loop.

Fixed — "the IFC has no piles"

  • export ifc reads its own file back. The piles were there: Revit 2023's default IFC class
    table (exportlayers-ifc-IAI.txt) maps Structural Foundations to IfcSlab BASESLAB, so 510 piles
    arrived as slabs and a search for IFCPILE/IFCFOOTING found nothing. The response now lists per
    category how many Revit elements went in and as which IFC class, which model elements in scope are
    missing (with the usual causes: a category mapped to Not Exported, Export to IFC = Don't Export,
    the export phase), and names the foundation mapping with the fix (Export Type to IFC As).

Changed — shorter chat answers

  • Answers ran to 6–8 lines: a closing list of 2–3 next steps (asked for by two older prompt lines)
    and, in nearly every answer, the reminder that the work view is on the existing phase. The rules
    now count notes, warnings and offers in the 5 lines, allow ONE closing offer line (the quick-reply
    chips turn it into buttons), mention the view's phase only when this turn's work is hidden by it,
    and drop the "converted to m" and "one Ctrl+Z" restatements.

Fixed — installer that could not be read ("I ran install.ps1 and see no tab")

  • A colleague downloaded GitHub's Source code (zip) — the only zip on the releases page, since no
    release since v1.2.1 had an add-in zip attached — ran install.ps1, and the window closed on
    the "Cannot find VibeModel.dll" error before it could be read. The installer now stays open at the
    end and after every error, recognizes the source-code zip and names the right download, asks to
    close a running Revit (it keeps the DLL locked), and verifies afterwards that every file is in
    place and unblocked. The API-key prompt says Claude Code users just press Enter, and saving a key
    no longer overwrites the other settings or pins an old model id.
  • scripts/package-release.ps1 builds and packs release/VibeModel-v<version>-Revit<year>.zip
    (add-in, PdfText helper, install.cmd/.ps1, README.txt with the three steps) — the asset every
    release gets from now on. README: download that zip under Assets, double-click install.cmd.

Docs

  • CLAUDE.md: examples for filter, measure, whereused, zoomto, isolate/unisolate,
    hide/show, colorsplash and chatlog (the only commands without one).
  • chatlog gets its step label in both languages; a test now checks every registered command has one.