Normal vector of family

Hi, what is the workflow to extract a normal vector from a family instance? familyinstance.facingorientation seems to only extract a 2D vector in the XY plane, at least in my testing. Just not sure how to get started.


That’s the method I have used. Try placing one family which is face based and doesn’t have always vertical enabled, placing one family instance on a level plane, and another family instance on a vertical reference plane.

Hmmm, my family is workplane-based, and selecting Always Vertical isn’t an option because I need it to orient to the the placement of the host family which isn’t always vertical.

FYI, the family I want the normal vector from is a generic model placed inside a repeater inside a generic model inside another generic model. So it all has to stretch and twist along curves. If that matters. I’ve got all that working the way I want it but now I need to extract some geometric information for use in another program.

If I inserted a plane into the family, would there be a way to extract the normal vector of the plane maybe? Really stumped here.

Try this:


I did some investigation coming at this a couple ways.

As I mentioned, familyinstance.facingorientation extracts a vector aligned to the family in the xy plane, but does not seem to return any z component (the underlying families are tilted at angle relative to the XY plane):

I also tried creating a line in the family, then extracting that line and generating a vector from the start points and end points, which seems like it should have worked but doesn’t, the vectors are all pointing in the same direction in the XY plane, or mirrored? I can’t really figure out what’s happening there:

Where is FamilyInstance.TotalTransform in Springs package? I installed it but I don’t see it. I’m using Dynamo 2.0.0 if it matters.

Sorry - labeled that one wrong! It’s in Archi-Lab.

Graph attached.

Family Instance Facing Orientation 3D.dyn (4.5 KB)

Woohoo, that’s it:

Thank you so much for your help-- I’ve been banging my head against this particular rock for awhile now.

1 Like

Glad I could help you out. Please mark a post as a solution so we can reduce the concussion rate for future generations of users. :slight_smile:


Such an elegant way of putting it, reducing the concussion rate :joy:

1 Like