Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Blech: Länge und Anzahl der Innenkonturen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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 (494 / mal gelesen)
OibelTroibel
Mitglied
Konstrukteur


Sehen Sie sich das Profil von OibelTroibel an!   Senden Sie eine Private Message an OibelTroibel  Schreiben Sie einen Gästebucheintrag für OibelTroibel

Beiträge: 536
Registriert: 18.04.2014

ACAD/Inventor 2018-21

erstellt am: 03. Mai. 2021 16:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 03. Mai. 2021 17:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OibelTroibel 10 Unities + Antwort hilfreich

Hallo

GetLoopLength Methode aus den MeasureTools

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EIBe 3D
Mitglied
Dipl. - Ing. (FH)


Sehen Sie sich das Profil von EIBe 3D an!   Senden Sie eine Private Message an EIBe 3D  Schreiben Sie einen Gästebucheintrag für EIBe 3D

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für OibelTroibel 10 Unities + Antwort hilfreich

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

OibelTroibel
Mitglied
Konstrukteur


Sehen Sie sich das Profil von OibelTroibel an!   Senden Sie eine Private Message an OibelTroibel  Schreiben Sie einen Gästebucheintrag für OibelTroibel

Beiträge: 536
Registriert: 18.04.2014

ACAD/Inventor 2018-21

erstellt am: 03. Mai. 2021 19:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf und ElBe 3D

Vielen Dank, auf euch kann ich zählen Dir Elbe einen speziellen Dank für das anschauliche Beispiel, damit sollte der Rest ein Kinderspiel sein

Beste Grüsse
Raphael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz