Revit MEP Forum
Welcome to Autodesk’s Revit MEP Forums. Share your knowledge, ask questions, and explore popular Revit MEP topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Disappointed in weak formulatic power offered by Revit

15 REPLIES 15
SOLVED
Reply
Message 1 of 16
MuirEng
953 Views, 15 Replies

Disappointed in weak formulatic power offered by Revit

Hi,

I'm trying not to write a rant here, but this weekend I attempted to replicate some custom features I have built into my AutoCAD MEP schedules, and I must say that I am shocked and disappointed by how lousy the formula environment is in Revit compared to what is offered by AutoCAD MEP. At least the latter tool is very powerful in the formula department, if a bit clumsy to use. I could make it do what I wanted, eventually.

 

Immediate comments and questions I have after about an hour of trying (unsuccessfully) to program a couple of pretty simple formulas include:

- Whats up with this little one line window where the formula goes? Where is the big multiline window? It looks like we are supposed to build formulas in a text editor and then copy then into the formula field of the schedule column... try it out, edit and copy again? Yuck!

- There is no library of VBS Script like functions, methods, constants such as appears in the AMEP formula editing screen, I guess because not of that stuff is supported by the code.

- There is no calculated output preview?

- No conditional tests on string values.

- No string manipulation, as far as I can tell. Revit can't even combine two strings values together?

(It must be a joke. Someone is playing a joke on me! No one would sell BIM software for $6,000 per seat that can't add strings together!)

 

I am surprised to see complaints about this dating back to 2010 and clearly nothing has improved. I am guessing the community has just decided to live with the status quo? Perhaps it is time to bring attention to this? 

 

If you agree please reply and perhaps this post can serve to bring attention to what I see as a bit weak spot in what is otherwise a pretty impressive piece of software.

 

 

 

 

 

Brian Muir, P.Eng, Muir Engineering
__________________________________________
Please vote up these ideas
Declutter Family Browser,
Electrical Panel Name Handling,
Dedicated Sub Forum For Electrical
Thanks!
15 REPLIES 15
Message 2 of 16
L.Maas
in reply to: MuirEng

Yep..as you already noted..requests have been long going on for better schedules. Formulas are limited, string operations are non-existent.

 

For several cases I now use DYNAMO. It is open source and is a way to use a visual programming language (underlying python) to tap into, amongst others, the Revit API. It is in continuous development. You can control a lot of the Revit environment and suddenly formulas, string operations etcetera are all possible.

 

 

 

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

Message 3 of 16
CoreyDaun
in reply to: MuirEng


MuirEng wrote:

"- Whats up with this little one line window where the formula goes? Where is the big multiline window? It looks like we are supposed to build formulas in a text editor and then copy then into the formula field of the schedule column... try it out, edit and copy again? Yuck!"


I fully agree. It is nearly impossible to manage very large formulas in the single line space. Typically, I use Notepad to edit and then copy/paste back into Revit. I've also used Excel a good number of times; in which I've created formulas (in Excel) to compile massive Revit formulas, which I then copy/paste (selecting the cell) into Notepad and then into Revit. ~shaking head~

 


MuirEng wrote:

"- There is no library of VBS Script like functions, methods, constants such as appears in the AMEP formula editing screen, I guess because not of that stuff is supported by the code."


The formulaic capabilities are essentially Stone-Age, relative to pretty much anything else available nowadays. There have been very small advances (such as the addition of the Round function), but there is still a very long way to go.

 


MuirEng wrote:

"- There is no calculated output preview?"


Nope. You just enter the formula as see what happens, then go back and fix what needs fixing. This is kind of on the topic, but one of the little flaws I find pretty annoying is that if you open the Family Type dialog and enter a new conditional formula in which the initial result is blank or null ("") and hit 'OK', the formula is deleted. As a quick example, open any Family and create a new Text Parameter and enter the formula if(1=1,"","X") and hit 'OK'. Open Family Types again and it's gone. (last tested in Revit 2014).

 


MuirEng wrote:

"- No conditional tests on string values."


This has caused much pain and confusion among ambitious Revit users everywhere. Some unnecessarily complex work-arounds are needed to combat this, but this often is the sole reason some otherwise brilliant method won't work.

 


MuirEng wrote:

"- No string manipulation, as far as I can tell. Revit can't even combine two strings values together?

(It must be a joke. Someone is playing a joke on me! No one would sell BIM software for $6,000 per seat that can't add strings together!)"


1,000% agree. Take a look at my attachment in this post in a thread in the [archived] Revit MEP Wishes board. This is one of my (if not "the") top wishes in Revit. Compiling model/catalog numbers is and incredibly arduous and complex task with this ability.

 

 

 

I always encourage users to provide their feedback using the following link, which is frequently supplied by Autodesk personnel, here.



Autodesk Product Support

The following link is setup for you to submit feature requests, or feedback, directly to our Development group:

http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=1109794


Corey D.                                                                                                                  ADSK_Logo_EE_2013.png    AutoCAD 2014 User  Revit 2014 User
──────────────────────────────────────────────────────────────────────
⁞|⁞ Please use Mark Solutions!.Accept as Solution and Give Kudos!Give Kudos as appropriate to further enhance these forums. Thank you!
Message 4 of 16
MuirEng
in reply to: CoreyDaun

thanks for the replies. I'd like to see more users jump on this thread. This is not an MEP exclusive complaint... maybe this should be moved over to the vanilla revit board? Or, should I post over there alerting users about this opportunity to stand (well, type, probably from a chair really) up and be counted.

Or, has this been beaten to death, and apathy rules?

 

 

 

 

Brian Muir, P.Eng, Muir Engineering
__________________________________________
Please vote up these ideas
Declutter Family Browser,
Electrical Panel Name Handling,
Dedicated Sub Forum For Electrical
Thanks!
Message 5 of 16
MuirEng
in reply to: MuirEng

so I just got an automated reply from AutoDesk customer support:

 

We noticed that your forum topic Disappointed in weak formulatic power offered by Revit (Click to review) does not have any Replies marked as an Accepted Solution.

Do you need further assistance to resolve your question/issue? (Click on the appropriate answer below)

  • Yes- I still need help to resolve this issue.
  • No- This issue is already solved. Please click here mark the appropriate Reply as an Accepted Solution in the Forum. This helps everyone find questions with answers more quickly!
  • No- This issue does not need resolution.


Best regards
Lithium User
Autodesk Support Team

 

WHAT???

I clicked yes about ten times.

 

 

 

Brian Muir, P.Eng, Muir Engineering
__________________________________________
Please vote up these ideas
Declutter Family Browser,
Electrical Panel Name Handling,
Dedicated Sub Forum For Electrical
Thanks!
Message 6 of 16
chrisplyler
in reply to: MuirEng

Wow the "Yes" link works in your post too. I'm clicking it several times.

 

Message 7 of 16
MuirEng
in reply to: chrisplyler

feels good, doesn't it?

Brian Muir, P.Eng, Muir Engineering
__________________________________________
Please vote up these ideas
Declutter Family Browser,
Electrical Panel Name Handling,
Dedicated Sub Forum For Electrical
Thanks!
Message 8 of 16
sasha.crotty
in reply to: MuirEng

Hi everyone,

 

Thanks for the feedback. In order to better understand how we can improve formulas it would be really helpful to get some specific cases of what you're trying to achieve and which missing functionality is the most critical to get your work done. 

 

Please provide examples of:

  • missing functions
  • missing constants
  • conditional tests
  • string formatting

From the thread referenced by Corey I see the following requests for string formatting:

  • CONCATENATE
  • CHOOSE
  • SUBSTITUTE
  • CONTAINS

How would you rank these relative to each other (I think I already know #1).

 

If you had to pick either improvements to formula capabilities or a better formula editing environment, which one would you choose?

 

Thanks in advance for your consideration and feedback. This kind of information is invaluable it the Revit team.

 

Thanks,

Sasha

Sasha Crotty
Director, AEC Design Data

Message 9 of 16
chrisplyler
in reply to: sasha.crotty

Sasha, thank-you for replying to this thread.

 

I'm not a huge user of fomulas yet, so I cannot tell you what order I would prefer you develop Revit in this regard. But I can tell you the following:

 

Nobody is going to complain if you improved formula capability in some small way. But they are going to complain that you improved it ONLY in a small way. Open up Microsoft Excell, go into the help files, and look at all the funtions available. As I become better with your product, I don't want to run into limitations that thwart my ideas.

 

Surely you are aware of the pervasive sentiment that Autodesk just sits on its thumbs with regard to Revit development year after year. If you just add a couple of functions, you will be reinforcing that sentiment. As BIM works its way toward dominance, don't you want to be and remain the king?

Message 10 of 16
L.Maas
in reply to: sasha.crotty

Sasha,

 

Hereunder a typical example.

Strings.png

 

You see a reference to  a drawing no. Each of the text betweeen the dashes has a special meaning. So in this case it would be nice to do string manipulations to get a shorter text in the section head.

Further it will be nice to do string manipulations to get a part of the drawing lets say the 3rd block (ARC). Following this you could to a if-then-else with this string.

Of course with a slightly different workflow you can also imagine to have to do it the other way around and generate the drawing number from the separate blocks.

 

 

As Cadastrophe already mentioned other string manipulations like contains and substitute will come in handy too.

 

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

Message 11 of 16
MuirEng
in reply to: L.Maas

Thank you Sasha,

It is good so see some "official" response from AutoDesk. I hope I am speaking for our user community at large when I say that, while it may seem like we are complaining endlessly, we do see much that is great within Revit. I am a relatively new user, and this is the area of Revit where I see the most unfulfilled potential.

 

One thing that strikes me immediately is that your question focuses on what specific functions that we might desire. Please absorb the group consensus that the entire ENVIRONMENT for entering, editing and testing formulae is very primitive. This applies to forumulas in parameters and calculated schedule columns.

 

I expect that the best way to win the community over is to provide a strong environment (including some form of tracing/debugging) that supports a subset of a scripting language such as VBScript with a set of Excel like functions.

 

Coincidentally, your company owns a chunk of code that does exactly this!

 

Why don't you down the hall to the AutoCAD MEP team (or guy?) and have them show you the forumula tools.

But please don't copy the user interface! Revit deserves something better.

 

To directly respond to your question

I have used formulas in AutoCAD MEP (and would like to do the same in Revit) to

- in a schedule, instead of reporting a null value on a text parameter report instead some text string  ("N/A" typically)

- convert to string and concatenate voltage, poles, frequency, and the "/" character to produce one column ("240/3/60") 

 

 

In Revit I would like to schedule a column to

- display a custom part number if that field is populated

- display the stock family catalog number if that field is populated

- otherwise display the type name

 

(I am hoping that with better string comparison and manipulation I can write "code" that is smart enough to schedule across inconsistent family files, and which will in turn help me avoid recreating all external content)

 

are these examples helpful?

 

 

 

 

Brian Muir, P.Eng, Muir Engineering
__________________________________________
Please vote up these ideas
Declutter Family Browser,
Electrical Panel Name Handling,
Dedicated Sub Forum For Electrical
Thanks!
Message 12 of 16
SteveKStafford
in reply to: L.Maas

That example is also inextricably linked to how Revit keeps track of view/sheet relationships. Merely making it possible to concatenate strings won't solve that particular problem by itself. They'd also have to redesign how views and sheets are "connected" to each other.

My other older self here: http://forums.autodesk.com/t5/user/viewprofilepage/user-id/46056
Message 13 of 16
CoreyDaun
in reply to: sasha.crotty


sasha.crotty wrote:

"Please provide examples of:

  • missing functions
  • missing constants
  • conditional tests
  • string formatting
<...snip...>

How would you rank these relative to each other (I think I already know #1).

 

If you had to pick either improvements to formula capabilities or a better formula editing environment, which one would you choose?"

(see my #4 for my response to this question)


#1. CONCATENATE Function

This has caused me the most headaches. What should be a simple formula to compile something like a catalog number (options determine portions of the string) turns into a massive list of nested IF/THEN functions, which ends up being a dozen levels deep. Another example is my feeder wire calculation (which takes into account several factors that Revit does not, but that's a serparate issue). The more complex formulas end up thousands of characters long, one of which is in the neighborhood of 15,000.

 

#2. Make Text Available in Conditional Statements

This is a very close #2, and this problem has stumped many Revit users. One of the core problems with this doesn't lie in the Family Editor, where one can usually find a long-winded work-around. The major limitation I find with this lies in Calculated Values. There have been MANY times that my devious plans have been foiled by this limitation. As one example, I had a need to create a Calculated Value based on a device's Electrical Circuit Number. Since that value is Text, this door is closed tightly, unless I want to resort to manually entering Circuit Numbers as a Project Parameter.

 

#3. Convert Data Types

This is a simple one. I want to have functions (i.e. TEXT, VALUE) that are able to convert text string to number values and vice versa. There are often times (commonly in equipment schedules) where one would have both numeric and text values in the same field. If this were implemented, I feel the addition of the IFERROR function would be warranted.

 

#4. Improve the Editing Environment

This is low on my list, because what is the point of improving, say a ratchet's handle when the ratchet lacks the appropriate heads to do the job? It is, nevertheless, important. I often have some pretty large formulas (especially as noted in my #1 above), and being limited to the tiny, single-line space that is currently available makes it near impossible to edit. I almost always perform all authoring and editing of formulas in Note Pad. Perhaps if there was a small button that one could click to expand into a separate, multi-line, re-sizable formula editing dialog, that would be suitable.

 

#5. Additional String Manipulation Functions

At the bottom of my list would be finer string manipulation, which would include the functions: SUBSTITUTE and LEFT/RIGHT. I don't think I'd use anything but that.

Corey D.                                                                                                                  ADSK_Logo_EE_2013.png    AutoCAD 2014 User  Revit 2014 User
──────────────────────────────────────────────────────────────────────
⁞|⁞ Please use Mark Solutions!.Accept as Solution and Give Kudos!Give Kudos as appropriate to further enhance these forums. Thank you!
Message 14 of 16
MuirEng
in reply to: CoreyDaun

I like CADastrophe's post but it why is this accepted as a solution to the thread?

The solution is an overhaul to the formula engine!

 

Hey Sasha, how about an update... are there any development plans in this regard? My renewal is coming due and I'm tempted just to pass on it given the lethargic pace of development that actually improves my work outcome.

 

 

Brian Muir, P.Eng, Muir Engineering
__________________________________________
Please vote up these ideas
Declutter Family Browser,
Electrical Panel Name Handling,
Dedicated Sub Forum For Electrical
Thanks!
Message 15 of 16
sasha.crotty
in reply to: MuirEng

@MuirEng, If you haven't seen them yet, check out Revit Ideas and the Public Revit Roadmap. The short answer is although these requests are not currently on the roadmap, you can influence our direction by voting up ideas in Revit ideas.

 

To make it easy, here are the Revit ideas associated with each request above:

1. Concatenate - http://forums.autodesk.com/t5/revit-ideas/concatenation-of-parameters-within-families/idi-p/6339606

2. Text in Conditional Statements - http://forums.autodesk.com/t5/revit-ideas/allow-text-in-formulas/idi-p/6322082 (currently under review by the Factory)

3. Convert data types - I don't see this filed

4. Formula Editor - Surprisingly, I wasn't able to find this

5. Additional string manipulation - I was also not able to find this on either

 

I suggest voting on the existing ones and filing the rest. If I missed an existing idea please let me know and I'll update this post.

 

Thanks,

Sasha

Sasha Crotty
Director, AEC Design Data

Message 16 of 16

This 1000X. By not being able to manipulate data in seemingly fairly simple ways, I've been completely handcuffed to have schedules mostly full of manually entered text rather than smart data. This rips the 'I' out of BIM.

 

My example is trying to use parameters to automate an equipment schedule. In the electrical world the 'Number of Poles' parameter displays the number of phases equipment is connected to. Unfortunately specification terminology differs slightly; 1 & 2 pole connected equipment are called 'single-phase' while 3 pole connected equipment is referred to as 'three-phase'. This would be a trivial issue to write a formula for to test and correctly label except that 'Number of Poles' parameter data type is not an 'integer or number' but has a hardcoded data type of 'Number of Poles' which is seems like isn't testable or usable in formulas! The data type allows the value of 1,2, or 3. Seems like it would be simple to convert this to an integer where it could be used. But I've found no such method! 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report


Autodesk Design & Make Report