Revit. Parameterization. Copy rules, reference element parameters, InRebarSystem strategy and other changes
We present you an update of the plugin Parametrization, which added very important and useful changes.
First, let's talk briefly about the new features, which are clear even without a description:
- added the ability to delete all strategies in the configuration
- added the ability to copy/paste rules via the clipboard. And the answer right away is - yes! You can copy/paste rules between different strategies!
- added InRebarSystem strategy, which allows you to process rebars that are in rebar systems. The rebar systems include Area Reinforcement and Path Reinforcement.
And now more about important and interesting changes:
Added the ability to take the value of a reference element parameter
Let us explain at once on an example: let's create a project by a standard template and place in it one wall. We already have levels in the project. If we select a level, we can see that it has parameters:
And we know that our created wall is attached to this level through Base Constraint:
The value of the Base Constraint parameter is a reference to another element of the model, in our case it is the Level element. To get the level parameter, you just have to specify the wall parameter referencing the level and the level parameter by separating them with a vertical line. Like this:
After running this formula, you will get the result:
Improved curly brace processing pattern
If you wrote a formula with several curly brackets before update:
the result was not correct. In the new version, we have improved braces handling and now everything will be processed correctly
Changed algorithm for checking arguments by "Equal", "Not equal" conditions
Let's take the "L01=N01" condition as an example. Before update we had this logic: two arguments are compared as strings. If arguments as strings are not equal, the plugin tries to get numbers from them and compare them already. In this example we ended up with "1=1", which isn't really true. So what we've done is that the plugin tries to compare arguments as numbers only if one of the arguments is exactly a number. That is, the condition "L01=N01" will now return "not equal" and the condition "L01=1" will return "equal".
Rounding integer format in the ROUND function
Before the update you could use the number of decimal places (if you specify an integer) and rounding format (if you specify a fractional number) as second arguments of the ROUND function, but you cannot specify rounding format for integers. In the new version, you can now specify the rounding format for integers using the preceding "!" sign. For example, you have a parameter "P1" with a value of 343. If you write "ROUND($[P1], !50)" in the formula, the result will be 350
Improved algorithm for processing conditional function arguments
One of the most important changes, which we will try to describe by the example of one user's error. A user had a formula with the following condition: "LSTR($[Level],6)=B01" and level name was "L01 (-0.000)". As a result, we got the following - when the first 6 characters were taken, the value was "L01 (-". Next, the plugin tried to work with the "L01 (-=B01" string, but since the string included the hyphen character and the parentheses, all the algorithms were broken, because they are control characters. In the new version, we redesigned the algorithms for formula handling so that such cases would not happen anymore!
And finally, let us remind you that most of the fixes and improvements are due to active feedback from our users! So, if you have any comments or suggestions, please write to our support chat.
Enjoy your work with ModPlus!