Coder Social home page Coder Social logo

oliveregreen / regular Goto Github PK

View Code? Open in Web Editor NEW
44.0 3.0 8.0 99.58 MB

Open-source data management plugin for Autodesk Revit.

License: GNU General Public License v3.0

C# 98.49% PowerShell 1.51% Batchfile 0.01%
data-management revit-addin bim regular-expressions standards

regular's Introduction

Regular Logo Smaller

License: GPL v3

Summary

Regular is an open-source Revit plugin, designed to help users manage construction data. Our first tool, DataSpec, lets users define flexible format rules for Revit parameter values. Data can then be validated (and, if necessary, corrected) using an intuitive user interface.

 

 

Quick Links

 

The Big Idea

It is widely known that construction technology suffers from a lack of established data standards. Without robust, common data standards it becomes impossible to develop technology that escapes local practice and creates a global impact. To briefly restate the problems we face:

  1. Agreeing on optimal formats for data is hard: opinions are strong and will often differ between companies and sectors that have already invested in establishing their own internal processes.
  2. Validating data created in line with any format specifications is a specialist task that too often falls to those who originally trained as architects, engineers, or project managers - not experienced data managers.
  3. The few standards we have are prone to frequent change. Moving the goalposts mid-way through a project often results in costly and unenjoyable data correction work. The risk of this happening is great enough to deter further standardisation from taking place.

The second and third problems above can be minimised by investing in programming skills. However, for AEC these remain in short supply.

Enter DataSpec, designed to address the three problems above.

  • DataSpec gives users control over establishing data format standards at whatever level is right for them, be it project-specific, company-wide or industry-wide.
  • It provides an intuitive interface for rapid, automatic format validation against these rules.
  • It lets users easily adjust rules and rapidly revalidate against new standards, should these be introduced.

DataSpec makes creating and sharing data standards easy, even for non-technical users.

Regular is an ongoing project. Future tools are currently being developed to help further reduce the cost of AEC data management.

 

How It Works

Behind the scenes, DataSpec uses regular expressions - a technology commonly used by programmers to define rules for validating data that needs to follow a specific format, such as email addresses or phone numbers. Regular expressions (often shortened to 'regex') are an incredibly powerful tool, but one which requires specialist programming knowledge. Even programmers can find them difficult to work with!

DataSpec works by abstracting away the complexities of regex behind an intuitive user interface, which lets non-technical users define rules for their data formats in plain English. Our goal is to 🙌 bring Regular Expressions to Regular Users 🙌.

Data format rules are stored locally in a Revit document using the ExtensibleStorage API. These can be exported and imported between files using the .json file format, allowing for data format standards to be defined for a project, a company or even shared industry-wide. Those wishing to define a universal data format for, say, park benches are encouraged to pick up the mantle.

 

License & Data Safety

  • All data is processed locally on your machine, no external connections are made to anywhere or anything.
  • Regular is available using the highly-permissive GNU Public License v3.0.

Current Limitations

  • DataSpec can only validate text-based parameter values.
  • Conditional logic cannot be applied within rules - only relatively simple format logic can be used.
  • For simplicity's sake, DataSpec uses an intentionally-limited subset of the full regular expression syntax. AEC data formats tend to be relatively simple, so it's better to cover 99% of cases than push for 100%.

Contributing

If you'd like to help contribute to Regular, feel free to raise any issues, create pull requests and/or message me on Twitter.
See our CONTRIBUTING.md file for more details.

Genesis

Regular was started at the Thornton Tomasetti AEC Tech Hackathon 2019 in New York, presented by team ☕ Regular Espressos

regular's People

Contributors

ahmmtools avatar jmcouffin avatar oliveregreen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

regular's Issues

Improvement request: Modeless UI

Hi Oliver,
Here is my request !
Making the UI modeless would help greatly manipulating elements and get their properties and their values. Sometimes you need to check the values format to prepare the rule properly
Thanks

Improvement Idea: Active Enforcement of Rules

Your plugin is a huge step in the right direction, and something Revit should have had natively long ago. Thanks!

Here's my idea, and I'm calling it an idea rather than request because I'm not even sure it's possible. It would be awesome if there was the option to set a rule, and then have it actively enforce the rule as elements/parameters are modified. This would let the rules become proactive rather than reactive, heading off some user error.

It's something I wouldn't even know where to start with coding-wise (pretty much any plugin is beyond my coding ability), but hopefully it's something someone smarter than me can take a pass at (assuming it's even possible in the realm of plugins; I could see this functionality requiring some deep ties into Revit).

issue running

Describe the bug
I get this error everytime I push the create rule button

image

Desktop (please complete the following information):

  • Revit Version [2021 french and english] none worked

Rule Manager 1.0.1 window not opening after installation

Great idea for a tool! Was hoping to give it a good limit test but I got the following error:

Describe the bug
Rule Manager window not opening after installation. Error:

Value cannot be null.
Parameter name: key

To Reproduce
Steps to reproduce the behavior:

  1. Installed Revit 2020 .msi
  2. Accepted addin in Revit to load
  3. Clicked Rule Manager command

Expected behavior
Rule Manager window opening

Screenshots
image

Desktop (please complete the following information):

  • Revit Version [2020.1]
  • Regular DLL Version [e.g. 1.0.1]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.