<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Get Face Without Inserts in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7375289#M56137</link>
    <description>&lt;P&gt;Hi guys, I was wondering if there's a way of getting a wall face without the inserts (short of temporarily unloading or deleting the inserts)? I've got an add-in that bases things off wall faces and projecting points onto them, but my issue is that if I try and project a point on a window it "misses" that wall. So ideally I'd like to be able to project onto the face sans all inserts.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been using HostObjectUtils.GetSideFaces to get the faces but wasn't sure how to make it ignore inserts (if it's possible or if you have to access that data another way).&lt;/P&gt;</description>
    <pubDate>Wed, 13 Sep 2017 01:46:55 GMT</pubDate>
    <dc:creator>mastjaso</dc:creator>
    <dc:date>2017-09-13T01:46:55Z</dc:date>
    <item>
      <title>Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7375289#M56137</link>
      <description>&lt;P&gt;Hi guys, I was wondering if there's a way of getting a wall face without the inserts (short of temporarily unloading or deleting the inserts)? I've got an add-in that bases things off wall faces and projecting points onto them, but my issue is that if I try and project a point on a window it "misses" that wall. So ideally I'd like to be able to project onto the face sans all inserts.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been using HostObjectUtils.GetSideFaces to get the faces but wasn't sure how to make it ignore inserts (if it's possible or if you have to access that data another way).&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 01:46:55 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7375289#M56137</guid>
      <dc:creator>mastjaso</dc:creator>
      <dc:date>2017-09-13T01:46:55Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7376207#M56138</link>
      <description>&lt;P&gt;Hi!&lt;BR /&gt;&lt;BR /&gt;May be you need to use temporary transaction &lt;A href="http://thebuildingcoder.typepad.com/.services/blog/6a00e553e16897883300e553fcc7418834/search?filter.q=temporary+transaction+trick" target="_blank"&gt;http://thebuildingcoder.typepad.com/.services/blog/6a00e553e16897883300e553fcc7418834/search?filter.q=temporary+transaction+trick&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Just open transaction, remove all wall inserts, regenerate document, than perform calculations you need, than rollback your transaction&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 07:10:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7376207#M56138</guid>
      <dc:creator>aignatovich</dc:creator>
      <dc:date>2017-09-13T07:10:41Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7377873#M56139</link>
      <description>&lt;P&gt;Ah thanks, I did look into that but unfortunately I don't think it's possible since the walls / windows are in a linked model. Currently I'm thinking about trying to get the wall curves and create a surface out of them to project onto but I haven't had a chance to delve into how feasible or computationally intense this is (since it's gonna need to happen hundred - 1000s of times per add-in execution). I was hoping there was some built in method or class to get just the face without the inserts.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 15:41:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7377873#M56139</guid>
      <dc:creator>mastjaso</dc:creator>
      <dc:date>2017-09-13T15:41:58Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7377971#M56140</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/1058186"&gt;@mastjaso&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I think you need to be more specific about what an 'insert' is. Is it a native Revit opening? A placed familyinstance with a void?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have you considered:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;(Temporarily)&amp;nbsp;creating a substitute wall without 'inserts' in your model?&lt;/LI&gt;
&lt;LI&gt;Can you create a plane/face using the (outer) edge loops of the wall Geometry?&lt;/LI&gt;
&lt;LI&gt;If the 'inserts' aren't visible at a given detail level, then you may be able to get the Geometry at that detail level (using Options).&lt;/LI&gt;
&lt;LI&gt;If the 'inserts' aren't visible in a given view, then you may be able to get the Geometry from that view (using Options).&lt;/LI&gt;
&lt;LI&gt;(Temporarily) filling the holes with an in-place solid.&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Wed, 13 Sep 2017 16:14:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7377971#M56140</guid>
      <dc:creator>matthew_taylor</dc:creator>
      <dc:date>2017-09-13T16:14:20Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7379843#M56141</link>
      <description>&lt;P&gt;Hi!&lt;BR /&gt;&lt;BR /&gt;We still don't know, what you want to achieve. For example, for planar walls you may get side face, create transform object with face.Origin, face.XVector, face.YVector, then get Transform.Inverse. You may transform face outer boundary curveloop and your point to this coordinate system (all z coordinates of outer boundary should be zeros, you may consider this polygon as flat). Removing z coordinate of your point you'll get projection to planar plane, then you may easily determine if the point lies in your polygon with a lot of approaches, for example, you may use NetTopologySuite library or realize algorithm by yourself. This will work very fast, you may easily perform thousands calculations&lt;/P&gt;</description>
      <pubDate>Thu, 14 Sep 2017 08:39:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7379843#M56141</guid>
      <dc:creator>aignatovich</dc:creator>
      <dc:date>2017-09-14T08:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7380421#M56142</link>
      <description>&lt;P&gt;Hi, thanks for the reply, unfortunately other deadlines have kept me from actually attempting any of these solutions yet. Basically I'm going to have walls of possibly any type (planar or curved) and I want to get their blank face as if there were no doors or windows to project a point on to. I'm going to ignore the case of specific wall openings because I don't think that's likely to arrive in this use case.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was thinking of using the outer curve loops and constructing a surface to project onto, however, I've got to do some testing, I'm not sure if the outer curve loops would include the cutout of a door (since it's touching the bottom edge of the wall) but for now, I'm thinking the simplest solution might be&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/98018"&gt;@matthew_taylor&lt;/a&gt;'s suggestion to use a 3D view with no doors or windows loaded in it, I completely forgot that was an option for getting geometry.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I'll be sure to report back on what I end up trying and how well it works though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;J&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Sep 2017 12:33:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7380421#M56142</guid>
      <dc:creator>mastjaso</dc:creator>
      <dc:date>2017-09-14T12:33:34Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7393204#M56143</link>
      <description>&lt;P&gt;Dear Mastjaso,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your query, and thank you very much Alexander and Matt for your help and valuable input.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I searched The Building Coder for the word 'gross', as in gross versus net surface area of a wall, and found some hits on discussions that may be of use to you if you continue this investigation:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Calculating Gross and Net Wall Areas -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2015/03/calculating-gross-and-net-wall-areas.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2015/03/calculating-gross-and-net-wall-areas.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;FindInserts Retrieves All Openings in All Wall Types -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2015/03/findinserts-retrieves-all-openings-in-all-wall-types.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2015/03/findinserts-retrieves-all-openings-in-all-wall-types.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;IFCExportUtils Determine Door and Window Area -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2015/03/ifcexportutils-methods-determine-door-and-window-area.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2015/03/ifcexportutils-methods-determine-door-and-window-area.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Gross and Net Wall Area Calculation Enhancement -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2015/04/gross-and-net-wall-area-calculation-enhancement-and-events.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2015/04/gross-and-net-wall-area-calculation-enhancement-and-events.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Determining Wall Cut Area for a Specific Room -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2016/04/determining-wall-cut-area-for-a-specific-room.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2016/04/determining-wall-cut-area-for-a-specific-room.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Determining Wall Opening Areas per Room -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2016/04/determining-wall-opening-areas-per-room.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2016/04/determining-wall-opening-areas-per-room.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Copy Local False and IFC Utils for Wall Openings -- &lt;A href="http://thebuildingcoder.typepad.com/blog/2017/06/copy-local-false-and-ifc-utils-for-wall-openings.html" target="_blank"&gt;http://thebuildingcoder.typepad.com/blog/2017/06/copy-local-false-and-ifc-utils-for-wall-openings.html&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Oh, and be sure to check out the SpatialElementGeometryCalculator add-in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://github.com/jeremytammik/SpatialElementGeometryCalculator" target="_blank"&gt;https://github.com/jeremytammik/SpatialElementGeometryCalculator&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It demonstrates use of SpatialElementGeometryCalculator to determine net and gross wall area per room and lists other relevant The Building Coder discussions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jeremy&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2017 07:50:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7393204#M56143</guid>
      <dc:creator>jeremytammik</dc:creator>
      <dc:date>2017-09-20T07:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: Get Face Without Inserts</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7396012#M56144</link>
      <description>&lt;P&gt;Tucked away in the ExporterIFCUtils are the 2 methods you need. They work without transaction and also on walls in linked files.&lt;/P&gt;
&lt;P&gt;ExporterIFCUtils.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;HasElevationProfile&lt;/SPAN&gt;(wall)&lt;/P&gt;
&lt;P&gt;ExporterIFCUtils.&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;GetElevationProfile&lt;/SPAN&gt;(wall)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You need to check first if the wall has a profile&amp;nbsp;&amp;nbsp;[ .&lt;SPAN style="color: rgb(25, 25, 112); font-weight: bold;"&gt;HasElevationProfile&lt;/SPAN&gt;(wall) ], because the GetElavationProfile method will throw an Exception if the wall has no profile.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To use the methods, add&amp;nbsp; RevitAPIIFC.dll as a reference.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;using Autodesk.Revit.DB.IFC;

if (ExporterIFCUtils.HasElevationProfile(wall))
{
    	IList&amp;lt;CurveLoop&amp;gt; profile = ExporterIFCUtils.GetElevationProfile(wall);
}&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2017 22:44:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/get-face-without-inserts/m-p/7396012#M56144</guid>
      <dc:creator>FAIR59</dc:creator>
      <dc:date>2017-09-20T22:44:06Z</dc:date>
    </item>
  </channel>
</rss>

