Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Flächenkörper auswählen

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 NX
Autor Thema:  Flächenkörper auswählen (2237 mal gelesen)
little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 30. Okt. 2008 11: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

Hallo zusammen,

hat jemand eine Idee wie ich flächenkörper finden kann (am besten mit C, oder C++, es geht auch vb.net)
Finde nur UF_solid_type und dort gibt es dann nur properties aber über kann ich ja schlecht selektieren oder?

UF_OBJ_sheet_body_property

Danke

------------------
Gruß

Michael

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

Maikx
Mitglied



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

Beiträge: 43
Registriert: 28.08.2008

UG NX4

erstellt am: 30. Okt. 2008 12:58    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 little_ug 10 Unities + Antwort hilfreich


wcs_from_face_and_longest_edge.txt

 
hier kannst ja mal schaun..
hier mußt du ne fläche mit der maus auswählen.. evtl hilft es dir ja weiter

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

little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 30. Okt. 2008 14:07    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,
aber für meine zwecke leider nicht.
Ich denke in diesem Programm wählt man eine Planare Fläche eines Körpers aus. Ich suche ja Flächenkörper im ganzen modell.

------------------
Gruß

Michael

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

Maikx
Mitglied



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

Beiträge: 43
Registriert: 28.08.2008

UG NX4

erstellt am: 30. Okt. 2008 16: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 Nur für little_ug 10 Unities + Antwort hilfreich


select_a_body_demo.txt

 
Oh tatsache hab nur Fläche gelesen ;-)

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 30. Okt. 2008 17:07    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 little_ug 10 Unities + Antwort hilfreich

Hallo Michael,

hast Du's schon mal mit der Funktion SelectObject(s) versucht ? (NXOpen>SelectionManager) Darin kannst Du anstatt der Mask über den SelectionType filtern, und da gibt's z.B. das Face als Typ.

Wenn Du dennoch eine Mask verwenden willst, kannst Du die einzelnen Flächentypen in die Mask reinpacken (Cylinder, Sphere, Bsurface etc. ). Die sind laut Doku aber i.d.R. obsolete.
Eine andere suboptimale Alternative ist über Type 70 (Solid) und Subtype 2 (Face) zu gehen.

Ein ähnliches Thema gab's hier http://ww3.cad.de/foren/ubb/Forum442/HTML/000351.shtml  schon mal.

Gruß, Michael

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

little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 31. Okt. 2008 08:56    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 Michael,

Danke für die Info. Genau das veruche ich ja über Types und Suptypes hinzubekommen.
Das Problem ist nur dass ich zwar Fläche habe aber das bedeutet alle Flächen also auch die jenigen welche zu einem Volumen gehören. Ich will aber nur Flächenkörper haben und das finde ich nicht als type.

Aber dein Tool mit den Types ist super, ich hab mir auch immer den Wolf gesucht für die types.

Danke,

------------------
Gruß

Michael

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 31. Okt. 2008 14: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 little_ug 10 Unities + Antwort hilfreich

Hallo Michael,

da bin ich mal skeptisch, ob so detailliertes Filtern mit der API überhaupt möglich ist. Interaktiv wär's einfach, da gibt's ja den SheetBody. Daß die Objekttypen (interaktiv/ per API) nicht einheitlich sind, ist schon echt sch ... ade.
Wär mal eine Frage an UGS wert, warum das so ist und ob's vielleicht irgendwann möglich wird, eine Mask so einzustellen wie in NX.

Alternative wäre, vor der Selektion die unerwünschten Objekte aus- und anschließend wieder einzublenden. Oder evtl. UIStyler / BlockStyler verwenden ?

Na, jedenfalls mal viel Erfolg bei der weiteren Suche.

Gruß, Michael

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

mecteg
Mitglied
Dipl.-Ing.


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

Beiträge: 13
Registriert: 17.02.2005

erstellt am: 01. Nov. 2008 11: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 little_ug 10 Unities + Antwort hilfreich

In C sieht es folgendermaßen aus:

(1) Du suchst nach Volumenkörpern:
    (Selektionsmaske oder Cycle, je nach Programm)
    Type: UF_solid_type
    Subtype: UF_solid_body_subtype

(2) Diese unterscheidest du anschließend mit:
    UF_MODL_ask_body_type(...)
      => UF_MODL_SOLID_BODY oder
          UF_MODL_SHEET_BODY

D.h. die Selektionsmaske entsprechend einstellen und in der Selektionsfunktion noch gezielt ausfiltern.

Ich hatte auch erwartet über Type und Subtype da heranzukommen, ist aber leider nicht so.

Gruß
Thorsten

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 03. Nov. 2008 10:36    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 little_ug 10 Unities + Antwort hilfreich

Mit etwas Vorbereitung ist es möglich, die Selektion für den Anwender so hinzukriegen, als gäb's den SheetBody als Maske. Es müssen einfach alle sichtbaren Solids auf "Visible Only" gesetzt werden, so daß sie nicht selektierbar sind. Also:

- Freien Layer suchen, der nicht Worklayer ist
- Alle Bodies, die Solid sind (geht beim Type Body u.a. über das Property isSolid bzw. isSheet) da drauf packen. Die Ausgangssituation sollte z.B. in einem Array festgehalten werden.
- Den Layer auf visible only setzen
- Selektion starten, die Solids sind jetzt nicht zu packen, obwohl sie in der Maske enthalten sind.
- Layer zurücksetzen auf seinen ursprünglichen Status.
- Solids ebenfalls wieder dahin schieben, wo sie hergekommen sind.
- fertig.

Das ist zwar etwas mehr zu programmieren, geht aber letztendlich schneller, als die langwierige und möglicherweise erfolglose Suche nach einem passenden Filter bzw. einer Maske. Dafür klappt's dann aus Anwendersicht reibungslos.

Gruß, Michael

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

Sebastian.H
Mitglied
Dipl.-Inf. Univ.

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

Beiträge: 1
Registriert: 07.11.2008

NX 5.0.5.3

erstellt am: 07. Nov. 2008 20:12    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 little_ug 10 Unities + Antwort hilfreich

Hallo Michael,

wenn ich Dich richtig verstanden habe, dann sollte die folgende VB.NET Prozedur (NX5 Open) Dein Problem lösen:

Code:

    Sub Main()

        Dim sn As Session
        Dim wp As Part
        Dim bodies As DisplayableObject()

        sn = Session.GetSession()
        wp = sn.Parts.Work
        bodies = wp.Bodies.ToArray
        For Each body As Body In bodies
            If body.IsSheetBody Then
                body.Highlight()
            End If
        Next

    End Sub


Freundliche Grüße

Sebastian

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

Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 04. Dez. 2008 14: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 little_ug 10 Unities + Antwort hilfreich

Warum setzt Du den Sheet Body nicht direkt in der Selektionsmaske...?!

Code:

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UI
Imports NXOpen.UF

Module report_selected_sheet_body
Sub Main

Dim theSession As Session = Session.GetSession()
Dim lw As ListingWindow = theSession.ListingWindow
Dim body As Body = nothing

lw.Open()

While select_a_sheet_body(body) = Selection.Response.Ok
    lw.WriteLine("Selected Sheet Body: " & body.ToString())
End While

End Sub

Function select_a_sheet_body(ByRef obj As Body)
    Dim ui As UI = GetUI()
    Dim mask(0) As Selection.MaskTriple
        With mask(0)
            .Type = UFConstants.UF_solid_type
            .Subtype = UFConstants.UF_solid_body_subtype
            .SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_SHEET_BODY
        End With
    Dim cursor As Point3d = Nothing

    Dim resp As Selection.Response = _
    ui.SelectionManager.SelectObject("Select a sheet body", "Select a sheet body", _
        Selection.SelectionScope.AnyInAssembly, _
        Selection.SelectionAction.ClearAndEnableSpecific, _
        False, False, mask, obj, cursor)

    If resp = Selection.Response.ObjectSelected Or _
      resp = Selection.Response.ObjectSelectedByName Then
        return Selection.Response.Ok
    Else
        return Selection.Response.Cancel
    End If
End Function

End Module


Zum dritten Parameter ist ein Hinweis der Dokumentation hilfreich:

Zitat:

NXOpen -> Selection.MaskTriple -> SolidBodySubtype

This is only meaningful when the type is UF_solid_type. In that case, this should be set to one of the solid type constants listed in uf_ui_types.h under "Constants for selection solid_type". For example, to select any face, use UF_UI_SEL_FEATURE_ANY_FACE in C++ and NXOpen.UF.UFConstants.UF_UI_SEL_FEATURE_ANY_FACE in .NET


Cheers.

[Diese Nachricht wurde von Overcast am 04. Dez. 2008 editiert.]

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



Praktikum im Bereich Prototypenbau und 3D-Druck ab Juli 2024
Life is always about becoming? Im Leben geht es darum, sich auf eine Reise zu begeben, um die beste Version unseres zukünftigen Selbst zu werden. Während wir Neues entdecken, stellen wir uns Herausforderungen, meistern sie und wachsen über uns hinaus.

Bewerben Sie sich bei Mercedes-Benz und finden Sie den Aufgabenbereich, in dem Sie Ihre Talente individuell entfalten können. Dabei werden Sie von visionären Kolleginnen und Kollegen unterstützt, die Ihren Pioniergeist teilen....
Anzeige ansehenWeitere: Ingenieure und technische Berufe
little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 04. Dez. 2008 15:06    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 für eure Hilfe hat geklappt!

------------------
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