Let’s say you have a Generic Annotation family with about 60 different view states controlled by visibility Yes/No checkboxes. These visibility states are linked to Sheets, and the Generic Annotation families themselves are placed in the Sheet views in Revit. I’m sure you are thinking “why??” at this point, but let’s skip past that part…

Can we drive the Annotation family visibility states based on its ‘host Sheet’ in Revit? Not really.

Can we create a mapping table in Excel, Dynamo-push a single integer value into the Annotation instances based on the host Sheet, and drive the visibility by formula that way? Yep.

Here’s the basic steps:

  1. I used dir and Notepad++ to make the list, one column in Excel for the lookup value (I used Sheet Number), and one for the parameter I want to get and use
  2. This relied on having the Family parameter list sorted Ascending in the Family Editor

  3. The Excel sheet looked a bit like this – notice how the driving parameter is an Integer?

  4. This is the work in progress in Dynamo – getting the Generic Annotation families, matching them up and getting the related Excel integer value

  5. This is the completed dyn, with the push back into the Element Parameter to drive the visibility – see how the string has to get converted ToNumber before pushing into the Integer parameter?

  6. And here is one instance in the project

  7. After running this once, all visibility states are set properly throughout the project

Yet another example of @dynamobim making the Revit-impossible, possible 🙂

    We often work with consultants using Tekla Structures, but we only recently came across the issue of trying to import point clouds into Tekla. The officially recommended workflow is:
    Leica / Trimble scanner — Trimble Real Works — Landxml — Tekla Structures

    But what if we don’t have Real Works? Basically, we want to create geometry from point cloud (which we can make into a massive list of XYZ values in a text file). Sounds like an easy job for Dynamo… and in a way, it is.

    Here is what worked for me:

    1. Import the source point cloud to Recap, decimate to 100mm grids, and remove all values except X,Y,Z (screencast below). This took me from about 19 million points down to about half a million
    2. Export from Recap to PTS format.
    3. Remove first line in the PTS file using Notepad++ (if necessary). The output should look something like this:

      Here is the Screencast:

      Note: steps 1 to 3 should essentially create a 3 field space delimited XYZ text file with no Intensity, RGB or Normals (sometimes called NEZ by survey people)

    4. Load some family called PointCloud.rfa with a Type called Point (can be adaptive or not)
    5. Use a Dynamo definition to place a given family at each location.
      One of my main concerns was scalability.. How many points / instances can Dynamo and Revit handle here? Initially, I used a method where the definition itself threw away a lot of points in a totally arbitrary manner, using a series of DropItemAtIndex nodes. This got me from about 500000 to about 120000 points, and this worked ok. I ended up modifying the node to allow for a number of ‘drops’ (from 0 to 4). Each drop throws away every second point… Finally, as I was getting all the points anyway, I thought it would be nice to have a Topography creation option. The published package can either create families at each point, make a topography, or both.
    6. Once you have generated the geometry you want from the point cloud, then Export to DWG or DXF
    7. Transmit to consultant

    Here is a little readme:
    When you first load the package, you should set up the entry data types as per below:

    If your text file is space-delimited (as mine was), make sure the delimiter string field actual has a Space in it.

    Also, set the two booleans to False (meaning that no families or topos will be created) for the first Run, and set the drops to 4. The “Number of points” output node will give you an idea of how many points are in play at that particular drop level, like this:

    If you are running on ‘normal’ system hardware, you probably should keep it to around 50000 geometry creation points if possible. On my Surface Pro 3, it could work with the 30000 points no worries, and my workstation could handle 120000 ok. So, once you have a reasonable number in that output box, you can set the go and place instances and / or make a Topo options to True. I think Revit may struggle with huge points on a Topo, but I was able to place the family instances (with a small crosshair or 3D sphere at the origin) and then export to DWG.

    Keep in mind this is a very arbitrary and lossy method – point clouds were never really meant to be wrestled into geometry like this. However, it may help you in certain situations. The Dynamo node has been published but it is very beta at the moment, so of course the usual disclaimer applies: “use at your own risk”.

    Package is called Place Family Instances or Make Topography by Point Cloud.

    Sample point family for download
     
    A note on coordinates and rounding:
    This tool currently uses project coordinates. A future revision may offer shared coordinate translation. In the meantime, you could use some reference geometry at project base point and run this tool in an new empty, linked file, then move it into place in project. Related discussion:

    Also, it appears that rounding is occurring to 3 decimal places, which is not ideal. Again, this may be fixed in future.

    Endnote:
    I tried lots of other methods, including POINTSIN and IMPORTXYZ lisp routines in AutoCAD, but oftentimes the dataset was too big, or the input data was not what the routine was expecting.
    Some other methods I attempted are below, but they weren’t too successful…
    Also tried:

    1. Import points to Civil3D
    2. Convert Civil COGO points to vanilla AutoCAD blocks
    3. Use blocks to generate geometry

    Using Civil3D to Convert Points to LandXML for Import to Tekla Structures
    Another possibility:

    1. Points into Civil3D (as Drawing Objects in a Surface)
    2. Export Surface to LandXML

    Firstly, export the Viewpoints you want to rename to XML.

    Open the XML in Notepad++.  Now we are going to use Search – Replace to append something to the view name in the XML file.  Once we get the Find syntax correct (I used view name=”View), you can just use a backslash 1 in the Replace box to signify the Find result, and then add whatever you like after that.  See the image:

     (make sure you pick the Regular Expression radio button)

    Click Replace All, then save the XML (make sure you just click save, and don’t click Save As).  Now, import it back into your Saved Viewpoints in Navisworks.

     This is what it looks like in Navisworks after re-importing the XML:

    Keep in mind that the import / export process will result in your Hide/Required and Override Material boxes becoming unticked for each imported view.

    This is another good reason that you should be using Appearance Profiler by now… Have you noticed Presenter has now been completely replaced by Autodesk Rendering in Navisworks 2015?

    More on Notepad++ renaming:
    regex – How do you do a Find and Insert in Notepad instead of a replace, while using regular expression? – Stack Overflow

    Daniel Gijsbers uses Notepad++ to do some quick editing and creation of similar Navisworks search sets:


    “Let’s create a couple of searchsets that will find the same parts but on different levels.

    He notes that you should import-export-import to make sure GUIDs are not duplicated.

    Read the whole post:

    Many of us were quite disturbed by the 2013 Revit Materials Editor.  Aside from its usability (or lack thereof), it seems to be much slower than the 2012 Materials dialog.  Until Revit 2014 comes around, what can you do to speed up the Materials Editor?

    A recent and highly informative post from Aaron Maller (focused particularly on Revit deployment), gives us a few clues:
    Switch all the mat lists to text style, no rendered preview, open the Mat Editor and place it next to the Mat selector, then close it. 
    Read the whole post here

    Have a look at the images below for some ‘hidden’ options:

    Appears to be no way to adjust the rendered swatch?
    After switching to Appearance aspect, a tiny arrow appears…

    We can now adjust this to speed up the Materials Editor.  The above settings seemed to be the fastest
    (Pool of liquid / Draft Quality)

    We can also completely remove the rendered preview image by dragging the splitter just below it:

    Aaron made similar comments in this post on RFO.

    In my case (Building Design Suite 2013 / Revit OneBox), the currently in use MaterialUIconfig was at
    “C:UsersLukeAppDataRoamingAutodeskRevitAutodesk Revit 2013MaterialUIConfig.xml” 

    Upon opening the MaterialUIConfig.xml, you will notice a few settings like:

    MaterialBrowser inSceneMaterialViewHeight=”502″ navigationPaneWidth=”241″ isInSceneMaterialPreviewEnabled=”0″ isNavigationPaneVisible=”1″

    and

    MaterialEditor SplitterPosition=”0″ OGSRenderQuality=”0″ PreviewRenderQuality=”0″ PreviewRenderType=”2″

    I would like to see some documentation from Autodesk to clarify what all of these actually do, but you can see the settings I am using.  If you use Notepad++, you can also open MaterialUIConfig.xml, make some changes in Revit, and then when you switch back to Notepad++ it will prompt you to reload the xml – you can then easily see what each change you make in the Materials Browser / Editor actually does.