EnscapeNativeAssetHeight

  • Hi,



    I am currently looking at ways we may be able to improve upon how some of the Enscape assets appear in Revit, in particular bushes.


    I am trying to set up our own Revit family so we can apply Revit materials and have our own Revit geometry, as we need bushes to look 'kind-a-like bushes' in Revit for 1:200 site section etc. The RPC bushes make Revit run very slowly in realistic views (this has always been an issue with RPC content), and are far to detailed at a scale of 1:200.


    I have managed to add the EnscapeAssetId to our Revit family so the swap out works when we run Enscape - so far so good. The bit i am struggling with is the EnscapeNativeAssetHeight.


    I am trying to link the the height of the Revit Family i.e. - Revit family height = 1000mm so that the EnscapeNativeAssetHeight can read this and set the asset height to 1000mm (which is relatively easy to do in the Revit family).


    The problem I have is that the EnscapeNativeAssetHeight doesn't seem to correlate to a real world height. For example if I set the height to 1 the asset is huge, if I set the height to 1000 its very small. As such i was wondering how the EnscapeNativeAssetHeight works?


    Any help / guidance would be appreciated.


    The ultimate goal would be to able to set the Revit family a height of say 600mm and the Enscape asset to swap out accordingly.


    If I can get it working happy to share with others.

  • Trav72 , thanks a lot for your inquiry.


    We basically do not recommend to use the "EnscapeNativeAssetHeight", since this is used as a scaling factor. What we do recommend in this case is to just set the "Height" in millimeter accordingly. May I ask why this is not suitable already? :) Also, if this helps, you may furthermore kindly send the corresponding Revit family you've created to one of our developers, I've sent you a pm with his e-mail address.

  • Thanks for the reply,


    I've set up a test project to help highlight what i'm struggling with. I've used one of your assets and duplicated it in revit and given different EnscapeNativeAssetHeights. As you can see the smaller the EnscapeNativeAssetHeight the larger the asset gets.




    What i would ideally like to be able to do is accurately set the height of the asset in Revit so this is the same height that is output in Enscape (basically the heights match).


    From what you are saying you use a scale factor, which may explain the odd behaviour (If i were to know what scale factor you use, i may be able to add a formula within revit).


    The example shown here is simply me trying to understand how the EnscapeNativeAssetHeight works, but does highlight the issue.


    Going forward what would be very handy is if the heights of certain assets (bushes / planting are good examples) can be set to a height of say 600mm in Revit so this is then the height they then appear in Enscape. If we were able to get this to work, then this would be a very good starting point for a lot of your Enscape Assets for Revit (and as a Revit user is how i would expect them to work).


    When I get chance (probably tomorrow) i will send the Revit files i have been working on to your developer to see if what i am trying to achieve is possible or not. If not then Revit users should probably be made aware that when Enscape swaps out the Assets the heights / sizes will not necessarily be the same as that shown within in Revit.


    I am sure there is a way we can get this to work.

  • Hi Trav72 ,


    I think the main question here Demian asked is: Why can't you just use the "Height" parameter we've included for all Enscape Assets in their Type Properties?



  • To be honest only used the man as an example, possibly not the best choice for the example :-) As you have pointed out its very unlikely that we would want a 3m high man :-)


    What we have noticed is that, trees / planting do not swap out to the correct height. If we change the height of the Enscape bush geometry in Revit to say 1500mm high, the bush in Enscape will still only be say 600mm high as there is no direct link to the Revit geometry size and the Enscape output.


    What we are trying to do is set a link to the Revit family that works it way through to Enscape - via the EnscapeNativeAssetHeight. This in theory is very easy to do with a simple formula within the Revit family, however we are getting odd results. As per Demian's suggestion i have sent your co-worker the simple family we have been working on via e-mail.


    You are correct that not all assets would need to have this linked parameter, but it would be very useful for certain assets (trees, bushes, planting etc. I agree that some assets should have fixed (locked) parameters.

  • Sorry for the delay in responding, work has had to take priority for the last few days.


    I have been in direct contact with one of the Enscape Software Developers (a very helpful chap by the name of Christian), and sent him the family that I had been working on. Following various e-mail discussions I believe I now have a clearer understanding of how the Enscape Assets work, as follows:


    Within Revit, the Revit place holder family contains the following parameters:


    Revit Height Parameter – This is the variable that controls the height of the Revit Geometry.

    EnscapeAssetId – This is the code that the Enscape Asset will be swapped out to – This code is predetermined by Enscape and not used by Revit.

    EnscapeNativeAssetHeight – This is a height that is predetermined by Enscape and is not used by Revit.


    What Happens When Enscape is Run:


    Revit Height Parameter – Revit variable that is read by Enscape.

    EnscapeAssetId – Used by Enscape to swap out the relevant Enscape asset.

    EnscapeNativeAssetHeight – This is read by Enscape.


    When Enscape is run it uses the above information to calculate a Uniform Transformation Matrix (scale factor) which is used to scale the Enscape Asset within Enscape (width, height and depth).


    Something similar to this:


    Revit Height Parameter (RHP) / EnscapeNativeAssetHeight (ENAI) = Uniform Transformation Matrix (scale factor).


    For example:


    Revit Height Parameter (RHP) = 1200

    EnscapeNativeAssetHeight (ENAI) = 950


    1200/950 = 1.2631 Uniform Transformation Matrix (scale factor).


    (I am sure the actual formula is probably more complicated than this, this just to give a simplistic example)


    As this scale factor is applied as a Uniform Transformation Matrix for width, height and depth this may explain some of the discrepancies that have been noticed. For example if the Revit place holder geometry is proportionally different to the Enscape Asset the two would never match.



    Originally I think I was over complicating things in my Revit Family by trying to get Revit to calculate the scale factor, which was actually exaggerating the discrepancies.



    It is my understanding that Enscape are currently reviewing several options/ways to get better/more usable place holders (and a better match between the size of the Revit place holder and the Enscape asset).


    Please Note: All of the above is just my understanding / interpretation of how the process works, and apologies if I have miss interporated any of the process.



    Going forward I still feel the following items need addressing / improving upon:


    · There needs to be a better link between the Revit geometry and the Enscape geometry to ensure the size difference issues are removed (there may be a way to do this within Revit, but the exact sizes of the Enscape asset geometry would need to be know – I will keep trying).


    · The Revit place holders need to be on the correct Revit sub-categories (people are not plants).


    · The Revit place holders need a material parameter.


    · The Revit place holders should contain additional parameters to allow for scheduling / reporting etc.


    · Better Revit geometry – so the place holders can be used on drawings that are produced from within Revit.



    Apologies for the wordy response, and not exactly a definitive answer to the original question. I have suggested to Enscape that it may be benificial ask the Revit users via the Forum what functionality / parameters they would like to be include in the place holders.


    Once again Enscape is a fantastic addition / bolt on to Revit and it may be that as a Revit user I can see the wider potential of the place holders within the Revit environment.