Finding 8 points of intorsion between duct and wall or floor

Hi guys,

I am looking forward to finding a way for detecting 4 points of intersection points of duct and wall or floor in each side.
I tried with Geometry.Intersect but it shows just the center point in each side of the wall.
I was wondering if you could help me.

Option 1: Use Element.Geometry instead of Element.GetLocation so that the intersect geometry is now a rectangular extrusion instead of a line. Find the cornerpoints of this new geometry. This may cause the script to slow down if you are running a lot of ductwork through this.

Option 2: Get the vector between Point A and Point B in your intersect. Use that as the normal vector to define planes at A & B. Retrieve the duct height/width from the parameter information and manually translate from the centerpoint to the four corners on each side. This shouldn’t require any more time to run that what you’re currently doing.

Quick doodle.