Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Äußere Kontur eines Profils automatisch ausgeben in IDW

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
  
PNY GeForce RTX® 4090, RTX® 4080 16GB, und RTX® 4080 12GB; PNY stellt die neue Generation der NVIDIA GeForce RTX 40 GPUs vor
Autor Thema:  Äußere Kontur eines Profils automatisch ausgeben in IDW (2612 / mal gelesen)
Bienenkopf
Mitglied
Maschinenbau Ingenieur


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

Beiträge: 210
Registriert: 04.11.2005

Inventor Professional 2022

erstellt am: 16. Okt. 2018 09:28    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,

lange ist es her, dass ich mich in diesem Forum aktiv getummelt habe  Passiver Leser bin ich aber trotzdem häufig um mir mal schnell eine Lösung für ein Problem zu beschaffen 
In diesem Fall bin ich aber leider nicht auf eine passende Antwort gestoßen, vllt. habe ich auch falsche gesucht?!

Problem/Frage:
Wir haben bei uns häufig Zeichnungen (IDWs) von Alu-Profilen in der lediglich der Querschnitt dargestellt wird.
Da die Profile häufig beschichtet werden ist auf der Zeichnung die Angabe der äußeren Kontur sehr interessant um Kosten der Beschichtung zu kalkulieren.
In der IPT gibt es die Funktion "Kontur messen", welche den gewünschten Wert ausgibt.
Lässt sich dieser Wert auch irgendwie automatisch in der IDW darstellen?

PS: Die Profile werden auch in der IPT immer in der selben Lage im Koordinatensystem und auch nur mit einer Skizze modelliert - falls man hier die Info rausziehen kann/muss?!

------------------
MfG
Pablo                        
lesen gefährdet die Dummheit

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

Leo Laimer
Moderator
CAD-Dienstleister




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

Beiträge: 26104
Registriert: 24.11.2002

IV bis 2019

erstellt am: 16. Okt. 2018 09:43    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 Bienenkopf 10 Unities + Antwort hilfreich

Hallo,

Man kann in der Zeichnung z.B. innerhalb eines freien Textes die physikalische Modell-Eigenschaft "Bereich" anziehen. Das ist die gesamte Oberfläche des Modells.
Kommt auf die Beschichtungs-Art an ob das nun exakt passt für Deine Zwecke, z.B. für Tauchlackieren würde es stimmen, für elektrostatisch Pulverbeschichten nicht ganz.

------------------
mfg - Leo

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

Bienenkopf
Mitglied
Maschinenbau Ingenieur


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

Beiträge: 210
Registriert: 04.11.2005

Inventor Professional 2022

erstellt am: 16. Okt. 2018 10:00    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

Hi Leo,

die Funktion, die du genannt hast kenne ich auch. Die Einschränkung die du genannt hast auch 
Genau darum geht es leider. Wie gesagt brauche ich nur die äußere Kontur des Querschnittes, da wie du vermutet hast eine elektristatische Pulverbeschichtung vorgenommen wird.
Zudem soll auch nicht die Oberfläche sondern nur die Querschnittskonturlänge angegeben werden. Um ebenen je nach Länge des Profils schnell die Kosten aufschlüsseln zu können.

------------------
MfG
Pablo                        
lesen gefährdet die Dummheit

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

himmelblau
Mitglied



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

Beiträge: 532
Registriert: 11.11.2004

erstellt am: 16. Okt. 2018 10:11    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 Bienenkopf 10 Unities + Antwort hilfreich

Kannst nen abgeleiteten körper nehmen und da alle hohlräume löschen, dann is area/profillänge die konturlänge, geht per illogic. Oder du bemaßt die kontur in der skizze mit getriebenen bemaßungen und addierst die in einem benutzerparameter. Weiß nur nich ob inv 2011 schon bogenlängen bemaßen konnte, sonst musste mit winkel, radius und pi rechenen. Ellipsen und splines kommen hoffentlich nich vor.

------------------
himmelblau

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

Leo Laimer
Moderator
CAD-Dienstleister




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

Beiträge: 26104
Registriert: 24.11.2002

IV bis 2019

erstellt am: 16. Okt. 2018 10:32    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 Bienenkopf 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bienenkopf:
Hi Leo,

die Funktion, die du genannt hast kenne ich auch. Die Einschränkung die du genannt hast auch  
Genau darum geht es leider. Wie gesagt brauche ich nur die äußere Kontur des Querschnittes, da wie du vermutet hast eine elektristatische Pulverbeschichtung vorgenommen wird.
Zudem soll auch nicht die Oberfläche sondern nur die Querschnittskonturlänge angegeben werden. Um ebenen je nach Länge des Profils schnell die Kosten aufschlüsseln zu können.



Hatten wir hier und mit Autodesk schon reichlich diskutiert, es ist leider nicht so trivial wie Du aufs Erste glaubst.
Elektrostatik wirkt ein bisserl in Nischen und Hohlräume hinein, und wie soll das CAD-Programm das ohne die Technologie wirklich zu kennen berücksichtigen?

Wenn es Dir um immer wiederkehrende Profile geht kannst Du vielleicht je ein Template erstellen wo ein Benutzerdefiniertes iProp den Profil-Umfang beschreibt und den mit der individuellen Profillänge multiplizieren.

------------------
mfg - Leo

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

Roland Schröder
Moderator
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen




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

Beiträge: 13310
Registriert: 02.04.2004

IV 2019 + 2020 + 2021
W7pro64 F-Secure-Safe
Dell-M4600 2,13GHz 12GB
Quadro2000M
15,4"1920x1080
MS-IntelliMouse-Optical
SpacePilotClassic

erstellt am: 16. Okt. 2018 10:38    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 Bienenkopf 10 Unities + Antwort hilfreich

Moin!

Eine Lösung in der idw wüsste ich nicht, und automatisch schon gar nicht.

Nur selber machen im ipt. Das Messen-Tool gibt auch die Konturlänge einer Fläche aus, und zwar immer nur die äußere. Zumindest ist es in IV 2017 und 2018 so. Du hast tatsächlich immer noch 2011?

------------------
Roland  
www.Das-Entwicklungsbuero.de

It's not the hammer - it's the way you hit!

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

AnMay
Mitglied
Konstrukteur MB


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

Beiträge: 632
Registriert: 16.02.2008

Inventor 2019
Inventor 2023

erstellt am: 16. Okt. 2018 14: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 Bienenkopf 10 Unities + Antwort hilfreich

wenn du schon etwas neuer als IV 2011 bist, dann gäbe es auf der Inventer FAQ Seite von Jürgen Wagner etwas
==> Skizzenmfang in Property mit iLogic

[Diese Nachricht wurde von AnMay am 16. Okt. 2018 editiert.]

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 702
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 16. Okt. 2018 15:13    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 Bienenkopf 10 Unities + Antwort hilfreich

es wäre auch eine Lösung mit einem Makro denkbar:

- in der IDW, Makro starten (Button)
- Auswahl einer Kante durch den Benutzer
"im Makro": ausgehend von der Kante wird die zugehörige Modell-Fläche ermittelt (i.d.R. sollten das zwei Flächen sein - umschalten durch Tastendruck);
davon wird der "OuterLoop" (das ist die Sammlung aller Kanten, die die Fläche begrenzen; es gibt auch einen InnerLoop falls die Fläche ein Loch hat - hier nicht wichtig) genommen und davon die Länge bestimmt, das sollte ziemlich genau dem "Kontur messen" entsprechen;
dieser Messwert landet z.B. in die Zwischenablage
- der Benutzer erstellt einen Notiztext (oder was auch immer) und fügt dort den Inhalt der Zwischenablage ein
(einen Notiztext per Makro zu erzeugen, habe ich nocht nicht gemacht; stelle ich mir problematisch vor; deshalb die Krücke mit der Zwischenablage)

Das Ergebnis wäre ein dummer Text, der nach einer Modelländerung falsch sein könnte... Hier liegt vmtl. der große Vorteil der iLogic-Lösung im vorigen Beitrag.

Falls an dieser Lösung trotzdem Interesse besteht, könnte ich das zusammenbasteln und hier posten.

------------------
Gruß KraBBy

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

Fischkopp
Mitglied



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

Beiträge: 375
Registriert: 23.02.2004

Der vernünftige Mensch paßt sich der Welt an;
der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab.
(George Bernard Shaw)

erstellt am: 16. Okt. 2018 19:47    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 Bienenkopf 10 Unities + Antwort hilfreich

Du kannst auch den Wert in ein BEnutzerdefiniertes Property / Parameter schreiben und diesen in der IDW anziehen. Darfst nur nicht vergessen das AMkro ab und an mal anzuwerfen  .

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

Bienenkopf
Mitglied
Maschinenbau Ingenieur


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

Beiträge: 210
Registriert: 04.11.2005

Inventor Professional 2022

erstellt am: 17. Okt. 2018 08:25    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 ihr Lieben,

erst einmal vielen Dank für eure Hilfestellungen.

@Leo
Das CAD Programm soll nicht berücksichtigen wo das Pulver hinwandern könnte, es geht nur um die äußere Kontur, dar das der Wert für die Kostenermittlung ist.
Den Wert manuel als iProp zu schreiben kam mir auch in den Sinn - ist aber eben nicht automatisch und ich habe bedenken, dass es einmal gemacht und dann bei Änderungen vergessen wird    

@Roland
Habe in einer neuen Firma angefangen und hier wird noch INV11 genutzt. Ich finde die einschränkung in vielen Bereichen auch "schwierig" ^^ Hatte vorher auch mit 2018 gearbeitet. Das Messentool kenn ich bereits wie eingangs erklärt.

@AnMay
Die Regel klingt sehr interessant. Wie ich aber dem Wert auf dem Bild entnehmen kann, wird die Summer der Außen- UND Innenkontur ausgegeben. Wäre es nur die Außenkontur, wäre das genaus das, was ich suche!

@Krabby
Ein interessanter Ansatz. Ich finde ich die Möglichkeit die Außenkontur in der IDW statt der IPT zu messen schon sehr ansprechend. Ich habe versucht mir das selber hinzubasteln, bin aber gescheitert. Wenn du mir das aushelfen könntest wäre das wirklich super.

@Fischkopp
Wie bei @Leo

Falls sonst noch einer eine Idee hat immer her damit. Vielen Dank noch mal für eure Mühe - Es Regnet Unities      


------------------
MfG
Pablo                        
lesen gefährdet die Dummheit

[Diese Nachricht wurde von Bienenkopf am 17. Okt. 2018 editiert.]

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

Leo Laimer
Moderator
CAD-Dienstleister




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

Beiträge: 26104
Registriert: 24.11.2002

IV bis 2019

erstellt am: 17. Okt. 2018 08:43    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 Bienenkopf 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bienenkopf:
...
@Leo
Das CAD Programm soll nicht berücksichtigen wo das Pulver hinwandern könnte, es geht nur um die äußere Kontur, dar das der Wert für die Kostenermittlung ist.
Den Wert manuel als iProp zu schreiben kam mir auch in den Sinn - ist aber eben nicht automatisch und ich habe bedenken, dass es einmal gemacht und dann bei Änderungen vergessen wird   
...

Umgekehrt kann eine Automatik ebenso Probleme machen, so wie z.B. der automatische Eintrag des Modell-Gewichts in der Zeichnung.
Wenn man IV das Aktualisieren der Masseeigenschaften automatisch beim Speichern erledigen lässt, dauert der Speichervorgang unverhältnismäßig lange. Macht man es manuell kann man auch mal drauf vergessen - und dann steht im Fall der Automatik nichts drin, und das ist mindestens genauso schlimm als ein manueller Eintrag der vielleicht nur geringfügig falsch ist.

Um wie viele verschiedene Profile/Querschnitte geht es denn?

------------------
mfg - Leo

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

nightsta1k3r
Ehrenmitglied V.I.P. h.c.
plaudern



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

Beiträge: 11223
Registriert: 25.02.2004

Hier könnte ihre Werbung stehen!

erstellt am: 17. Okt. 2018 08:55    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 Bienenkopf 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bienenkopf:
Habe in einer neuen Firma angefangen und hier wird noch INV11 genutzt.

Du meinst IV2011, IV11 gabs auch und ist noch mal 4 Jahre älter. 

------------------

------------------
Der Clown ist die wichtigste Mahlzeit am Tag.

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 702
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 17. Okt. 2018 12:42    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 Bienenkopf 10 Unities + Antwort hilfreich

hier die angekündigte Makro-Idee
ist recht gebastelt, nicht groß getestet...

das basiert im Grunde auf diesem Beitrag:
https://ww3.cad.de/foren/ubb/Forum258/HTML/001618.shtml#000005

Bei dem Themen Class und Events weiß ich nicht so recht, was ich da eigentlich mache. Nunja, bei mir läuft es durch und scheint das zu machen, was es soll. Ob das auch mit IV2011 so klappt, wirst Du rausfinden müssen.


Code für Class-Modul "clsModellAusIDW_Measure"

Code:
' verwendet in Sub "IDW_Kontur_messen"
'
'


Option Explicit
    Private WithEvents eI As Inventor.InteractionEvents
    Private WithEvents eS As Inventor.SelectEvents
    Private AuswahlAktiv As Boolean
    Private occ As Inventor.ComponentOccurrence
    Private m_ModelGeom As Object 'hinzu KraBBy
    Private oFace As Face 'hinzu KraBBy

    Private Sub eS_OnPreSelect(ByRef PreSelectEntity As Object, _
                              ByRef DoHighlight As Boolean, _
                              ByRef MorePreSelectEntities As Inventor.ObjectCollection, _
                              ByVal SelectionDevice As Inventor.SelectionDeviceEnum, _
                              ByVal ModelPosition As Inventor.Point, _
                              ByVal ViewPosition As Inventor.Point2d, _
                              ByVal View As Inventor.View)
        DoHighlight = False
       
        Set MorePreSelectEntities = ThisApplication.TransientObjects.CreateObjectCollection
       
        '' Referenz zur Kante.
        Dim zKante As Inventor.DrawingCurve
        Set zKante = PreSelectEntity.Parent
       
        '' auf zugehörige Modellkante bzw. Modelfläche zugreifen.
        Dim mGeom As Object ' As Inventor.EdgeProxy ODER Inventor.FaceProxy
        Set mGeom = zKante.ModelGeometry
               
               
        '' trotz des kDrawingCurveSegmentFilter - Filters können auch Linien von Skizzen
        '' (die Ansichtbezogen erstellt wurden wie z.B.: Schnittverlauf)
        '' selektiert werden, deswegen folgende If-Then-Else-Bediengung.
        If mGeom.Type = Inventor.ObjectTypeEnum.kFaceProxyObject _
        Or mGeom.Type = Inventor.ObjectTypeEnum.kEdgeProxyObject Then
            '' Bezug auf referenziertes Modell festlegen.
            'Set occ = mGeom.ContainingOccurrence  'hier noch Quatsch! es gibt keine Occurence bei Einzelteil (ipt)!
        ElseIf mGeom.Type = Inventor.ObjectTypeEnum.kFaceObject Then
            Set oFace = mGeom
        ElseIf mGeom.Type = Inventor.ObjectTypeEnum.kEdgeObject Then
            If ShiftPressed Then Set oFace = mGeom.Faces(2) Else Set oFace = mGeom.Faces(1)    'Shift-Taste unterscheidet!
        Else: Exit Sub
        End If
       
        'Var auf ModulEbene    'hinzu KraBBy
        Set m_ModelGeom = mGeom
               
        '' Referenz zur Ansicht.
        Dim aktAnsicht As Inventor.DrawingView
        Set aktAnsicht = zKante.Parent
       
        '' Alle Modellkanten abrufen.
        Dim zKantEnum As Inventor.DrawingCurvesEnumerator
        Set zKantEnum = aktAnsicht.DrawingCurves(oFace)  'war (occ), jetzt (oFace)
       
        '' Alle Modellkanten "PreSelectieren" bzw. hervorheben.
        Dim Kante As Inventor.DrawingCurve
        For Each Kante In zKantEnum
            Call MorePreSelectEntities.Add(Kante.Segments(1))
        Next
        DoHighlight = True
    End Sub

    'Public Function SucheTeil() As ComponentOccurrence
        'entfernt, siehe Quelle

    Private Sub Class_Initialize()
      AuswahlAktiv = True
    End Sub
   
    Private Sub Class_Terminate()
        '' Aufräumen
        eI.Stop
        Set eS = Nothing
        Set eI = Nothing
    End Sub

    Private Sub ToolTipAnzeigen()
        ThisApplication.GeneralOptions.ShowCommandPromptTooltips = True
        eI.StatusBarText = "Kante/Fläche wählen."
    End Sub

    Private Sub eS_OnSelect(ByVal JustSelectedEntities As ObjectsEnumerator, _
                            ByVal SelectionDevice As SelectionDeviceEnum, _
                            ByVal ModelPosition As Point, _
                            ByVal ViewPosition As Point2d, _
                            ByVal View As View)
        '' Schleife beenden.
        AuswahlAktiv = False
    End Sub

Public Function SucheModelFlaeche() As Face
'Kopie von SucheTeil()

        '' neues InteractionEvents-Object erzeugen.
        Set eI = ThisApplication.CommandManager.CreateInteractionEvents
        '' Interaction aktivieren.
        eI.InteractionDisabled = False
       
        'eI.SelectionActive = True
       
        '' Referenz zum SelectEvent.
        Set eS = eI.SelectEvents
       
        '' Filter setzen
        eS.AddSelectionFilter (Inventor.SelectionFilterEnum.kDrawingCurveSegmentFilter)
       
        ToolTipAnzeigen
       
        '' InteractionEvents starten.
        eI.start

        '' Schleife erzeugen: bis Auswahlvorgang beendet ist.
        Do While AuswahlAktiv
            ThisApplication.UserInterfaceManager.DoEvents
        Loop

        '' Fläche zurückgeben.
        If eS.SelectedEntities.Count > 0 Then
            Set SucheModelFlaeche = oFace
        Else: Set SucheModelFlaeche = Nothing
        End If
End Function


der eigentliche Aufruf (Sub IDW_Kontur_messen) und zugehörige Hilfsfunktionen

Code:
Option Explicit

Declare PtrSafe Function GetKeyState Lib "user32" (ByVal vKey As Integer) As Integer
'vmtl. muss bei der älteren IV-Version das PtrSafe weg

Function ShiftPressed() As Boolean
'Returns True if shift key is pressed
    ShiftPressed = GetKeyState(vbKeyShift) < 0          ' 16 = vbKeyShift
End Function

Sub IDW_Kontur_messen()
'
'
    'Fläche auswählen, siehe auch Class Module
    Dim ModellAusIDW As New clsModellAusIDW_Measure
    Dim oFl As Face
    Set oFl = ModellAusIDW.SucheModelFlaeche
   
    'Außenkontur der Fläche erhalten
    Dim oEdgeLoop As EdgeLoop
    For Each oEdgeLoop In oFl.EdgeLoops
        If oEdgeLoop.IsOuterEdgeLoop Then Exit For
    Next 'EdgeLoop
    'oEdgeLoop ist jetzt der "OuterLoop"
    ' gibt es Fälle, mit mehreren "outerLoops"?
   
   
    'MeasureTools
    Dim oMeas As MeasureTools
    Set oMeas = ThisApplication.MeasureTools
    Dim sL As Single
    sL = oMeas.GetLoopLength(oEdgeLoop) 'gemessene Länge der Kontur (in IV-Einheiten: cm)
    sL = Round(sL * 10, 1) 'Zahl in mm umrechnen und runden
   
    'Schlussmeldung
    MsgBox sL, , "Umfang in mm"
   
    'Ergebnis in die Zwischenablage
    Call copy2clipboard("Umfang: " & CStr(sL) & " mm")

End Sub

Function copy2clipboard(ByVal txt As String) As Boolean
'kopiert txt in die Zwischenablage von Windows
'benötigt die Reference "Microsoft Forms 2.0 Object Library"!
    On Error Resume Next
    Dim MyData As DataObject
    Set MyData = New DataObject
    MyData.SetText txt
    MyData.PutInClipboard
    If Err.Number = 0 Then
        copy2clipboard = True
      Else
        copy2clipboard = False
    End If
End Function


------------------
Gruß KraBBy

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

Xantes
Ehrenmitglied
 


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

Beiträge: 1695
Registriert: 22.07.2001

Intel(R) Xeon(R) CPU E5-1620v2 @3.70GHz
32GB HS
Windows 10 Professional
Quadro K2000D mit zwei Monitoren (2x27")
2x SSD SATA III 512 GB Premium<P>Inventor 2021

erstellt am: 17. Okt. 2018 12:54    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 Bienenkopf 10 Unities + Antwort hilfreich

Dafür gibt es eine ganz simple Methode. Die Fläche wird einmal für jedes Profil pro Längeneinheit ermittelt, als benutzerspezifische Eigenschaft abgespeichert und bei Änderung der Länge passt sich die Fläche automatisch an, wenn man die Formel dafür eingegeben hat. Ich kann mir nicht vorstellen, dass ihr tausend Profilarten habt.
Gruß, Uwe

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

Daniel-san
Mitglied
TZ


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

Beiträge: 17
Registriert: 23.06.2011

Inventor 2018
VAULT Pro 2018
Xeon E31230 @3,2GHz
NvidiaQuadro K2200
32GB Ram
Win7 64bit

erstellt am: 18. Okt. 2018 07:33    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 Bienenkopf 10 Unities + Antwort hilfreich

Guten Morgen,

meiner Ansicht nach ist das wirklich leicht mittels Benutzerdefiniertem Parameter zu lösen. Jedem Linienzug in der Skizze des Profilquerschnittes ist ja durch die Bemaßung ein Parameter zugeordnet. Diese Parameter werden innerhalb des Benutzerdefinierten Parameters addiert und auf der Zeichnung als Text ausgegeben.

Funktioniert 1A - bei uns auf Arbeit machen wir das seit langem erfolgreich so mit Dichtschnüren, die verschiedenste Formen/ Geometrie der Dichtnuten und Längen haben.

------------------
CAD is OK 

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

Bienenkopf
Mitglied
Maschinenbau Ingenieur


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

Beiträge: 210
Registriert: 04.11.2005

Inventor Professional 2022

erstellt am: 18. Okt. 2018 09:51    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 habe jetzt eine funktionierende Regel 
Danke Krabby für eine Code, den habe ich als Basis genommen und etwas abgewandelt. In der IDW wähle jetzt die Regel aus, klicke auf die Querschnittskontur und die Länge der ÄUßEREN Kontur wird in den Schriftkopf eingetragen bzw. überschrieben. Genauso hab ich mir das vorgestellt 

@Xantes
Es ging mir nicht um die Fläche sondern um die Konturlänge (auch wenn man das damit genauso rechnen kann  und nein tausend haben wir nicht, aber weit ü100. Das manuelle Eintragen wollte ich außerdem umgehen um bei Änderungen fehler zu vermeiden.

@Daniel
Da erhaltet ihr aber die GESAMTE Konturlänge und nicht nur die äußere oder?

Für alle die es ggf. auch mal brauchen hier mein erweiteter Code.
Der Code für Class-Modul ist gleich geblieben (siehe Post von KraBBy)

Code:

Sub IDW_Kontur_messen()
'
'
    'Fläche auswählen, siehe auch Class Module
    Dim ModellAusIDW As New clsModellAusIDW_Measure
    Dim oFl As Face
    Set oFl = ModellAusIDW.SucheModelFlaeche
     
    'Außenkontur der Fläche erhalten
    Dim oEdgeLoop As EdgeLoop
    For Each oEdgeLoop In oFl.EdgeLoops
        If oEdgeLoop.IsOuterEdgeLoop Then Exit For
    Next 'EdgeLoop
    'oEdgeLoop ist jetzt der "OuterLoop"
    ' gibt es Fälle, mit mehreren "outerLoops"?
 
 
    'MeasureTools
    Dim oMeas As MeasureTools
    Set oMeas = ThisApplication.MeasureTools
    Dim sL As String
    sL = oMeas.GetLoopLength(oEdgeLoop) 'gemessene Länge der Kontur (in IV-Einheiten: cm)
    sL = Round(sL * 10, 1) 'Zahl in mm umrechnen und runden
 
    'Schlussmeldung
    MsgBox sL, , "Umfang in mm"

      ' Get the active document.
    Dim Doc As Document
    Set Doc = ThisApplication.ActiveDocument


    ' Update or create the custom iProperty.
    Call UpdateCustomiProperty(Doc, "Umfang", sL)

End Sub

Public Sub UpdateCustomiProperty(ByRef Doc As Document, _
ByRef PropertyName As String, _
ByRef PropertyValue As String)
    ' Get the custom property set.
    Dim customPropSet As PropertySet
    Set customPropSet = Doc.PropertySets.Item( _
  "Inventor User Defined Properties")

    ' Get the existing property, if it exists.
    Dim prop As Property
    On Error Resume Next
    Set prop = customPropSet.Item(PropertyName)

    ' Check to see if the above call failed.  If it failed
    ' then the property doesn't exist.
    If Err.Number <> 0 Then
    ' Failed to get the existing property so create a new one.
    Set prop = customPropSet.Add(PropertyValue, PropertyName)
    Else
    ' Change the value of the existing property.
    prop.Value = PropertyValue
    End If
End Sub


------------------
MfG
Pablo                        
lesen gefährdet die Dummheit

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

Bienenkopf
Mitglied
Maschinenbau Ingenieur


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

Beiträge: 210
Registriert: 04.11.2005

Inventor Professional 2022

erstellt am: 18. Okt. 2018 10: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

Jetzt habe ich doch eine kleine Einschränkung festgestellt.
Die Außenkontur wird nur ermittelt, wenn auch eine Innenkontur vorhanden ist   



Andernfalls kann ich nicht die gesamt Kontur anklicken (dafür muss ich mit der Maus über eine Innenkontur fahren) sondern nur eine Linie (s.Bild)
Das führt natürlich zu einem falschen Ergebnis.
Leider weiß ich nicht wo da der Fehler liegt   
Jemand eine Idee?

EDIT:

Hat sich erledigt. Muss im Class-Modul Teile angepasst werden. Da stehts ja "per Shift Taste...". Naja wer lesen kann usw... ^^
Hab es jetzt so abgeändert, dass keine Shift Taste mehr gedrückt werden muss, da sie Profile ehe immer mit dem Querschnitt in der Frontansicht liegen.
VIELEN DANK EUCH ALLEN und besonders dir KraBBy!

------------------
MfG
Pablo                        
lesen gefährdet die Dummheit

[Diese Nachricht wurde von Bienenkopf am 18. Okt. 2018 editiert.]

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)2024 CAD.de | Impressum | Datenschutz