<?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/7bfe0b579a044c16835805593e0c2676&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/7bfe0b579a044c16835805593e0c2676-cbda58b80e403343.gif</thumbnail_url><duration>1613.583</duration><title>Day 18 - 3D Cutter - 04 - Code</title><description>In this Loom I start coding a proof of concept 3D cutter in Revit using Python and pyRevit. I select a Floor element and a curve, then prepare for cutting by converting the floor to solid geometry and building an infinite plane from the curve endpoints midpoint. I use Boolean operations utilities, cut with half space, and create new floor elements from the top face curve loops. I run a test cut to confirm we get two halves, then outline flipping the cut plane via inverted plane normal. No action was requested from you.</description></oembed>