Ok. So for the ceiling grid here are a couple of options. One is a bunch of programing. The second will take some basic drawing input in Revit.
Ther is no direct way to get the material pattern geometry directly. So you need to build your own representation. Jeremy discusses that here:
The Building Coder: Hatch Line Dimensioning Voodoo (typepad.com)
See Option 3.
There is also some discussion here.:
Align Surface Patterns to Wall Edge - Dynamo (dynamobim.com)
These are old topics and the Code isn’t for 2023, So there are updates needed, such as Surface PatternID is now SurfaceForegroupdPatternID. Or it could be SurfaceBackroundPattern ID.
Not straightforward. But might get you what you want.
A more straightforward approach would be to feed dynamo a Revit object dynamo could easily digest.
Options might include:
- Alight fixture centered in a grid.
- Two model lines placed on the ceiling grid X and Y grid lines. Could be any two perpendicular edges.
- A simple generic family - (Could be as simple as just a circle or X.)
All of these will be able to determine a origin (location) point for the intersection of the ceiling grid. In the example of the light, you can see that from the location of the light I can get the U and V offset needed based on the size of the light to the grid lines surrounding it. Using the rotation of the light, I can get the direction for the grid.
With this basic information, you can use the ceilings geometry to pull out the bottom plane, the boundary loops and build a grid. and or tiles.
You could also make a small widget that is placed on the ceiling and locked to the grid. The same properties could be used to start building your grid. Personally, I’d go this direction out of the 3 options, because it would be easy to pull all the data I need with one simple widget. And I could always look for the same widget. And it gives the draftsman a simple visual tool to work with
You could also lace a couple of model lines on the ceiling in the U and V directions. Then use their intersection as the origin for the grid and their endpoints for rotation direction. Not my favorite option.
So, a lot depends on your programing skill level and how much python you want to code. Time vs elegance.