Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Umrissgeometrie einer Fläche

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:  Umrissgeometrie einer Fläche (657 mal gelesen)
Michael Brix
Mitglied



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

Beiträge: 33
Registriert: 01.11.2000

erstellt am: 10. Sep. 2004 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

Hallo,

versuche gerade die Umrissgeometrie einer Fläche zu erhalten.
Die Anzahl der Kanten kann ich mal gerade auslesen aber dann
verlassen sie mich. Vielleicht weiß jemand bescheid über
"face.geomtrie" oder einen anderen Weg um die Daten zu erhalten.

Gruß

Michael

Public Sub TestSelection()
    Dim oSelect As New clsSelect
    Dim oFace As Face
    Set oFace = oSelect.Pick(kPartFaceFilter)
 
    MsgBox "Anzahl der Kanten: " & oFace.Edges.Count

    MsgBox oFace.Edges.Type
   
    ' Check to make sure an object was selected.
    If Not oFace Is Nothing Then
        ' Display the area of the selected face.
        MsgBox "Face area: " & oFace.Evaluator.Area & " cm^2"
    End If
End Sub

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 10. Sep. 2004 10:50    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 Michael Brix 10 Unities + Antwort hilfreich

Hallo Michael,

was heisst 'Verlassen mich' ? Kommt ev. bei MsgBox 'oFace.Edges.Type'
nichts raus ?

Edges ist eine Enumeration, versuchs da mal mit:

For i = 1 to oFace.Edges.Count

  MsgBox oFace.Edges(i).Type

Next i

Gruesse,

Paul

www.morecam.ch/cad.htm

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

Michael Brix
Mitglied



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

Beiträge: 33
Registriert: 01.11.2000

erstellt am: 10. Sep. 2004 11:02    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

Hai Paul,

Bei MsgBox oFace.Edges.Type erhalte ich: 1073963056 (Edges collection object.)

Bei oFace.Edges(i).Type erhalte ich: 67120176 (Edge object)

ich hätte aber gerne die Linien, Kreisbögen etc.

Aber wie - *soifz*

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 10. Sep. 2004 11:18    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 Michael Brix 10 Unities + Antwort hilfreich

Hallo Michael,

mit diesem Stueck code findest Du raus, was fuer ein Element es ist: Linie, Bogen, Spline usw.


    Dim oEdge As Edge
   
    For i = 1 To oFace.Edges.count
   
      Set oEdge = oFace.Edges(i)
     
      Debug.Print oEdge.CurveType

    Next i


Gruesse,

Paul

www.morecam.ch/cad.htm

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

Michael Brix
Mitglied



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

Beiträge: 33
Registriert: 01.11.2000

erstellt am: 10. Sep. 2004 11:30    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

Hai Paul,

danke für deine schnellen Antworten aber ich bin noch
nicht sehr viel weiter.
Mit deinem Tipp habe ich jetzt 5124 (kCircleCurve) und 5122 (kLineCurve) ausgelesen. Die Geometrischen Daten wie Radius Startpunkt und Endpunkt etc. bräuchte ich aber.
Kannst du noch mal einen draufpacken?

Gruß
Michael

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 10. Sep. 2004 13:17    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 Michael Brix 10 Unities + Antwort hilfreich

Edge.Geometry.StartPoint
Edge.Geometry.EndPoint
Edge.Geometry.Radius

?

------------------
Grüße daywa1k3r

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

Michael Brix
Mitglied



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

Beiträge: 33
Registriert: 01.11.2000

erstellt am: 10. Sep. 2004 13:35    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

Hai daywa1k3r,

dein Tipp funktioniert nicht ich erhalte folgende
Fehlermeldung:
Object doesn't support this prperty or method

Gruß

Michael

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 10. Sep. 2004 13: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 Michael Brix 10 Unities + Antwort hilfreich

Dann hast du wahrscheinlich die kCircleCurve erwischt. Die haben nicht EndPoint und StartPoint sondern CenterPoint. Irgendwie logisch. Nicht ? 

Da musst du dann eine Select machen oder If oder, oder, ... Wenn kCircleCurve dann das, und wenn kLineCurve dann das. Nicht zu vergessen aber die B-spline curve, kCircularArcCurve, kEllipseFullCurve, kEllipticalArcCurve, kLineSegmentCurve und kUnknownCurve.

Das sind alles "Curve" 

------------------
Grüße daywa1k3r

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

Michael Brix
Mitglied



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

Beiträge: 33
Registriert: 01.11.2000

erstellt am: 13. Sep. 2004 07:15    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

Hai daywa1k3r,
dein Tipp funktioniert nicht, habe eine Fläche die sich nur aus Linien zusammensetzt und nach curve-Typen selectiert trotzdem erhalte ich folgende
Fehlermeldung:
Object doesn't support this property or method

Der eingesetzte Code:

    Dim oEdge As Edge

    For i = 1 To oFace.Edges.Count
      Set oEdge = oFace.Edges(i)
      Debug.Print oEdge.CurveType
      Select Case oEdge.CurveType
        Case kCircleCurve
        Debug.Print Str(oEdge.Geometry.Radius)
        Case kLineCurve
        Debug.Print Str(oEdge.Geometry.StartPoint) <---- Zeile mit der Fehlermeldung
        Debug.Print Str(oEdge.Geometry.EndPoint)
      End Select
    Next i


Gruß

Michael

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 13. Sep. 2004 10:18    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 Michael Brix 10 Unities + Antwort hilfreich

Probier mal:

oEdge.StartVertex.Point
oEdge.StopVertex.Point

HTHHope that helps = Hoffe es hilft

------------------
Grüße daywa1k3r

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

Michael Brix
Mitglied



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

Beiträge: 33
Registriert: 01.11.2000

erstellt am: 13. Sep. 2004 13:04    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

Hai daywa1k3r,

SUPÄÄÄR - jetzt funktioniert es.

Und zwar so:

    Dim oEdge As Edge
   
    For i = 1 To oFace.Edges.Count
      Set oEdge = oFace.Edges(i)
     
      Select Case oEdge.CurveType
        Case kCircleCurve
        Debug.Print "Kurve Anfang"
        Debug.Print "Radius : " & oEdge.Geometry.Radius
        Debug.Print "Start X: " & oEdge.StartVertex.Point.X
        Debug.Print "Start Y: " & oEdge.StartVertex.Point.Y
        Debug.Print "End  X: " & oEdge.StopVertex.Point.X
        Debug.Print "End  Y: " & oEdge.StopVertex.Point.Y
        Debug.Print "Kurve Ende"
        Case kLineCurve
        Debug.Print "Linie Anfang"
        Debug.Print "Start X: " & oEdge.StartVertex.Point.X
        Debug.Print "Start Y: " & oEdge.StartVertex.Point.Y
        Debug.Print "End  X: " & oEdge.StopVertex.Point.X
        Debug.Print "End  Y: " & oEdge.StopVertex.Point.Y
        Debug.Print "Linie Ende"
      End Select
    Next i

vielen Dank !!!

Gruß

Michael

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