| | |  | Jetzt verfügbar: NVIDIA RTX PRO 6000 Blackwell Server Edition, eine Pressemitteilung
|
|
Autor
|
Thema: Übergangsstück rund auf eckig Summe Facettenabstände (78 mal gelesen)
|
RP4711 Mitglied Technischer Produktdesigner
 
 Beiträge: 107 Registriert: 01.03.2024 Inventor 2027
|
erstellt am: 09. Nov. 2026 10:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo, folgendes zum Thema Übergangsstück Summe der Facettenabstände (vielleicht gibt es das schon). Rechteck AxB 120x90mm, Ø=50mm, H=100mm t=3mm. Ich möchte mir da eine Vorlage programmieren, mit diesem Wert als Vergleich. Den folgenden Code hat mir die KI gemäß meiner google Suche angezeigt/zusammen gesucht (getestet mit aller Vorsicht): Ich möchte quasi die Länge der Facetten als Summe haben, die der Inventor ausgeführt hat. Damit ich dann den Kreisumfang als Kontrolle vergleichen kann. Je nach Einstellung K-Faktor etc. kommt da eine Differenz Theorie und Praxis zustande. Das Ergebnis habe ich im Angang angehängt.
Code: Dim oDoc As PartDocument = ThisDoc.Document If oDoc.SubType <> "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then MessageBox.Show("Das Dokument ist kein Blechteil.", "Fehler") Return End IfDim oSMDef As SheetMetalComponentDefinition = oDoc.ComponentDefinition Dim oUOM As UnitsOfMeasure = oDoc.UnitsOfMeasure ' Prüfen, ob eine Übergangslasche vorhanden ist If oSMDef.Features.LoftedFlangeFeatures.Count = 0 Then MessageBox.Show("Keine Übergangslasche (Lofted Flange) gefunden.", "Info") Return End If Dim oLoftFlange As LoftedFlangeFeature = oSMDef.Features.LoftedFlangeFeatures.Item(1) Dim sb As New System.Text.StringBuilder() Dim facetIndex As Integer = 0 ' Alle Flächen der Übergangslasche durchlaufen For Each oFace As Face In oLoftFlange.Faces ' Nur ebene Flächen berücksichtigen (Facetten sind planar, Biegungen sind gekrümmt) If oFace.SurfaceType = SurfaceTypeEnum.kPlaneSurface Then facetIndex += 1 sb.AppendLine("--- Facette " & facetIndex & " ---") Dim edgeIndex As Integer = 0 For Each oEdge As Edge In oFace.Edges edgeIndex += 1 Dim minParam As Double, maxParam As Double, curveLength As Double oEdge.Evaluator.GetParamExtents(minParam, maxParam) oEdge.Evaluator.GetLengthAtParam(minParam, maxParam, curveLength) ' Umrechnung von internen cm in mm Dim lengthMM As Double = oUOM.ConvertUnits(curveLength, UnitsTypeEnum.kDatabaseLengthUnits, UnitsTypeEnum.kMillimeterLengthUnits) sb.AppendLine(" Kante " & edgeIndex & ": " & Math.Round(lengthMM, 2) & " mm") Next End If Next MessageBox.Show(sb.ToString(), "Facetten-Längen (3D-Modell)")
Vielleicht hat da jemand eine Lösung. Ein generelles Anzeigen vom Ergebnis wäre vom Inventor wünschenswert. Vorab schon mal danke. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
batun Mitglied Leiter Projekte/Mitinhaber
 Beiträge: 2 Registriert: 24.11.2018 Inventor Professional 2027 · Civil 3D 2027 · Navisworks Manage 2027 · AutoCAD 2027 Automatisierung: COM-API / iLogic / Python, MCP-Server für Claude Windows 11 Pro
|
erstellt am: 09. Nov. 2026 12:19 <-- editieren / zitieren --> Unities abgeben:          Nur für RP4711
Hallo zusammen, der Code im Eröffnungsbeitrag zählt alle Kanten aller ebenen Flächen. Damit kommen Rechteckseiten, Mantellinien sowie Innen- und Aussenseite doppelt rein. Die Biegebögen fehlen ganz, weil die Biegezonen keine Ebenen sind. Deshalb kommt keine sinnvolle Summe heraus. Ich habe das Beispiel mit Claude (KI von Anthropic) nachgebaut. Claude ist bei uns über einen eigenen MCP-Server direkt an Inventor angebunden. Es hat das Blechteil selbst modelliert, die Geometrie ausgewertet und die Regel geschrieben, ausgeführt und mit einer unabhängigen Rechnung gegengeprüft. Ich habe das Ergebnis kontrolliert. Die Regel nimmt nur die Kanten in der Ebene des runden Profils, getrennt nach geraden Facetten und Biegebögen. Zusätzlich misst sie in der Abwicklung die Länge der runden Kante und vergleicht sie mit π·(D ± 2·K·t). Ergebnis bei 120×90 / Ø50 / H100 / t=3, Facettenwinkel 15°, K=0,44:
- 3D (Skizzenseite): Facetten 135,68 + Bögen 19,02 = 154,69 mm, Soll 156,58 mm → −1,21 %
- Abwicklung: 162,44 mm, Soll 164,85 mm → −1,46 %
Wichtig dabei:
- Die Summe der geraden Facetten allein (135,7) ist kein sinnvoller Vergleich zum Kreisumfang. Die Biegungen gehören dazu.
- Die restliche Differenz kommt vom Sehnenfehler der Facetten. Ein feinerer Facettenwinkel oder eine kleinere Sehnentoleranz verkleinert sie.
- Für die Abwicklung braucht die Übergangslasche einen Stoss (Bogen 359,x° und Rechteck mit kleinem Spalt). Mit geschlossenem Kreis ist die Abwicklung unbrauchbar.
Im Anhang (ZIP) liegen das Testteil und die Regel. Getestet mit Inventor 2027. Die Regel kann als lokale oder externe Regel eingefügt werden, sie wertet die erste Übergangslasche im Teil aus. Gruss Tuncay ------------------ Tuncay Bay BayTech GmbH, Luzern – Fahrleitungsplanung Tram/Trolleybus · CAD-Automatisierung baytech.ch · LYNTRX – digitale Fahrleitung: Bestandsplan → geprüftes 3D-Modell (Civil 3D, IFC 4.3) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |