Dear Btmsoftware,
OK, we are now in business.
I grabbed the Zion and Irving samples from the page you mention:
http://www.bimblog.ca/2012/01/point-cloud-feature-extraction.html
Then I had to figure out how to insert them.
I was forced to read the help onUsing Point Cloud Files in a Project:
http://help.autodesk.com/view/RVT/2015/ENU/?guid=GUID-B89AD692-C705-458F-A638-EE7DD83D694C
I then needed to find out how to actually Insert a Point Cloud File:
http://help.autodesk.com/view/RVT/2015/ENU/?guid=GUID-B89AD692-C705-458F-A638-EE7DD83D694C
I was especially challenged by the two-step process of first converting from a raw format to an indexed RCP version and using the same command a second time to finally insert that.
Once I had that, I used the element lister to determine what Revit database elements are generated by inserting a point cloud into the BIM:
http://thebuildingcoder.typepad.com/blog/2014/09/debugging-and-maintaining-the-image-relationship.ht...
Here are the steps I took and the results obtained in this case:
Run the external command Revit > Add-ins > RvtSamples > ADN Abc > 2-1 List all elements.
Rename the resulting file:
C:\tmp>ren RevitElements.txt RevitElementsBeforePointCloud.txt
Insert the point cloud RCP using Revit > Insert > Point Cloud.
Run the external command Revit > Add-ins > RvtSamples > ADN Abc > 2-1 List all elements.
Rename the resulting file:
C:\tmp>ren RevitElements.txt RevitElementsAfterPointCloud.txt
Compare the differences to determine the newly added elements:
C:\tmp>diff RevitElementsBeforePointCloud.txt RevitElementsAfterPointCloud.txt
3312a3313,3316
> Id=322639; Class=PointCloudType; Category=Point Clouds; Name=zion.rcp;
> Id=322640; Class=Element; Category=?; Name=zion.rcp;
> Id=322641; Class=GraphicsStyle; Category=?; Name=zion.rcp;
> Id=322642; Class=PointCloudInstance; Category=Point Clouds; Name=zion.rcp;
As you can see, the process generated a point cloud type and instance, a graphics style, and another element.
These four elements can now all be examined using RevitLookup to determine their properties and parameter values.
In the past, the file name used for the Revit Element.Name property was the only hint you would get, so you would have to take that a search through your file system using operating system directory traversal functionality to determine the full path.
In this case, in addition to that, I would also check what the IsExternalFileReference and GetExternalFileReference methods report.
RevitLookup will probably not evaluate them for you. One option you have is to use something more flexible for interactive command line exploration, like the Python or Ruby shells:
http://thebuildingcoder.typepad.com/blog/2013/11/intimate-revit-database-exploration-with-the-python...
Alternatively, you can implement a macro ar add-in that explicitly calls these methods and reports the result.
I decided to take a closer look at the PointCloudType with the element id 322639 in RevitLookup, so I used Revit > Manage > Inquiry > Select by ID > 322639 and then Revit > Add-ins > Revit±Lookup > Snoop Current Selection...
No path indeed.
Next, I installed the Revit Python shell from
https://code.google.com/p/revitpythonshell
http://sustain.arch.ethz.ch/DPV/Setup_RevitPythonShell_2015.exe
Unfortunately, none of the four elements will admit to being an external file reference:
IronPython 2.7.4 (2.7.0.40) on .NET 4.0.30319.18444 (64-bit)
Type "help", "copyright", "credits" or "license" for more information.
>>> doc
<Autodesk.Revit.DB.Document object at 0x000000000000002B [Autodesk.Revit.DB.Document]>
>>>
>>> id=ElementId(322639)
>>> e=doc.GetElement(id)
>>> e.IsExternalFileReference()
False
>>> e.GetExternalFileReference()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception: This Element does not represent an external file.
>>>
>>> def f(i):
... id=ElementId(i)
... e=doc.GetElement(id)
... return e.IsExternalFileReference()
...
>>> f(322639)
False
>>> f(322640)
False
>>> f(322641)
False
>>> f(322642)
False
>>>
Well, at least this little exercise proves that your can very quickly indeed install and make productive use of the Revit Python shell.
Using the Ruby shell is equally easy.
I had a look at the results of calling ExternalFileUtils.GetAllExternalFileReferences as well:
>>> ids=ExternalFileUtils.GetAllExternalFileReferences(doc)
>>> ids
List[ElementId]([<Autodesk.Revit.DB.ElementId object at 0x000000000000002E [109330]>, <Autodesk.Revit.DB.ElementId object at 0x000000000000002F [320645]>])
>>> id=ids[0]
>>> id
<Autodesk.Revit.DB.ElementId object at 0x000000000000002E [109330]>
>>> e=doc.GetElement(id)
>>> e
<Autodesk.Revit.DB.KeynoteTable object at 0x0000000000000030 [Autodesk.Revit.DB.KeynoteTable]>
>>>
That just leads to the keynote table, not the linked point cloud that we are after.
Anyway, to sum up, you may just have to live with the RCP filename and no path, and then see what you can achieve with that using operating system search tools.
Cheers,
Jeremy