Solved! Go to Solution.
Solved by jeremytammik. Go to Solution.
Solved by jeremytammik. Go to Solution.
Dear Edwin,
Happy New Year to you and thank you for submitting your question here on the Revit API forum.
Yes, indeed, I have run into that issue in the past already: an isolated face may have its normal vector reversed compared to the face retrieved from the solid it belongs to.
Yes, of course you can retrieve the void form elements from a family via a filtered element collector.
As always, you can use the RevitLookup database exploration tool to explore the family database elements and their properties to research how to set up an appropriate filter:
https://github.com/jeremytammik/RevitLookup
RevitLokup is compiled and therefore displays property values, but does not evaluate all object methods.
If you need a more interactive Revit API exploration, you can try out the Revit Ruby and Python shells:
Best regards,
Jeremy
Thanks Jeremy,
I'll proceed as you suggest & post the filter code once I've worked it out.
Thank you!
Please also note what Revitalizer just pointed out in a separate thread:
PlanarFace.Normal does not reliable give you a vector directing outwards.
RevitAPI.chm says: "This property is the 'surface normal' vector. This is not necessarily the normal vector pointing out of the solid that contains the face, to get that value use ComputeNormal(UV)."
Cheers,
Jeremy
Thanks very much Jeremy!
The PlanarFace's Normal property vs the ComputeNormal method's return value was the missing piece of the puzzle..
I can only echo jasonkhc & say that you guys are most helpful!
Cheers,
Edwin