{"id":154,"date":"2025-08-14T12:56:54","date_gmt":"2025-08-14T16:56:54","guid":{"rendered":"https:\/\/tabeertariq.com\/?page_id=154"},"modified":"2025-08-25T22:12:06","modified_gmt":"2025-08-26T02:12:06","slug":"morphoplan","status":"publish","type":"page","link":"https:\/\/tabeertariq.com\/?page_id=154","title":{"rendered":"MorphoPlan"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Professional Project: Stantec<\/em><\/p>\n\n\n\n<p><em>Role: Lead Computational Designer<\/em><\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote alignwide has-text-align-center is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Converting Space Planning masses to refit walls without redrawing each element<\/p>\n<\/blockquote>\n\n\n\n<div style=\"height:42px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Challenge<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote alignwide is-layout-flow wp-block-quote-is-layout-flow\">\n<p>In our office and systems for working, traditionally designers use masses to sketch program with simple to test adjacencies, sizes and planning strategies. The slowdown happens when that sketch has to become real walls in Revit, the elaborate tracing, checking thicknesses, aligning, and re\u2011doing work when plans shift. This tedious exercise during the schematic stage of the project takes a lot of time and manual labour work. My aim was to create a program which would automate these recurring development steps so designers can spend their valuable time on better things.  <\/p>\n\n\n\n<p>MorphoPlan closes that gap by converting space\u2011planning geometry directly into walls at the right level, height, and thickness, so users can keep iterating without paying a \u201cdocumentation tax.\u201d It\u2019s built for designers\/model managers stepping from planning to modeling phase on a live project.<\/p>\n<\/blockquote>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-container-core-column-is-layout-0ab540ad wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e738b0ef22b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e738b0ef22b\" class=\"wp-block-image alignright size-full wp-lightbox-container\"><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"426\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Spaceplanningmassestowall-1.gif\" alt=\"\" class=\"wp-image-311\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69e738b0ef6f8&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69e738b0ef6f8\" class=\"wp-block-image alignleft size-full wp-lightbox-container\"><img decoding=\"async\" width=\"800\" height=\"418\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/ezgif.com-optimize-2.gif\" alt=\"\" class=\"wp-image-313\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:41px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Process<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote alignwide is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Design rule<\/strong>: Masses which are next to each other (spaces that will share a wall) should have a GAP\/SPACE in between them. This GAP represents the thickness of wall which will occur between the boxes. Keep in mind the wall thickness(type) required and adjust the GAP size accordingly. (for e.g. the final wall thickness should be 8&#8243; so the GAP\/spacing between the masses should be adjusted to 8&#8243; prior to running the script).<\/p>\n<\/blockquote>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-style-default is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><em>Matrix<\/em><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Batch automation:<\/strong>&nbsp;Build walls for an entire massing plan in one click.<\/li>\n\n\n\n<li><strong>Flexible selection:<\/strong>&nbsp;Convert all masses, or just the ones you pick.<\/li>\n\n\n\n<li><strong>Parametric control:<\/strong>&nbsp;Choose level, type, and height before application.<\/li>\n\n\n\n<li><strong>Smart thickness logic:<\/strong>&nbsp;Uses gaps between boxes to infer wall thickness (i.e 8&#8243; Gap between all masses), keeping everything consistent.<\/li>\n<\/ol>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><em>Features<\/em><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Flexible scope<\/strong>: Generate walls for&nbsp;all&nbsp;space planning masses in the view or just the ones selected.<\/li>\n\n\n\n<li><strong>Smart placement<\/strong>: Walls will host on centerline of gaps(offset)<\/li>\n\n\n\n<li><strong>Consistent thickness logic<\/strong>: Gap are read as wall type thickness. So, it sits exactly in the middle and doesn\u2019t take away from room area<\/li>\n\n\n\n<li><strong>Parametric control<\/strong>: Users can control selection, height, type, level of wall generation.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<blockquote class=\"wp-block-quote alignwide is-layout-flow wp-block-quote-is-layout-flow\">\n<p> I built the scripts in small steps, testing and adjusting along the way. Each round of testing surfaced new constraints (like preventing overlap into the mass geometry) or complexities like overlapping walls being duplicated. The complexities had to be resolved in sprints. The system follows&nbsp;incremental logic through step-by-step iterations, so the final workflow feels simple for the user even though it evolved through multiple cycles of refinement.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Design<\/em>:<\/h2>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Select space planning masses.<\/li>\n\n\n\n<li>Import + cleanup + explode geometry.<\/li>\n\n\n\n<li>Get all base surfaces of geometry.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Get perimeter curves of base surfaces.<\/li>\n\n\n\n<li>Offset these to create location lines in cc.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"894\" height=\"1117\" data-id=\"320\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29.jpg\" alt=\"\" class=\"wp-image-320\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29.jpg 894w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-240x300.jpg 240w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-820x1024.jpg 820w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-768x960.jpg 768w\" sizes=\"(max-width: 894px) 100vw, 894px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"1024\" data-id=\"322\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-3-820x1024.jpg\" alt=\"\" class=\"wp-image-322\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-3-820x1024.jpg 820w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-3-240x300.jpg 240w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-3-768x960.jpg 768w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-3.jpg 894w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:59px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Generate vectors for each line.<\/li>\n\n\n\n<li>Vector.cross product to check for parallelism +.<\/li>\n\n\n\n<li>Check if geometry (mutual) intersects one another.<\/li>\n\n\n\n<li>Check if both conditions meet. true<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Then capture each in separate group lists using sets.<\/li>\n\n\n\n<li>Get all points. Startpt + endpt and set union.<\/li>\n\n\n\n<li>Sort points from min to max magnitude.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"1024\" data-id=\"328\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-4-820x1024.jpg\" alt=\"\" class=\"wp-image-328\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-4-820x1024.jpg 820w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-4-240x300.jpg 240w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-4-768x960.jpg 768w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-4.jpg 894w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"1024\" data-id=\"329\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-5-820x1024.jpg\" alt=\"\" class=\"wp-image-329\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-5-820x1024.jpg 820w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-5-240x300.jpg 240w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-5-768x960.jpg 768w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-5.jpg 894w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:64px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Pick first and last point to draw new lines.<\/li>\n\n\n\n<li>Assign wall by inputs height, level, wall type.<\/li>\n\n\n\n<li>Hit run! and your walls will be populated.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><em>Code<\/em>:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Left: Base surfaces of all masses<\/li>\n\n\n\n<li>Right: <\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"828\" data-id=\"332\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Pi7_GIF_CMP.gif\" alt=\"\" class=\"wp-image-332\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"938\" height=\"919\" data-id=\"343\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/python-1.png\" alt=\"\" class=\"wp-image-343\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/python-1.png 938w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/python-1-300x294.png 300w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/python-1-768x752.png 768w\" sizes=\"(max-width: 938px) 100vw, 938px\" \/><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:64px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Flow Diagram<\/em><\/h2>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-content-justification-center is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0\">\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-7-1-1024x576.jpg\" alt=\"\" class=\"wp-image-339\" style=\"aspect-ratio:1.7777777777777777;object-fit:cover;width:1157px;height:auto\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-7-1-1024x576.jpg 1024w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-7-1-300x169.jpg 300w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-7-1-768x432.jpg 768w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-7-1-1536x864.jpg 1536w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Tabeers-Computational-designboard-Frame-29-7-1-2048x1152.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Dynamo Script<\/em><\/h2>\n\n\n\n<div class=\"wp-block-group alignfull has-global-padding is-content-justification-center is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0\">\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group alignfull has-global-padding is-content-justification-center is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Untitled-2-2-1-1024x576.jpg\" alt=\"\" class=\"wp-image-350\" style=\"aspect-ratio:1.7777777777777777;object-fit:cover;width:1163px;height:auto\" srcset=\"https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Untitled-2-2-1-1024x576.jpg 1024w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Untitled-2-2-1-300x169.jpg 300w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Untitled-2-2-1-768x432.jpg 768w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Untitled-2-2-1-1536x864.jpg 1536w, https:\/\/tabeertariq.com\/wp-content\/uploads\/2025\/08\/Untitled-2-2-1-2048x1152.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Solution<\/h2>\n\n\n\n<p>One click generates walls around the selected masses, positioned on the gap centerlines, with the specified type\/level\/height. It respects the planning intent and removes the tedious redraw step that normally follows diagramming<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Impact<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Happens very frequently on projects.<\/li>\n\n\n\n<li>Quickly populates a standard wall family around masses<\/li>\n\n\n\n<li><strong>Speed:<\/strong>&nbsp;hours of tracing become minutes of setup.<\/li>\n\n\n\n<li><strong>Fewer errors:<\/strong>&nbsp;consistent thickness and alignment from the start (because the gap drives the wall).&nbsp;<\/li>\n\n\n\n<li><strong>Scale:<\/strong>&nbsp;works across large plans and multi\u2011level studies; the same pattern can extend to floors, ceilings, or even services once the planning grid stabilizes.<\/li>\n\n\n\n<li><strong>Keeps momentum:<\/strong>&nbsp;I can iterate on layout without paying a manual rework cost each round.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:47px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading alignwide has-text-align-center\">Key Tech Stack<\/h2>\n\n\n\n<div class=\"wp-block-buttons alignwide is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Python<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Dynamo<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Revit<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Parametric geometry translation<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Rule Design<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">BIM<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Productionization<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">User research<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\">Key Metric<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:48px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading alignwide has-text-align-center\">How I use it: User manual<\/h2>\n\n\n\n<div class=\"wp-block-buttons alignwide is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-left wp-element-button\">User Manual for MorphoPlan<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Professional Project: Stantec Role: Lead Computational Designer Converting Space Planning masses to refit walls without redrawing each element Challenge In our office and systems for working, traditionally designers use masses to sketch program with simple to test adjacencies, sizes and planning strategies. The slowdown happens when that sketch has to become real walls in Revit, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":11,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-154","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/pages\/154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tabeertariq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=154"}],"version-history":[{"count":40,"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/pages\/154\/revisions"}],"predecessor-version":[{"id":355,"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/pages\/154\/revisions\/355"}],"up":[{"embeddable":true,"href":"https:\/\/tabeertariq.com\/index.php?rest_route=\/wp\/v2\/pages\/11"}],"wp:attachment":[{"href":"https:\/\/tabeertariq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}