Ripples on a Pond_Anchen

Please enter the following info in the fields above:

  • Your Name (just type your name, then click Create to add yourself to the list)
  • Paste the link to your BIM 360 folder in the BIM 360 Link field.

Image of My Model

Paste a screenshot of your model geometry here...



This model is created in Dynamo following the given assignment instructions. A rectangular grid is firstly created by defining the number of points and step size, and setting up the cross product lacing. Then, a point is created to represent the location of pebble in the pond. "Geometry.DistanceTo" is used to compute the distance between the pebble and each grid point. This distance is then used as the input to a sine wave. Since the sine value is very small, an amplification factor is defined to increase the value. To capture the effect of diminishing height as move further away from the pebble location, the amplified sine value is divided by a non-zero distance. In order to have positive heights for all cylinders, a base offset is added to shift the entire baseline up. After using "Geometry.Translate" to find the top point of each cylinder, the cylinder object can then be created using "Cylinder.ByPointsRadius". To avoid the cylinder objects overlap with each other, the cylinder radius is predefined to be 1/3 of the spacing between grid points. A "cylinder" mass family is then imported to the Revit model and its corresponding family type is selected in Dynamo. Lastly, "FamilyInstance.ByPoint" is used to place an instance at each grid point and "Element.SetParameterByName" is used to set the radius and height for each cylinder element. After running the script in Dynamo, the cylinder elements are created in the Revit Model.