Adaptive Component on Arc & Straight Wall Edge

I created an adaptive component with 2 control point. When i applied to an arc profile wall edge it reverse turn.

but when i applied the same code to a straight wall edge it is correctly executed.

How can I solve this problem?

Maybe a simple question but i need a tip, please…

Thanks

Array_Detail

 

 

 

 

 

 

 

Family

 

 

 

 

 

 

 

 

 

Arc

 

Sounds like in the first case the curve was drawn left to right and in the second it was drawn right to left. Your easiest option would be to add an “If” node and toggle between the default and reversed points list option depending on the output. Alternatively, you’ll have to create some kind of a check that evaluates the start and end points of the curve.

Dimitar,

thank you for your answer.

actually walls created by the same way. In fact i tried all the directions for all of them. but it didn’t work.

 

I had a quick look and it seems that the “Select Edge” node has very specific way of presenting curves.

I drew two pairs of walls - one straight and one arched, one wall from left to right, the other opposite.

Capture3a

 

I compared their location curve and the outcome was as expected - the start points were at opposite ends.

Capture3b

Then I selected matching edges on each wall and the start points were at the same edge for each pair.

Capture3c

Once I created some simple ACs, they were placed according to the “Select Edge” curve start point - repeating your initial observation.

I’m not quite sure how an edge’s start point is defined in Revit… Maybe someone else has additional input on the subject?

It doesn’t seem to be the resulting curve’s normal, nor the wall’s project orientation.

Hi Bahar,

It’s not a very neat solution but may be handy.

You may query the List of points according to the walls location curve.

If the first point in the list is closer to the wall location curve’s end point then it means the selected edge’s direction is opposite of the wall’s location curve.

So you reverse the list before pairing.

pool