<?xml version="1.0" encoding="UTF-8"?><oembed><type>video</type><version>1.0</version><html>&lt;iframe src=&quot;https://www.loom.com/embed/0bd24d2814574660b93503eda9cd5910&quot; frameborder=&quot;0&quot; width=&quot;1920&quot; height=&quot;1440&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;</html><height>1440</height><width>1920</width><provider_name>Loom</provider_name><provider_url>https://www.loom.com</provider_url><thumbnail_height>1440</thumbnail_height><thumbnail_width>1920</thumbnail_width><thumbnail_url>https://cdn.loom.com/sessions/thumbnails/0bd24d2814574660b93503eda9cd5910-2522229c6c7da301.gif</thumbnail_url><duration>854.458</duration><title>Day 18 - 3D Cutter - 02 Research</title><description>In this Research for 3D Cutter Loom, I cover coding blocks for selecting elements with PyRevit, extracting 3D solid geometry, and converting a line to a plane for cuts. I show how to cut a solid with cut with half spaces using a solid and two planes, then how to mirror the plane by reversing the normal, and pick the top face by checking face normal against XYZ base Z. I also recreate floors from curve loops and copy parameter values between old and new floors, handling read only parameters. I reference key Revit API docs like BooleanOperationUtils cut with half spaces. There is no explicit action requested from viewers.</description></oembed>