diff --git a/SDK/Macro Samples/GetTimeElapsed_CSharp/Source/GetTimeElapsed_CSharp/GetTimeElapsed_CSharp.csproj b/SDK/Macro Samples/GetTimeElapsed_CSharp/Source/GetTimeElapsed_CSharp/GetTimeElapsed_CSharp.csproj
index 159e9c72..994338e2 100644
--- a/SDK/Macro Samples/GetTimeElapsed_CSharp/Source/GetTimeElapsed_CSharp/GetTimeElapsed_CSharp.csproj
+++ b/SDK/Macro Samples/GetTimeElapsed_CSharp/Source/GetTimeElapsed_CSharp/GetTimeElapsed_CSharp.csproj
@@ -57,7 +57,7 @@
False
- ..\..\..\..\..\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
@@ -69,7 +69,7 @@
False
- ..\..\..\..\..\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
diff --git a/SDK/Macro Samples/GetTimeElapsed_VBNet/Source/GetTimeElapsed_VBNet/GetTimeElapsed_VBNet.vbproj b/SDK/Macro Samples/GetTimeElapsed_VBNet/Source/GetTimeElapsed_VBNet/GetTimeElapsed_VBNet.vbproj
index d859094a..785aad28 100644
--- a/SDK/Macro Samples/GetTimeElapsed_VBNet/Source/GetTimeElapsed_VBNet/GetTimeElapsed_VBNet.vbproj
+++ b/SDK/Macro Samples/GetTimeElapsed_VBNet/Source/GetTimeElapsed_VBNet/GetTimeElapsed_VBNet.vbproj
@@ -61,7 +61,7 @@
False
- ..\..\..\..\..\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
@@ -76,7 +76,7 @@
False
- ..\..\..\..\..\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
diff --git a/SDK/Macro Samples/Rooms/Source/Rooms/Rooms.csproj b/SDK/Macro Samples/Rooms/Source/Rooms/Rooms.csproj
index 6a07234d..76b87608 100644
--- a/SDK/Macro Samples/Rooms/Source/Rooms/Rooms.csproj
+++ b/SDK/Macro Samples/Rooms/Source/Rooms/Rooms.csproj
@@ -71,11 +71,11 @@
- ..\..\..\..\..\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/REX SDK/Samples/ContentGeneratorWPF/ContentGeneratorWPF/ContentGeneratorWPF.csproj b/SDK/REX SDK/Samples/ContentGeneratorWPF/ContentGeneratorWPF/ContentGeneratorWPF.csproj
index 5090e298..b21891ec 100644
--- a/SDK/REX SDK/Samples/ContentGeneratorWPF/ContentGeneratorWPF/ContentGeneratorWPF.csproj
+++ b/SDK/REX SDK/Samples/ContentGeneratorWPF/ContentGeneratorWPF/ContentGeneratorWPF.csproj
@@ -78,11 +78,11 @@
3.0
- q:\Ref\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- q:\Ref\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/REX SDK/Samples/ElementReportHTML/ElementReportHTML/ElementReportHTML.csproj b/SDK/REX SDK/Samples/ElementReportHTML/ElementReportHTML/ElementReportHTML.csproj
index 1a959a83..4fbdd6fe 100644
--- a/SDK/REX SDK/Samples/ElementReportHTML/ElementReportHTML/ElementReportHTML.csproj
+++ b/SDK/REX SDK/Samples/ElementReportHTML/ElementReportHTML/ElementReportHTML.csproj
@@ -78,11 +78,11 @@
3.0
- q:\Ref\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- q:\Ref\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/REX SDK/Samples/FrameGenerator/FrameGenerator/FrameGenerator.csproj b/SDK/REX SDK/Samples/FrameGenerator/FrameGenerator/FrameGenerator.csproj
index c05a666a..9cd32d0c 100644
--- a/SDK/REX SDK/Samples/FrameGenerator/FrameGenerator/FrameGenerator.csproj
+++ b/SDK/REX SDK/Samples/FrameGenerator/FrameGenerator/FrameGenerator.csproj
@@ -70,11 +70,11 @@
False
- q:\Ref\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- q:\Ref\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/REX SDK/Samples/PyramidGenerator/PyramidGenerator/PyramidGenerator.csproj b/SDK/REX SDK/Samples/PyramidGenerator/PyramidGenerator/PyramidGenerator.csproj
index 2401ea8b..59c8d1f7 100644
--- a/SDK/REX SDK/Samples/PyramidGenerator/PyramidGenerator/PyramidGenerator.csproj
+++ b/SDK/REX SDK/Samples/PyramidGenerator/PyramidGenerator/PyramidGenerator.csproj
@@ -78,11 +78,11 @@
3.0
- q:\Ref\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- q:\Ref\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/REX SDK/Samples/Serialization/Serialization/Serialization.csproj b/SDK/REX SDK/Samples/Serialization/Serialization/Serialization.csproj
index 28d7f0b6..bea8fff6 100644
--- a/SDK/REX SDK/Samples/Serialization/Serialization/Serialization.csproj
+++ b/SDK/REX SDK/Samples/Serialization/Serialization/Serialization.csproj
@@ -70,11 +70,11 @@
False
- q:\Ref\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- q:\Ref\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/REX SDK/Samples/Unit/Unit/Unit.csproj b/SDK/REX SDK/Samples/Unit/Unit/Unit.csproj
index 62860354..44c14b05 100644
--- a/SDK/REX SDK/Samples/Unit/Unit/Unit.csproj
+++ b/SDK/REX SDK/Samples/Unit/Unit/Unit.csproj
@@ -70,11 +70,11 @@
False
- q:\Ref\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- q:\Ref\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Samples/PointCloudEngine/CS/PointCloudEngine.XML b/SDK/Samples/PointCloudEngine/CS/PointCloudEngine.XML
new file mode 100644
index 00000000..eeab9fdd
--- /dev/null
+++ b/SDK/Samples/PointCloudEngine/CS/PointCloudEngine.XML
@@ -0,0 +1,543 @@
+
+
+
+ PointCloudEngine
+
+
+
+
+ An implementation for a file-based point cloud.
+
+
+ The file format is based upon XML. A sample XML looks like:
+
+
+
+ |
+
+
+
+
+ |
+
+
+
+
+
+ |
+
+
+ The scale value applies to the entire point cloud. One or more cell values should be supplied,
+ with the coordinates of the opposing corners, a color, and an option whether or not to randomize
+ the generated points.
+
+
+
+
+ Constructs a new XML-based point cloud access.
+
+ The full path to the file.
+
+
+
+ Sets up the file-based point cloud.
+
+
+
+
+ The implementation of IPointCloudAccess.GetName().
+
+ The name (the file name).
+
+
+
+ The implementation of IPointCloudAccess.GetColorEncoding()
+
+ The color encoding.
+
+
+
+ The implementation of IPointCloudAccess.CreatePointSetIterator().
+
+ The filter.
+ The view id (unused).
+ The new iterator.
+
+
+
+ The implementation of IPointCloudAccess.CreatePointSetIterator().
+
+ The filter.
+ The density.
+ The view id (unused).
+ The new iterator.
+
+
+
+ The implementation of IPointCloudAccess.GetExtent().
+
+ The extents of the point cloud.
+
+
+
+ The implementation of IPointCloudAccess.GetOffset().
+
+ This method is not used by Revit and will be removed in a later pre-release build.
+ Zero.
+
+
+
+ The implementation of IPointCloudAccess.GetUnitsToFeetConversionFactor().
+
+ The scale.
+
+
+
+ The implementation of IPointCloudAccess.ReadPoints().
+
+ The filter.
+ The view id (unused).
+ The point cloud buffer.
+ The maximum number of points.
+ The number of points read.
+
+
+
+ The implementation of IPointCloudAccess.Free().
+
+
+
+
+ The base class for all IPointCloudAccess implementations in this sample.
+
+
+
+
+ Constructs a new instance of the base class.
+
+
+
+
+ Adds a new cell to the point cloud.
+
+ The lower left point.
+ The upper right point.
+ The color.
+ True to randomize point number and location, false for a regular arrangement of points.
+
+
+
+ Adds a new cell to the point cloud.
+
+ The lower left point.
+ The upper right point.
+ The color.
+
+
+
+ Adds a cell to the stored outline of the point cloud. If the cell boundaries extend beyond the current outline, the outline
+ is adjusted.
+
+
+
+
+
+ Gets the outline calculated from all cells in the point cloud.
+
+
+
+
+
+ Gets the scale stored for this point cloud.
+
+
+
+
+
+ Saves the contents of the point cloud into an XML element.
+
+ The XML element in which to save the point cloud properties.
+
+
+
+ The internal implementation for point cloud read requests from Revit.
+
+ Both IPointCloudAccess.ReadPoints() and IPointSetIterator.ReadPoints() are served by this method.
+ The point cloud filter.
+ The point cloud buffer.
+ The maximum number of points in the buffer.
+ The start index for points. Pass 0 if called from IPointCloudAccess.ReadPoints() or if this is the first
+ call to IPointSetIterator.ReadPoints(). Pass the previous cumulative number of read points for second and successive calls to
+ IPointSetIterator.ReadPoints().
+ The number of points read.
+
+
+
+ Sets up a point cloud from an XML root element.
+
+ The root element.
+
+
+
+ The implementation for an IPointSetIterator for a file-based or predefined point cloud.
+
+
+
+
+ Constructs a new instance of the point cloud iterator.
+
+ The access.
+ The filter used for this iteration.
+
+
+
+ Implementation of IPointSetIterator.ReadPoints()
+
+ The point buffer.
+ The buffer size.
+ The number of points read.
+
+
+
+ Implementation of IPointSetIterator.Free()
+
+
+
+
+ This class is used to calculate and store points for a given cell.
+
+
+
+
+ The number of points in the cell.
+
+
+
+
+ The lower left point of the cell.
+
+
+
+
+ The upper right point of the cell.
+
+
+
+
+ The points in the cell.
+
+
+
+
+ Creates a new instance of a rectangular cell.
+
+ The lower left point of the cell.
+ The upper right point of the cell.
+ The color used for points in the cell.
+ True to apply randomization to the number and location of points, false for a regular arrangement of points.
+
+
+
+ Invokes the calculation for all points in the cell.
+
+
+
+
+ Serializes the properties of the cell to an XML element.
+
+ The element to which the properties are added as subelements.
+
+
+
+ Constructs a new instance of a rectangular cell from an XML element.
+
+ The XML element representing the cell.
+
+
+
+ ExternalApplication used to register the point cloud engines managed by this sample.
+
+
+
+
+ The implementation of IExternalApplication.OnStartup()
+
+ The Revit application.
+ Result.Succeeded
+
+
+
+ The implementation of IExternalApplication.OnShutdown()
+
+ The Revit application.
+ Result.Succeeded.
+
+
+
+ ExternalCommand to add a predefined point cloud.
+
+
+
+
+ The implementation for IExternalCommand.Execute()
+
+ The Revit command data.
+ The error message (ignored).
+ The elements to display in the failure dialog (ignored).
+ Result.Succeeded
+
+
+
+ ExternalCommand to a predefined point cloud with randomized points.
+
+
+
+
+ The implementation for IExternalCommand.Execute()
+
+ The Revit command data.
+ The error message (ignored).
+ The elements to display in the failure dialog (ignored).
+ Result.Succeeded
+
+
+
+ ExternalCommand to add a predefined point cloud at a non-default transform.
+
+
+
+
+ The implementation for IExternalCommand.Execute()
+
+ The Revit command data.
+ The error message (ignored).
+ The elements to display in the failure dialog (ignored).
+ Result.Succeeded
+
+
+
+ Base class for ExternalCommands used to add point cloud instances programmatically.
+
+
+
+
+ Adds a point cloud instance programmatically.
+
+ The document.
+ The engine identifier string.
+ The identifier for the particular point cloud.
+ The transform to apply to the new point cloud instance.
+
+
+
+ Utility ExternalCommand to take a predefined point cloud and write the corresponding XML for it to disk.
+
+
+
+
+ The implementation for IExternalCommand.Execute()
+
+ The Revit command data.
+ The error message (ignored).
+ The elements to display in the failure dialog (ignored).
+ Result.Succeeded
+
+
+
+ An implementation for a non file-based point cloud. In this implementaiton, the location of the cells, including their colors and options,
+ are hardcoded.
+
+
+
+
+ Constructs a new predefined point cloud access instance.
+
+ The identifier of the point cloud.
+
+
+
+ Constructs a new predefined point cloud access instance.
+
+ The identifier of the point cloud.
+ True to use randomization for the point location and number, false otherwise.
+
+
+
+ Sets up the predefined point cloud.
+
+ True to use randomization for the point location and number, false otherwise.
+
+
+
+ The implementation of IPointCloudAccess.GetName().
+
+ The name (the file name).
+
+
+
+ The implementation of IPointCloudAccess.GetColorEncoding()
+
+ The color encoding.
+
+
+
+ The implementation of IPointCloudAccess.CreatePointSetIterator().
+
+ The filter.
+ The view id (unused).
+ The new iterator.
+
+
+
+ The implementation of IPointCloudAccess.CreatePointSetIterator().
+
+ The filter.
+ The density.
+ The view id (unused).
+ The new iterator.
+
+
+
+ The implementation of IPointCloudAccess.GetExtent().
+
+ The extents of the point cloud.
+
+
+
+ The implementation of IPointCloudAccess.GetOffset().
+
+ This method is not used by Revit and will be removed in a later pre-release build.
+ Zero.
+
+
+
+ The implementation of IPointCloudAccess.GetUnitsToFeetConversionFactor().
+
+ The scale.
+
+
+
+ The implementation of IPointCloudAccess.ReadPoints().
+
+ The filter.
+ The view id (unused).
+ The point cloud buffer.
+ The maximum number of points.
+ The number of points read.
+
+
+
+ The implementation of IPointCloudAccess.Free().
+
+
+
+
+ The type of engine.
+
+ Because the same engine implementation is used for all types of engines in this sample, a member of this enumerated type
+ is used to determine the logic necessary to create the IPointCloudAccess instance.
+
+
+
+ A predefined point cloud engine (non-randomized).
+
+
+
+
+ A predefined point cloud engine (randomized).
+
+
+
+
+ A file based point cloud engine.
+
+
+
+
+ An implementation of IPointCloudEngine used by all the custom engines in this sample.
+
+
+
+
+ Constructs a new instance of the engine.
+
+ The type of point cloud served by this engine instance.
+
+
+
+ Implementation of IPointCloudEngine.CreatePointCloudAccess().
+
+ The identifier (or file name) for the desired point cloud.
+ The IPointCloudAccess implementation serving this point cloud.
+
+
+
+ Implementation of IPointCloudEngine.Free().
+
+
+
+
+ Utilities used by the sample to process XML entries in file-based point clouds.
+
+
+
+
+ Gets an XYZ point from an XML element.
+
+ The element.
+ The XYZ.
+
+
+
+ Gets a boolean value from an XML element.
+
+ The element.
+ The value.
+
+
+
+ Gets a double value from an XML element.
+
+ The element.
+ The value.
+
+
+
+ Gets an integer value from an XML element.
+
+ The element.
+ The value.
+
+
+
+ Gets a color value (in the form needed for inclusion in a CloudPoint) from an XML element.
+
+ The element.
+ The value.
+
+
+
+ Gets the XML element representing a point.
+
+ The point.
+ The name of the XML element.
+ The element.
+
+
+
+ Gets the XML element representing a CloudPoint color.
+
+ The color.
+ The name.
+ The element.
+
+
+
+ Gets the XML element representing an object.
+
+ The object.
+ The name.
+ The element.
+
+
+
diff --git a/SDK/Structural Analysis SDK/Examples/ASCE-7-10/ASCE-7-10.csproj b/SDK/Structural Analysis SDK/Examples/ASCE-7-10/ASCE-7-10.csproj
index cc943e41..48520973 100644
--- a/SDK/Structural Analysis SDK/Examples/ASCE-7-10/ASCE-7-10.csproj
+++ b/SDK/Structural Analysis SDK/Examples/ASCE-7-10/ASCE-7-10.csproj
@@ -61,11 +61,11 @@
False
- ..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Structural Analysis SDK/Examples/Concrete/CodeCheckingConcreteExample/CodeCheckingConcreteExample.csproj b/SDK/Structural Analysis SDK/Examples/Concrete/CodeCheckingConcreteExample/CodeCheckingConcreteExample.csproj
index 17335442..6acf2c6c 100644
--- a/SDK/Structural Analysis SDK/Examples/Concrete/CodeCheckingConcreteExample/CodeCheckingConcreteExample.csproj
+++ b/SDK/Structural Analysis SDK/Examples/Concrete/CodeCheckingConcreteExample/CodeCheckingConcreteExample.csproj
@@ -91,11 +91,11 @@
False
- ..\..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Structural Analysis SDK/Examples/ExtensibleStorageDocumentation/ExtensibleStorageDocumentation.csproj b/SDK/Structural Analysis SDK/Examples/ExtensibleStorageDocumentation/ExtensibleStorageDocumentation.csproj
index 2c8af268..88b4403c 100644
--- a/SDK/Structural Analysis SDK/Examples/ExtensibleStorageDocumentation/ExtensibleStorageDocumentation.csproj
+++ b/SDK/Structural Analysis SDK/Examples/ExtensibleStorageDocumentation/ExtensibleStorageDocumentation.csproj
@@ -50,11 +50,11 @@
- ..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Structural Analysis SDK/Examples/ExtensibleStorageUI/ExtensibleStorageUI.csproj b/SDK/Structural Analysis SDK/Examples/ExtensibleStorageUI/ExtensibleStorageUI.csproj
index e41bbf57..387d8cf9 100644
--- a/SDK/Structural Analysis SDK/Examples/ExtensibleStorageUI/ExtensibleStorageUI.csproj
+++ b/SDK/Structural Analysis SDK/Examples/ExtensibleStorageUI/ExtensibleStorageUI.csproj
@@ -55,11 +55,11 @@
- ..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Structural Analysis SDK/Examples/ResultsInRevit/QueryingResults/QueryingResults.csproj b/SDK/Structural Analysis SDK/Examples/ResultsInRevit/QueryingResults/QueryingResults.csproj
index fbee5d56..f7bfae22 100644
--- a/SDK/Structural Analysis SDK/Examples/ResultsInRevit/QueryingResults/QueryingResults.csproj
+++ b/SDK/Structural Analysis SDK/Examples/ResultsInRevit/QueryingResults/QueryingResults.csproj
@@ -39,11 +39,11 @@
False
- ..\..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Structural Analysis SDK/Examples/ResultsInRevit/StoringResults/StoringResults.csproj b/SDK/Structural Analysis SDK/Examples/ResultsInRevit/StoringResults/StoringResults.csproj
index 878a47f1..766038e2 100644
--- a/SDK/Structural Analysis SDK/Examples/ResultsInRevit/StoringResults/StoringResults.csproj
+++ b/SDK/Structural Analysis SDK/Examples/ResultsInRevit/StoringResults/StoringResults.csproj
@@ -39,11 +39,11 @@
False
- ..\..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False
diff --git a/SDK/Structural Analysis SDK/Examples/SectionPropertiesExplorer/SectionPropertiesExplorer.csproj b/SDK/Structural Analysis SDK/Examples/SectionPropertiesExplorer/SectionPropertiesExplorer.csproj
index 923e8f2f..fbd44533 100644
--- a/SDK/Structural Analysis SDK/Examples/SectionPropertiesExplorer/SectionPropertiesExplorer.csproj
+++ b/SDK/Structural Analysis SDK/Examples/SectionPropertiesExplorer/SectionPropertiesExplorer.csproj
@@ -41,11 +41,11 @@
- ..\..\..\..\..\References\Revit\RevitAPI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPI.dll
False
- ..\..\..\..\..\References\Revit\RevitAPIUI.dll
+ C:\Program Files\Autodesk\Revit 2021\RevitAPIUI.dll
False