| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Blech: Länge und Anzahl der Innenkonturen (500 / mal gelesen)
|
OibelTroibel Mitglied Konstrukteur
Beiträge: 536 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 03. Mai. 2021 16:34 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Ich bin auf der Suche nach einer Möglichkeit Konturen eines Blechbauteils zu analysieren. Dabei möchte ich unter anderem herausfinden, wie viele Innenkonturen ein Bauteil hat und dessen Konturlängen ermitteln. Über ComponentDefinition.FlatPattern.TopFace.Edges finde ich mal grundsätzlich alle Kanten der Oberfläche und ComponentDefinition.FlatPattern.TopFace.EdgeLoops alle geschlossenen Konturen mit Unterscheidung Innen- oder Aussenkontur. Wie aber kann ich deren Längen ermitteln? Beste Grüsse Raphael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 03. Mai. 2021 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für OibelTroibel
|
EIBe 3D Mitglied Dipl. - Ing. (FH)
Beiträge: 267 Registriert: 24.01.2020 HP Z4 G4 Workstation Xeon 3,6 32GB Nvidia P2000 WIN10 SW2015 SP5.0 SW2017 ************* Inv2018 akt.SP
|
erstellt am: 03. Mai. 2021 17:27 <-- editieren / zitieren --> Unities abgeben: Nur für OibelTroibel
Hi Raphael, man kann das MeasureTool für Konturlänge nutzen. Ohne Abfragen, Error Handling und Garantie Code:
Private Sub KonturlaengeInnen() Dim oApp As Inventor.Application: Set oApp = ThisApplication Dim oPrtDoc As Inventor.PartDocument: Set oPrtDoc = oApp.ActiveDocument Dim oCompDef As Inventor.ComponentDefinition: Set oCompDef = oPrtDoc.ComponentDefinition Dim oTopFace As Inventor.Face: Set oTopFace = oCompDef.FlatPattern.TopFace Dim oEdgeLoop As Inventor.EdgeLoop Dim oMeasureTools As MeasureTools: Set oMeasureTools = ThisApplication.MeasureTools Dim oLoopLength As Double oLoopLength = 0 For Each oEdgeLoop In oTopFace.EdgeLoops If Not oEdgeLoop.IsOuterEdgeLoop Then oLoopLength = oLoopLength + oMeasureTools.GetLoopLength(oEdgeLoop) End If Next oLoopLength = oLoopLength * 10 MsgBox oLoopLength & " mm"End Sub
Grüße
EIBe 3D Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Vertriebsingenieur (m/w/d) | Laser sind in der Industrie überwiegend als Werkzeuge zum Schneiden oder Schweißen bekannt. Was viele nicht wissen: Der Laser ist ? je nach Konfiguration ? auch dazu geeignet, Oberflächen schonend zu reinigen, zu entschichten oder für nachfolgende Beschichtungs- oder Fügeprozesse vorzubehandeln. Da die Beschichtungen, Verunreinigungen, etc. von Oberflächen aller Art schonend und gezielt abgetragen ... | Anzeige ansehen | Vertriebsingenieur |
|
OibelTroibel Mitglied Konstrukteur
Beiträge: 536 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 03. Mai. 2021 19:26 <-- editieren / zitieren --> Unities abgeben:
|