Skip to content

pyRevit v4.7-beta2

Pre-release
Pre-release
Compare
Choose a tag to compare
@eirannejad eirannejad released this 08 Sep 02:09

New pyRevit Home

Breaking Changes

  • C# bundles are NOT compiled at runtime anymore. See new C# scripts under New Features.
  • New execution model and many internal core and pyRevitLabs changes/refactoring/simplifications. Does not affect your codes unless you are reaching into pyRevit or pyRevitLabs internals. You shouldn't need to in general.
  • Revised revit.activeview to revit.active_view (FYI underlying HOST_APP.activeview is also changed to HOST_APP.active_view)
  • Revised pick_message argument on revit.pick_*() methods to message for consistency
  • Anything named "Usage Logging" is now renamed to "Telemetry". New server is provided. See New Features
  • .stack2 and .stack3 bundles are now combined into single .stack bundle. Rename your stack bundle types to use .stack
  • Creating .linkbutton bundles using __assembly__ and __commandclass__ is deprecated. See pyRevit Bundles
  • _layout files are deprecated. See Bundle Metadata
  • zerodoc context renamed to zero-doc
  • Command unique id formatting has changed. See the tooltips on commands for the unique ids (Looks similar to pyrevitcore-pyrevit-pyrevit-tools-spy-getsyspath)
  • Removed Revit < 2016 from supported Revits list. Any development on older Revits will be contributer driven based on usage.
  • Removed pyrevit init command

New Features

  • pyRevit Telemetry: Advanced pyRevit and Revit usage tracking for your organizations. See Telemetry System
  • pyRevit Telemetry Server: Telemetry server that listens for telemetry data from all pyRevit users in your organization. Supports Supports many SQL and Document database types. See See Telemetry System for how to get it set up.
  • New execution model to support more bundle languages
  • pyRevit Hooks: pyRevit event handling script for your own extensions. Supports python, csharp, and visual basic script. See Extension Hooks
  • New bundle.yaml bundle metadata file can provide information about the script.
  • C# bundles are now executed like a python script. A new fresh copy of the C# code is run at every execution. This means that you can make changes to the code while Revit is running and keep re-executing the code. Just like python scripts. Scripts now have access to pyRevit script information e.g. path, bundle name, ... See Create Your First .NET Command
  • Tab Colorizer by Revit model or family. See Colorize Revit Tabs
  • New bundle type .invokebutton See pyRevit Bundles
  • New bundle type .content See pyRevit Bundles
  • New bundle type .urlbutton: URL Button bundle type for opening hyperlinks without writing code. See pyRevit Bundles
  • Visual Basic buttons (script.vb): Runs live, similar to C# scripts
  • Ruby buttons (script.rb): Scaffolding is ready. The executor will be developed when someone cares about this dying languages; hahahaaa
  • Grasshopper buttons (script.gh): pyRevit can now request Rhino.Inside to rub the grasshopper scripts inside pyRevit bundles. See Rhino.Inside project. Place a script.gh or script.ghx inside a pyRevit bundle, and pyRevit will ask Rhino.Inside to run that for you. Very similar to how DynamoBIM bundles work.
  • More versatile context detection model for all bundle tools. See Bundle Context
  • New ReNumber tool. Currently works on spatial elements (e.g. rooms and areas), and doors, walls, windows.
  • __authors__ and __author__ metadata variables in python scripts can be used interchangably now. Both accept a single string value e.g. __authors__ = "Me" or list of strings e.g. __authors__ = ["Me", "Her", "Him"]
  • New Show Linked File tool: Opens explorer and points to the selected linked file in Revit
  • New Save Families tool: Selectively save families. Kudos to Alex Melnikov
  • New Keep Mirrored tool: Kudos to Alex Melnikov
  • New Select Tompost Group tool: Kudos to Alex Melnikov
  • Script logger (logger = script.get_logger() now has deprecate() and success() levels. See Python Script Facilities
  • Commands now have access to their button through EXEC_PARAMS.command_uibutton
  • Started work on translating pyRevit. See pyRevit Language in Configure pyRevit and Help Translate pyRevit

New Features (beta only. Subject to change)

  • __persistentengine__ now allows a script to keep the engine in memory after execution. This is a necessary setting for scripts that deal with non-modal windows

Misc

  • Resolved issues #644 #646 #649
  • Updated rsparam to 0.1.14
  • Updated charts.js to 2.8
  • Fixed batch import patterns bundle name
  • Added forms.select_schedules
  • Resolved issue with applying image and video tooltips to items under a stack in GUI