Modify results from Element.GetLocation?

Scenario: I am creating linework on walls in a plan view. The linework is created as long as the bottom of the wall starts at the plans associated level. If the wall starts below the associated level, the line is not created. I, however, DO want the linework to be created on all walls that start on or pass through the plans associated level.

(Note the first two walls have a z value of 100 and end up as Null in the final node while the other two walls have a z value of 111.083 and are created successfully).

So my questions are:

  1. Is it possible to modify the geometry output of an Element.GetLocation node? If so, how?

  2. Is it possible to get the z value of a level and plug that into the modified geometry output? (Edit: It appears that Level.Elevation will get the Z value for me, so I just need help with modifying the actual Geometry output.)

I believe these two modifications would fix my problems, I just cant seem to find answers by searching. :frowning:

Thanks in advance!!

  1. Have you tried Cure.Startpoint and Curve.Endpoint, followed by Point.X and Point.Y for each? (From the Element.GetLocation node)
1 Like

@Ewan_Opie Hmm. I think you are on to something. :wink:

Looks like I can parse in the Z value from levels (its called X because X grabs the first number and the level value comes in at the first number also) as shown in the picture. I will try plugging this into my entire script and see if this works.

Thanks for pointing me in the right direction!!

@Ewan_Opie Here is one other question. Once I parse out the start and end point of the curves, how do I parse them back together so that DetailComponent.ByCurve will accept the data?

Once you have modified values for the points (using the new Z) just use the Line.ByStart/EndPoints OOTB node. :grinning: