Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Geometrie 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:  Geometrie einer Fläche (1499 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: 23. Sep. 2003 14: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

Frage: Ist es möglich nach dem anwählen einer Fläche deren Umrissgeometrie zu bekommen? über PlanarSketch.Profiles evtl.?
Wäre für ein bißchen Beispielcode dankbar!

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: 23. Sep. 2003 15: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 Michael Brix 10 Unities + Antwort hilfreich

Hallo,

hier mal der Code aus der Programmierungshilfe. Damit ist es möglich die Flächen anzuklicken, und gleich die Fläche (cm^2) zu bekommen. Hier der Code:

Code:

Public Sub TestSelection()
    ' Create a new clsSelect object.
    Dim oSelect As New clsSelect
   
    ' Call the pick method of the clsSelect object and set
    ' the filter to pick any face.
    Dim oFace As Face
    Set oFace = oSelect.Pick(kPartFaceFilter)
   
    ' 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


'*************************************************************
' The declarations and functions below need to be copied into
' a class module whose name is "clsSelect".  The name can be
' changed but you'll need to change the declaration in the
' calling function "TestSelection" to use the new name.

' Declare the event objects
Private WithEvents oInteractEvents As InteractionEvents
Private WithEvents oSelectEvents As SelectEvents

' Declare a flag that's used to determine when selection stops.
Private bStillSelecting As Boolean

Public Function Pick(filter As SelectionFilterEnum) As Object
    ' Initialize flag.
    bStillSelecting = True
   
    ' Create an InteractionEvents object.
    Set oInteractEvents = ThisApplication.CommandManager.CreateInteractionEvents
   
    ' Define that we want select events rather than mouse events.
    oInteractEvents.SelectionActive = True

    ' Set a reference to the select events.
    Set oSelectEvents = oInteractEvents.SelectEvents
   
    ' Set the filter using the value passed in.
    oSelectEvents.AddSelectionFilter filter
   
    ' Start the InteractionEvents object.
    oInteractEvents.Start
   
    ' Loop until a selection is made.
    Do While bStillSelecting
        DoEvents
    Loop
   
    ' Get the selected item.  If more than one thing was selected,
    ' just get the first item and ignore the rest.
    Dim oSelectedEnts As ObjectsEnumerator
    Set oSelectedEnts = oSelectEvents.SelectedEntities
    If oSelectedEnts.Count > 0 Then
        Set Pick = oSelectedEnts.Item(1)
    Else
        Set Pick = Nothing
    End If
   
    ' Stop the InteractionEvents object.
    oInteractEvents.Stop
   
    ' Clean up.
    Set oSelectEvents = Nothing
    Set oInteractEvents = Nothing
End Function

Private Sub oInteractEvents_OnTerminate()
    ' Set the flag to indicate we're done.
    bStillSelecting = False
End Sub

Private Sub oSelectEvents_OnSelect(ByVal JustSelectedEntities As ObjectsEnumerator, ByVal SelectionDevice As SelectionDeviceEnum, ByVal ModelPosition As Point, ByVal ViewPosition As Point2d, ByVal View As View)
    ' Set the flag to indicate we're done.
    bStillSelecting = False
End Sub


Du kannst dan : MsgBox "Face area: " & oFace.Evaluator.Area & " cm^2"

auskommentieren, und über oFace.Geometry auf die Geometry zugreifen.

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: 23. Sep. 2003 16: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

Vielen Dank erstmal für die schnelle Antwort.
Kann mit oFace.Edges die Anzahl der Kanten ausgeben
soweit bin ich leider erst - verstehe nicht wie ich
auf die Geometrie zugreifen kann.
Ist das Format irgendwo beschrieben?

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