<?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 Re: How to get the geometry of Opening in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118368#M5992</link>
    <description>&lt;BLOCKQUOTE&gt;Oleg wrote:&lt;BR /&gt;But what is "opening geometry" seems not so simple question.&lt;/BLOCKQUOTE&gt;
Correct - this question rises above the level of simple geometry, and ArchiCAD has no facility for that kind of data. I have even greater problems exporting data for thermal modelling for this reason, coupled with the fact that ArchiCAD models have no material data, e.g. thermal properties.</description>
    <pubDate>Wed, 14 Jul 2010 11:06:12 GMT</pubDate>
    <dc:creator>Ralph Wessel</dc:creator>
    <dc:date>2010-07-14T11:06:12Z</dc:date>
    <item>
      <title>How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118360#M5984</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;Dear Support team,&lt;BR /&gt;I need your help.&lt;BR /&gt;I created an Add-on, and try to export the geometry data from ArchiCAD12. But I met a problem.&lt;BR /&gt;As you know, when I draw a &lt;STRONG&gt;door &lt;/STRONG&gt;or &lt;STRONG&gt;window&lt;/STRONG&gt; onto the &lt;STRONG&gt;wall&lt;/STRONG&gt;, an &lt;STRONG&gt;opening &lt;/STRONG&gt;will be created too. At this moment, I can get the geometry data or wall, door and window, which combines by lots of polygons, edges and vertices.&lt;BR /&gt;But how can I get the geometry data of &lt;STRONG&gt;opening&lt;/STRONG&gt;, include the vertices, edges, polygons, GUID, material, and so on?&lt;BR /&gt;&lt;BR /&gt;Thank you in advances.&lt;BR /&gt;Mike&lt;/DIV&gt;</description>
      <pubDate>Thu, 03 Aug 2023 09:50:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118360#M5984</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2023-08-03T09:50:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118361#M5985</link>
      <description>&lt;BLOCKQUOTE&gt;Mike wrote:&lt;BR /&gt;But how can I get the geometry data of &lt;B&gt;opening&lt;/B&gt;, include the vertices, edges, polygons, GUID,  material, and so on?&lt;/BLOCKQUOTE&gt;
If I understand the question properly, this is not (directly) achievable. When you place a window into a wall, &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;all&lt;E&gt;&lt;/E&gt; the geometry arising from that relationship is found in the bodies of the wall and window elements. There is no 'opening' body.&lt;BR /&gt;
&lt;BR /&gt;
However, you could infer the opening faces based on surface normals etc. This would be easy for ordinary window types, but may be near impossible in the worst cases.</description>
      <pubDate>Thu, 01 Apr 2010 20:15:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118361#M5985</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2010-04-01T20:15:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118362#M5986</link>
      <description>&lt;BLOCKQUOTE&gt;Ralph wrote:&lt;BR /&gt;&lt;BLOCKQUOTE&gt;Mike wrote:&lt;BR /&gt;But how can I get the geometry data of &lt;B&gt;opening&lt;/B&gt;, include the vertices, edges, polygons, GUID,  material, and so on?&lt;/BLOCKQUOTE&gt;
If I understand the question properly, this is not (directly) achievable. When you place a window into a wall, &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;all&lt;E&gt;&lt;/E&gt; the geometry arising from that relationship is found in the bodies of the wall and window elements. There is no 'opening' body.&lt;BR /&gt;
&lt;BR /&gt;
However, you could infer the opening faces based on surface normals etc. This would be easy for ordinary window types, but may be near impossible in the worst cases.&lt;/BLOCKQUOTE&gt;

Dear Ralph Wessel,&lt;BR /&gt;
It looks so worse, and it is really not a good idea to calculate the geometry data of opening by ourselves, and it is so difficult to calculate the worst case. I think the API can provides the some methods for us to get it. Wish you can provide some solutions.&lt;BR /&gt;
Thank you in advance.&lt;BR /&gt;
Mike</description>
      <pubDate>Fri, 02 Apr 2010 01:58:53 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118362#M5986</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-04-02T01:58:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118363#M5987</link>
      <description>&lt;BLOCKQUOTE&gt;Mike wrote:&lt;BR /&gt;It looks so worse, and it is really not a good idea to calculate the geometry data of opening by ourselves, and it is so difficult to calculate the worst case. I think the API can provides the some methods for us to get it. Wish you can provide some solutions.&lt;/BLOCKQUOTE&gt;
I completely agree with you. This is a poor way to calculate opening data, but there is no easy solution with the API. Sorry - I've spent a long time looking into this in the past and didn't come away with a good answer.</description>
      <pubDate>Fri, 02 Apr 2010 10:22:11 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118363#M5987</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2010-04-02T10:22:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118364#M5988</link>
      <description>I need the geometry of openings too. I have a solution for windows and doors but not for empty openings. &lt;BR /&gt;
 &lt;BR /&gt;
For windows and door: &lt;BR /&gt;
1. Collect all vertices of door or window object &lt;BR /&gt;
2. Transform them to xy-plane (side projection of object). &lt;BR /&gt;
3. Calculate convex hull of the points &lt;BR /&gt;
4. Make an extrusion geometry using the points and wall thickness.</description>
      <pubDate>Tue, 13 Jul 2010 10:57:11 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118364#M5988</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-13T10:57:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118365#M5989</link>
      <description>&lt;BLOCKQUOTE&gt;Matti wrote:&lt;BR /&gt;3. Calculate convex hull of the points &lt;BR /&gt;
4. Make an extrusion geometry using the points and wall thickness.&lt;/BLOCKQUOTE&gt;
This is what I was suggesting earlier, but it's not the kind of solution you'd expect via the API. It isn't  100% reliable either, because the geometry of the door/window might not be telling you anything about the opening, particularly if the object incorporates additional detailing for the wall surrounds that should not be considered part of the 'opening'. For example, it is quite possible to create doors/windows that don't have any opening at all, e.g. a niche, but it is impossible to determine that just by analysing the geometry of the object.&lt;BR /&gt;
&lt;BR /&gt;
I've also generated opening profiles by clipping a polygon the full size of the joinery against the wall faces, the remainder presumed to be the opening. But this is also prone to error for the reasons described above and because it assumes the top or bottom of the wall hasn't been clipped (by a roof or SEO for example).</description>
      <pubDate>Tue, 13 Jul 2010 17:33:12 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118365#M5989</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2010-07-13T17:33:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118366#M5990</link>
      <description>Found from documentation of ACAPI_Element_Get3DInfo: 
&lt;BLOCKQUOTE&gt; &lt;BR /&gt;
Currently, this is the only way to obtain information on holes in walls. Look for polygons which have a horizontal normal vector perpendicular to the reference line of the wall. 
&lt;/BLOCKQUOTE&gt;

It is sad that there is no 100% reliable way to obtain opening geometry.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Do you know is there any help using Neigs?
&lt;BLOCKQUOTE&gt;
#define API_NeigFlg_HoleSel			0x0001&lt;BR /&gt;
#define API_NeigFlg_Extra3D			0x0002&lt;BR /&gt;
&lt;BR /&gt;
APINeig_Wind	 = 9,	// hotspots in the window object&lt;BR /&gt;
APINeig_WindHole = 10,	// corners of window hole&lt;BR /&gt;
APINeig_Door	 = 11,	// hotspots in the door object&lt;BR /&gt;
APINeig_DoorHole = 12,  // corners of door hole&lt;BR /&gt;
APINeig_Wind3D	 = 63,	// 3d hotspots in the window object&lt;BR /&gt;
APINeig_Door3D	 = 64,	// 3d hotspots in the window object&lt;BR /&gt;
ACAPI_Goodies (APIAny_NeigToCoordID,&amp;amp;neig,&amp;amp;coord);
&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Wed, 14 Jul 2010 07:19:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118366#M5990</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2010-07-14T07:19:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118367#M5991</link>
      <description>&lt;BLOCKQUOTE&gt;Matti wrote:&lt;BR /&gt;
It is sad that there is no 100% reliable way to obtain opening geometry.
&lt;/BLOCKQUOTE&gt;

Yes, it is sad. But what is "opening geometry" seems not so simple question.&lt;BR /&gt;
Imagine two adjacent windows, so actually opening hole will be only one.&lt;BR /&gt;
Or window placed partially over top of a wall. A geometry may be real geometry this window in this wall, or it may be abstract geometry same window in a some wall, where this opening one and is not partial.&lt;BR /&gt;
&lt;BR /&gt;
If a task is not like export and you can to change the project. May be will work the trick.&lt;BR /&gt;
Create a temporary wall, same as parent of the opening.&lt;BR /&gt;
Create a temporary opening exactly as required in this wall.&lt;BR /&gt;
Get opening geometry. There is only one opening.&lt;BR /&gt;
Delete the temporary wall.&lt;BR /&gt;
&lt;BR /&gt;
Fot real geometry, create a wall same height etc and place opening same level and position. For "abstract" geometry, create a big wall and place an opening in middle.&lt;BR /&gt;
&lt;BR /&gt;
PS: Just an idea. I am not sure this will work.</description>
      <pubDate>Wed, 14 Jul 2010 09:47:02 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118367#M5991</guid>
      <dc:creator>Oleg</dc:creator>
      <dc:date>2010-07-14T09:47:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118368#M5992</link>
      <description>&lt;BLOCKQUOTE&gt;Oleg wrote:&lt;BR /&gt;But what is "opening geometry" seems not so simple question.&lt;/BLOCKQUOTE&gt;
Correct - this question rises above the level of simple geometry, and ArchiCAD has no facility for that kind of data. I have even greater problems exporting data for thermal modelling for this reason, coupled with the fact that ArchiCAD models have no material data, e.g. thermal properties.</description>
      <pubDate>Wed, 14 Jul 2010 11:06:12 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118368#M5992</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2010-07-14T11:06:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to get the geometry of Opening</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118369#M5993</link>
      <description>Actually, I am not know how in the API to get actual width and height of an opening. (May be I missed it or some changed in last APIs).&lt;BR /&gt;
It is not geometry actually but some values. A and B parameters is not actual width and height as there is concept of gaps. But this gaps are scripted formulas. And I dont know how to get this gaps calculated.&lt;BR /&gt;
So I have to use ACAPI_Element_GetQuantities to get something like this.&lt;BR /&gt;
But it is like a trick and limited.</description>
      <pubDate>Wed, 14 Jul 2010 11:39:37 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/How-to-get-the-geometry-of-Opening/m-p/118369#M5993</guid>
      <dc:creator>Oleg</dc:creator>
      <dc:date>2010-07-14T11:39:37Z</dc:date>
    </item>
  </channel>
</rss>

