Ah. So… Look at cool technology and hit ‘locate’, dimension written in the parameter be damned?
![]()
Talked with one of the higher ups and pretty much it’s like ex2, for the ones that aren’t then those aren’t in mind for this. Just purely orthogonal grids with their respective rotations. Dimensions being applied would be a plus, sim to the original script I posted. But that is quite a bit beyond me at the moment.
So this should work fine for example 2, as long as you are filtering out grids ‘below’ or ‘above’ the column in question. You should also pull stuff onto a single plane as you go (or you risk getting incorrect results with one thing being from level 1 to level 200 (grid line at level 1) and another grid much further away from level 3 to level 40. All columns at level 200 will be closer to the grid at level 3 even if they are on grid at level 1.
I think it’s typical practice for us that grids become full height with our buildings or at least match column heights if we have a 30+ story building.
I’m really going to have to look into that sort by key node as well, that’s really interesting.
Right. But if:
- Level L0 is at elevation 0, Level L50 is at elevation 50, Level L150 is at elevation 150, and level L200 is at elevation 200
- Grid 1 runs from L0 to L200. This grid has it’s grid drawn at L0 (lowest level).
- Grid 2 is 49 units away from G1 running parallel, and extends from L50 to L150. This grid has it’s grid line drawn at L50 (lowest level).
- Column located on level L50 on grid G1 will return the nearest grid of G2 as it’s 49 units from that grid’s curve, but 50 units from G1 which is down at L0.
So basically for a safety factor just flatten everything out to a plane, that’s where you mentioned the vector by 2 points and getting rid of Z? Is that on an Active View basis or depends on preference?
I might be misunderstanding, but view is irrelevant as model elements have their location in 3D space not local view space.
haha Scratch the previous message then.
End goal is what we have as perpendicular to the grids, for the typical rectangular buildings the current version works perfectly.
I got it to pull the perpendicular intersections ![]()
But now I’ve just got to make sure it’s pulling the right grid with the right dimension and doesn’t swap them like it’s doing currently.
@jacob.small , I think this may involve using a List.SortByKey, but I’m not super sure. My end goal is as long as the Grid name matches the distance I’m pulling, that’s fine with me. It doesn’t matter if it’s horizontal or vertical first, granted, the NICE would be one then the other. (but that’s a potential problem for future me)
@jacob.small Below is a purged model as well as the dyn script. It’s soo close to being what I’ve been looking for. Currently it pulls the “X” location for the distance but it’s getting the grids mixed up occasionally. I just can’t figure out how to get the sort to work correctly.
Column Grid Marks.dyn (96.4 KB)
Column Location Test_R23.rvt (4.0 MB)
*edit- got the file size reduced and added a schedule in to compare Dyn to Revits CLM
You were sorting the grids, but not the distances, which are associated to a grid now, not a direction.
Note that I don’t see a way to pull the numbers as + or - in this method; going to need to develop a “is on right” method. I’ll try and look into it next week.
Column Grid Marks - from JK (JWS Edit).dyn (97.5 KB)
I ended up realizing the ± part later last night, I’m thinking getting the vector direction to the grid intersection should give me the correct signs. If I can test thru today I’m going to try before my trip.
I’d go something like this:
- Make sure all grid lines move Y or X positive.
- Get the coordinate system at parameter 0
- Transform the point from this coordinate system to the global coordinate system
- Get the sign of the X value of the transformed point.
I can get the grids flipped around so one of them is always positive.
Which element am I getting the coordinate system for, the column? I don’t understand the parameter 0 part.
I’ll try and build something later this week, but parameter 0 is the start parameter of the grid’s curve. Y would follow the curve’s direction, X would be tangent on the curve’s plane, and Z would be normal to the curve’s plane.
I’ve spent the better part of the morning trying to figure this out, between CoordinateSystem Transforms and a few other things, I’ll have to give up on this for about 2 weeks till I get back. Thank you for all your help so far!!
-KP
