<?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>Thema "Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt" in Inventor - Deutsches Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10539771#M7122</link>
    <description>&lt;P&gt;Hallo Zusammen,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;wie bzw. anhand was kann ich prüfen ob bei einem ExtrudeFeature um ein Loch handelt oder nur um ein Schnitt?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hier wäre der Schnitt.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="wj_0-1628760825861.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/951876iEFDDC4CB11B966AA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="wj_0-1628760825861.png" alt="wj_0-1628760825861.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Und hier das Loch.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="wj_1-1628760883165.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/951877i706579F7624C73F0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="wj_1-1628760883165.png" alt="wj_1-1628760883165.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Danke!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Grüße WJ&lt;/P&gt;</description>
    <pubDate>Thu, 12 Aug 2021 09:41:16 GMT</pubDate>
    <dc:creator>wj</dc:creator>
    <dc:date>2021-08-12T09:41:16Z</dc:date>
    <item>
      <title>Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10539771#M7122</link>
      <description>&lt;P&gt;Hallo Zusammen,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;wie bzw. anhand was kann ich prüfen ob bei einem ExtrudeFeature um ein Loch handelt oder nur um ein Schnitt?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hier wäre der Schnitt.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="wj_0-1628760825861.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/951876iEFDDC4CB11B966AA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="wj_0-1628760825861.png" alt="wj_0-1628760825861.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Und hier das Loch.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="wj_1-1628760883165.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/951877i706579F7624C73F0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="wj_1-1628760883165.png" alt="wj_1-1628760883165.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Danke!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Grüße WJ&lt;/P&gt;</description>
      <pubDate>Thu, 12 Aug 2021 09:41:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10539771#M7122</guid>
      <dc:creator>wj</dc:creator>
      <dc:date>2021-08-12T09:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10568716#M7123</link>
      <description>&lt;P&gt;Hallo&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6494283"&gt;@wj&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;vielleicht ist diese Frage besser im Forum&amp;nbsp;&lt;A href="https://forums.autodesk.com/t5/inventor-ilogic-api-vba-forum/bd-p/120" target="_blank"&gt;Inventor iLogic, API &amp;amp; VBA Forum - Autodesk Community&lt;/A&gt;&amp;nbsp;aufgehoben? Es geht ja um Programmierung.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Gruß, Peter&lt;/P&gt;</description>
      <pubDate>Tue, 24 Aug 2021 08:21:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10568716#M7123</guid>
      <dc:creator>Peter.C.Schulz</dc:creator>
      <dc:date>2021-08-24T08:21:35Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10568804#M7124</link>
      <description>&lt;P&gt;Hallo&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6494283"&gt;@wj&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;jede Extrusion erzeugt neue Flächen. Beim Schnitt im ersten Bild sind es 3 planare Flächen und Loch im zweiten Bild sind es entsprechend 4 Flächen.&lt;/P&gt;
&lt;P&gt;Jede dieser Flächen hat mehrere Kanten und jede dieser Kanten hat entsprechende Eckpunkte.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Folgende Idee..&lt;BR /&gt;Ein Script, welches jede Kante nimmt und die Eckpunkte analysiert. Endet die letzte Kante dort wo die erste begonnen hat, so ist das ein geschlossenes "Loch". Sollte das nicht der Fall sein, so ist es höchstwahrscheinlich ein Ausschnitt.&lt;BR /&gt;Ein rundes Loch (Bohrung) muss hier z.B. als mögliche Ausnahme vorher abgefangen werden. Zum Beispiel so:&lt;BR /&gt;Wenn "durch Extrusion erzeugte Fläche" = "zylindrisch" dann ist das ein Loch, usw.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Falls du noch keine Lösung gefunden hast, hoffe ich, dass dir der Ansatz weiterhilft.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Viele Grüße,&lt;/P&gt;</description>
      <pubDate>Tue, 24 Aug 2021 09:01:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10568804#M7124</guid>
      <dc:creator>fullevent</dc:creator>
      <dc:date>2021-08-24T09:01:30Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10571553#M7125</link>
      <description>&lt;P&gt;Und schon wieder hast Du eine sehr gute Idee, Aleksandar!!&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Danke!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Werde ich sofort ausprobieren...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Viele Grüße&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;WJ&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2021 06:21:39 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10571553#M7125</guid>
      <dc:creator>wj</dc:creator>
      <dc:date>2021-08-25T06:21:39Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10571888#M7126</link>
      <description>&lt;P&gt;Hallo&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6494283"&gt;@wj&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;freut mich, dass dir mein Input erstmal weiterhilft.&lt;/P&gt;
&lt;P&gt;Bin gespannt ob man daraus eine brauchbare Lösung programmieren kann.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hat das Thema mit den I-Trägern funktioniert? Konntest du da was funktionierendes zaubern?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Grüße,&lt;/P&gt;</description>
      <pubDate>Wed, 25 Aug 2021 08:40:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10571888#M7126</guid>
      <dc:creator>fullevent</dc:creator>
      <dc:date>2021-08-25T08:40:32Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10574621#M7127</link>
      <description>&lt;P&gt;Hallo Aleksandar,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ja die Idee von Dir war sehr gut, ich konnte damit tatsächlich alle I Träger ermitteln.&lt;/P&gt;&lt;P&gt;Wir haben die Idee noch erweitert und konnten damit dann sogar auch "M" &amp;amp; "L" Träger ermitteln.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vielen Dank für Deine Tipps. Diese sind wirklich sehr gut..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Viele Grüße&lt;/P&gt;&lt;P&gt;WJ&lt;/P&gt;</description>
      <pubDate>Thu, 26 Aug 2021 06:14:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10574621#M7127</guid>
      <dc:creator>wj</dc:creator>
      <dc:date>2021-08-26T06:14:13Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10584289#M7128</link>
      <description>&lt;P&gt;Hallo&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6494283"&gt;@wj&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;das hört sich ja sehr cool an!&lt;/P&gt;
&lt;P&gt;Magst/kannst du den entsprechenden Code mit uns Teilen?&lt;/P&gt;
&lt;P&gt;Ich würde das gerne bei Gelegenheit mit ein paar Sonderfällen testen.. Wäre aber bestimmt auch für andere Mitglieder hier interessant.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Viele Grüße,&lt;/P&gt;</description>
      <pubDate>Mon, 30 Aug 2021 10:55:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10584289#M7128</guid>
      <dc:creator>fullevent</dc:creator>
      <dc:date>2021-08-30T10:55:17Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10592580#M7129</link>
      <description>&lt;P&gt;Hallo Aleksandar,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;wie vorhin geschrieben, haben wir Deine Idee erweitert und damit "L", "M" &amp;amp; "U" -Träger zusätzlich ermitteln..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hier ist mein Code&amp;nbsp; (bis jetzt sind mir keine Fehler aufgefallen, würde aber natürlich diesen Post hier updaten, falls ich doch einen Fehler feststellen sollte..)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;ermittlung des I, L, U, M Träger..
// zu erst ermittle ich die Breite &amp;amp; Höhe des Objects.   
         
UnitsOfMeasure uom = doc.UnitsOfMeasure;
double X = Math.Round(uom.ConvertUnits((body.RangeBox.MaxPoint.X - body.RangeBox.MinPoint.X), "cm", uom.LengthUnits), 3);
double Y = Math.Round(uom.ConvertUnits((body.RangeBox.MaxPoint.Y - body.RangeBox.MinPoint.Y), "cm", uom.LengthUnits), 3);
double Z = Math.Round(uom.ConvertUnits((body.RangeBox.MaxPoint.Z - body.RangeBox.MinPoint.Z), "cm", uom.LengthUnits), 3);


// danach filtriere ich die Profileliste

profiles = profiles.Where(pf =&amp;gt; pf.Schnitthohe == X &amp;amp;&amp;amp; pf.Schnittbreite == Y || pf.Schnitthohe == Y &amp;amp;&amp;amp; pf.Schnittbreite == X).ToList();

// die parallelFaces ermitteln anhand des directionsVetctor (richtung der Extrusion)

List&amp;lt;Face&amp;gt; parallelFaces = body.Faces.Cast&amp;lt;Face&amp;gt;().Where(x =&amp;gt; x.Geometry is Plane plane &amp;amp;&amp;amp; plane.Normal.AsVector().IsParallelTo(directionLengthVector.AsVector(), .0001)).ToList();
double thickness = -1;
if (parallelFaces.Count == 4) {
   if (doc.ComponentDefinition.Features.ExtrudeFeatures[1].Faces.Count &amp;lt; 18) {
       profiles = profiles.Where(pf =&amp;gt; pf.Profiltyp.Equals("U")).ToList();
    } else {
        profiles = profiles.Where(pf =&amp;gt; pf.Profiltyp.Equals("M")).ToList();
    }
} else if (parallelFaces.Count == 3) {
    profiles = profiles.Where(pf =&amp;gt; pf.Profiltyp.Equals("L")).ToList();
}

//Sonst handelt es sich um einen "I"-Träger.. hier ermittle ich die thickness und füge diese zur Fitlrierung hinzu..
if (profiles.Count &amp;gt; 1 &amp;amp;&amp;amp; thickness == -1) {
    parallelFaces.Sort((first, second) =&amp;gt; first.Evaluator.Area.CompareTo(second.Evaluator.Area));
    parallelFaces.Reverse();
    parallelFaces.RemoveRange(2, parallelFaces.Count - 2);
    thickness = Math.Round(invApp.MeasureTools.GetMinimumDistance(parallelFaces[0], parallelFaces[1]) * 10, 3);
     profiles = profiles.Where(pf =&amp;gt; pf.Stegstaerke == thickness).ToList();
}



Prüfung ob bei einer Extrusion um ein Hole handelt...
   // hier aufpassen!!! wir müssen  mit 2 anfangen da Inventor mit 1 anfängt zu zählen und wir ersten (körper extrude) überspringen können;
            // weiter aufpassen!! i &amp;lt;= (ist gleich!!!!!) da uns sonst aufgrund inv.zählung der letzte fällt.
            for (int i = 2; i &amp;lt;= doc.ComponentDefinition.Features.ExtrudeFeatures.Count; i++) {
                ExtrudeFeature extrude = doc.ComponentDefinition.Features.ExtrudeFeatures[i];
                Sketch sketch = extrude.Profile.Parent;


                bool isExtrusionAHole = false;

                if (sketch.SketchCircles.Count &amp;gt; 0) {

                    SketchPoint middlePoint = sketch.SketchCircles[1].CenterSketchPoint;
                    double diameter = sketch.SketchCircles[1].Radius * 2;
                    Point circleMidPoint = ((PlanarSketch)sketch).SketchToModelSpace(middlePoint.Geometry);

                    holesX.Add(
                        new HoleX {
                            ExtrudeFeature = extrude,
                            IsExtrude = true,
                            Diameter = diameter * 10,
                            IsExtrudeCircle = true,
                            CircleMidPoint = circleMidPoint
                        },
                    1);

                    isExtrusionAHole = true;
                    


                } else if (sketch.SketchArcs.Count &amp;gt; 0) {
                    bool isHole = false;
                    List&amp;lt;SketchArc&amp;gt; allArcs = sketch.SketchEntities.Cast&amp;lt;SketchEntity&amp;gt;().Where(x =&amp;gt; x is SketchArc &amp;amp;&amp;amp; !x.Construction).Cast&amp;lt;SketchArc&amp;gt;().ToList();
                    List&amp;lt;SketchLine&amp;gt; allLines = sketch.SketchEntities.Cast&amp;lt;SketchEntity&amp;gt;().Where(x =&amp;gt; x is SketchLine &amp;amp;&amp;amp; !x.Construction).Cast&amp;lt;SketchLine&amp;gt;().ToList();

                    SketchLine line = null;
                    if (allArcs.Count == 2) {

                        Point2d startPoint = allArcs[0].Geometry.StartPoint;
                        Point2d endPoint = allArcs[1].Geometry.EndPoint;

                        line = allLines.Where(l =&amp;gt; (l.Geometry.StartPoint.IsEqualTo(startPoint, .1) &amp;amp;&amp;amp; l.Geometry.EndPoint.IsEqualTo(endPoint, .1))
                                   || (l.Geometry.EndPoint.IsEqualTo(startPoint, .1) &amp;amp;&amp;amp; l.Geometry.StartPoint.IsEqualTo(endPoint, .1))).FirstOrDefault();

                        if (line != null) {
                            startPoint = allArcs[1].Geometry.StartPoint;
                            endPoint = allArcs[0].Geometry.EndPoint;

                            line = allLines.Where(l =&amp;gt; (l.Geometry.StartPoint.IsEqualTo(startPoint, .1) &amp;amp;&amp;amp; l.Geometry.EndPoint.IsEqualTo(endPoint, .1))
                                        || (l.Geometry.EndPoint.IsEqualTo(startPoint, .1) &amp;amp;&amp;amp; l.Geometry.StartPoint.IsEqualTo(endPoint, .1))).FirstOrDefault();

                            if (line != null) {
                                isHole = true;
                                isExtrusionAHole = true;
                            }
                        }
                    }

                    if (isHole) {
                        double length = line.Length;
                        double diameter = allArcs[0].Radius * 2; // wir greifen einfach auf den ersten zu, da diese beide gleich sein sollten

                        List&amp;lt;Point&amp;gt; arcPoints = new List&amp;lt;Point&amp;gt;();
                        foreach (SketchArc sketchArc in allArcs) {
                            SketchPoint middlePoint = sketchArc.CenterSketchPoint;
                            Point holeCenter = ((PlanarSketch)sketch).SketchToModelSpace(middlePoint.Geometry);
                            arcPoints.Add(holeCenter);
                        }

                        holesX.Add(new HoleX { ExtrudeFeature = extrude, IsExtrude = true, Diameter = diameter * 10, Length = length * 10, IsExtrudeArc = true, ArcMidPoints = arcPoints }, 1);
                    }

                } else if (sketch.SketchLines.Count &amp;gt; 0) {
                    bool isHole = true;
                    SketchLine longestLine = null;
                    SketchLine adjacentLine = null;

                    foreach (Face face in extrude.Faces) {
                        IEnumerable&amp;lt;Edge&amp;gt; allOtherFaceEdges = extrude.Faces.Cast&amp;lt;Face&amp;gt;().Where(f =&amp;gt; f != face).SelectMany(f2 =&amp;gt; f2.Edges.Cast&amp;lt;Edge&amp;gt;().Where(x =&amp;gt; x != null));
                        IEnumerable&amp;lt;Edge&amp;gt; matchingEdges = allOtherFaceEdges.Cast&amp;lt;Edge&amp;gt;().Intersect(face.Edges.Cast&amp;lt;Edge&amp;gt;());
                        if (matchingEdges.Count() != 2) {
                            isHole = false;
                            break;
                        }
                    }

                    if (isHole) {
                        List&amp;lt;SketchLine&amp;gt; notConstructionLines = sketch.SketchLines.Cast&amp;lt;SketchLine&amp;gt;().Where(x =&amp;gt; !x.Construction).ToList();

                        List&amp;lt;Point&amp;gt; linePoints = new List&amp;lt;Point&amp;gt;();
                        foreach (SketchLine line in notConstructionLines) {

                            Point lineMidPoint = ((PlanarSketch)sketch).SketchToModelSpace(line.Geometry.MidPoint);
                            linePoints.Add(lineMidPoint);

                            SketchLine skLine = notConstructionLines.Where(xLine =&amp;gt; xLine != line).Where(x =&amp;gt; x.Geometry.IntersectWithCurve(line.Geometry, .1) != null).FirstOrDefault();
                            if (longestLine == null || longestLine.Length &amp;lt; line.Length) {
                                longestLine = line;
                                adjacentLine = skLine;
                            }
                        }

                        holesX.Add(
                            new HoleX {
                                ExtrudeFeature = extrude,
                                IsExtrude = true,
                                Length = longestLine.Length * 10,
                                Width = adjacentLine.Length * 10,
                                IsExtrudeLine = true,
                                LineMidPoints = linePoints
                            },
                        1);

                        isExtrusionAHole = true;
                    }
                }&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Das wars... Am Schluss habe ich nur ein Profile... genau das was ich brauche ;o)&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Sep 2021 06:40:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10592580#M7129</guid>
      <dc:creator>wj</dc:creator>
      <dc:date>2021-09-02T06:40:01Z</dc:date>
    </item>
    <item>
      <title>Betreff: Prüfen in C#  ob eine ExtrudeFeature ein Loch ist oder nur ein Schnitt</title>
      <link>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10594233#M7130</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6494283"&gt;@wj&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ich hatte vergessen, dass es sich um C# handelt&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinsendes_Gesicht_mit_Schweißperlen:"&gt;😅&lt;/span&gt;&lt;BR /&gt;Da muss ich erst etwas Arbeit investieren um damit was testen zu können.&lt;BR /&gt;&lt;BR /&gt;Danke jedenfalls für den Code. Find ich klasse, dass du das mit der Community teilst.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Viele Grüße&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/514129"&gt;@Peter.C.Schulz&lt;/a&gt;&amp;nbsp;kannst du den Post vielleicht noch in den &lt;A href="https://forums.autodesk.com/t5/inventor-deutsch/stegstarke-aus-dem-quot-i-quot-trager-auslesen/m-p/10519144#M22301" target="_blank" rel="noopener"&gt;richtigen Thread&lt;/A&gt; schieben?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Sep 2021 16:37:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-deutsches-forum/prufen-in-c-ob-eine-extrudefeature-ein-loch-ist-oder-nur-ein/m-p/10594233#M7130</guid>
      <dc:creator>fullevent</dc:creator>
      <dc:date>2021-09-02T16:37:20Z</dc:date>
    </item>
  </channel>
</rss>

