Place family instance to be perpendicular to one point

Hi there,

I have been developing some tool to make a work-flow easier and recently I have got one issue.
In left pic, I placed the family instance on work plane which is perpendicular to world X,Y.

But new request i got recently is it should be perpendicular to a point which is dividing an alignment like right pic.

In my case, I could not use work plane (reference plane) because it must be perpendicular to a point.
I have done some research. however i could not find good solution.
Do you guys have an any idea?


1 Like

Hi @dylim
In math there is no definition of a line perpendicular to a point, if you are in 3 dimensional world and you want to get a line definition, one of the easiest ways is to define a plane, from your images i can guess you can get another point on the far wright which handles the top line of your shape, now you got two points (the one in the image and the one on the far right) and the plane needs at least 3 point, you can use the first point and translate it by the direction of alignment

bare with me, i know it is a little bit complicated

after you define the plane by these three points you can use the plane normal (which is the perpendicular vector) to translate the first point, now you got two points you can get a line from them and that line should be perpendicular to the plane you defined.

I hope this is help full if not please tell, and if you can send your .dyn file i can help you more


Likely this is better done in the massing environment.

That said Curve.CoordinateSystemAtParameter will give you a local coordinate system at the curve. You can then us this to transform the desired geometry and create your family instance.

If this is unclear please post a bit more - your graph, the geometry you are looking to post, and a base curve to host along.

@Jaafar_Al_Nasire, @JacobSmall
Thank you guys. such a good idea!
Let me try and I will post the result as soon as I finish it.
It helps a lot.

1 Like

Hi @JacobSmall
Curve.CoordinateSystemAtParameter would give a local z vector that is not perpendicular to the shape in fact it is perpendicular to the curve, and if the curve has 3D geometry then it’s tangent would be changing along its length (I mean the tangent position)

I had this issue before

Hey guys, i tried to use your method, but somehow i found easier way.

I found the perpendicular plane using nodes in the pic.
and placed profile using FamilyInstance.Byface

1 Like