Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Fehlermeldung bei AskVisibleObjects

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:  Fehlermeldung bei AskVisibleObjects (1273 mal gelesen)
jevertz
Mitglied



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

Beiträge: 15
Registriert: 05.04.2010

NX 8.5 WIN 7 64
MS VB 2010 Express

erstellt am: 29. Apr. 2010 08: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


baugruppe.zip

 
Hallo,

ich frage mittels AskVisibleObjects alle sichtbaren Objekte des Displayed part ab. Anschliessend nutze ich das für den Export von solids (If TypeOf (Obj) Is Body Then...).

Das funktionert sehr gut, vor allem muss ich nicht fragen, ob es sich um ein Solid handelt und ob dessen Layer "hidden" ist usw.

Allerdings taucht jetzt bei eingeblendeten assembly constraints eine Fehlermeldung auf. Die Lösung wäre also constraints zu erfragen, diese blanken und anschliessend mittels AskVisibleObjects fortfahren.

Kann mir jemand einen Tip geben, wie ich diese constraints finde und blanke?

Code:

Imports NXOpen
Module module3
    Dim s As session = session.GetSession()
    Sub Main(ByVal args As String())
        Dim objekte() As DisplayableObject
        objekte = s.Parts.Display.Views.WorkView.AskVisibleObjects
        MsgBox(objekte.Length)
    End Sub
End Module

angewendet auf die Baugruppe ergibt das den oben genannten Fehler.

[Diese Nachricht wurde von jevertz am 29. Apr. 2010 editiert.]

[Diese Nachricht wurde von jevertz am 29. Apr. 2010 editiert.]

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 29. Apr. 2010 09: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 Nur für jevertz 10 Unities + Antwort hilfreich

Hallo,

schau dir mal folgende Funktion an:

Code:

Dim ufs As UFSession = UFSession.GetUFSession()
ufs.Obj.AskTypeAndSubtype(objekte(i).Tag, Typ, SubTyp)

Du kannst den Typ und Subtyp eines Objektes abfragen und dementsprechend auswerten...

lg Seiwi 

------------------
Let's Rock... 

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

jevertz
Mitglied



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

Beiträge: 15
Registriert: 05.04.2010

NX 8.5 WIN 7 64
MS VB 2010 Express

erstellt am: 29. Apr. 2010 23:01    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 Seiwi,

auf meinem Client zu Hause (gleiche Installation, aber was heisst schon gleich...) bekomme ich die Fehlermeldung von der Methode AskVisibleObjects nicht. Dafür auf zwei Clients im Büro...

Habe mal Deinen Tip angeschaut.
Auch dort muss ich ja erstmal auf die Objekte zugreifen können.

Dachte das geht so, aber nix da, liefert immer BodyCount=0

Code:
    Sub Main()
        Dim ufs As UFSession = UFSession.GetUFSession()
        Dim ObjTag As NXOpen.Tag = Tag.Null
        Dim BodyCount As Integer = 0
        Do
            ufs.Obj.CycleObjsInPart(s.Parts.Display.Tag, UFConstants.BODY, ObjTag)
            If ObjTag <> Tag.Null Then
                BodyCount = BodyCount + 1
            End If
        Loop While ObjTag <> Tag.Null
        MsgBox(BodyCount)
    End Sub
End Module

Ich kann ja danach mittels AskTypeAndSubtype die Bodies finden, aber dann weiss ich immer noch nicht ob die displayed sind - oder?

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

jevertz
Mitglied



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

Beiträge: 15
Registriert: 05.04.2010

NX 8.5 WIN 7 64
MS VB 2010 Express

erstellt am: 04. Mai. 2010 20:48    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 NX-ler

wie ich festgestellt habe, liegt der Grund für meine Fehlermeldung in unterschiedlichen NX Versionen:

6.0.3: AskVisibleObjects ergibt Fehlermeldung
6.0.5: AskVisibleObjects läuft fehlerfrei

Das war also der Unterschied...

Bin trotzdem froh um einen Input zu ufs.Obj.CycleObjsInPart und mein unerwartetes BodyCount=0 Resultat.

Gruss jevertz 

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 05. Mai. 2010 08: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 Nur für jevertz 10 Unities + Antwort hilfreich

Hallo jeverts,

kann es sein, dass du nach dem falschen Typ suchst: UFConstants.BODY
Versuchs mal mit: UFConstants.UF_solid_type

lg Seiwi

------------------
Let's Rock... 

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



Konstrukteur/in (m/w/d) in der Tragwerksplanung

Als innovatives Architektur- und Ingenieurbüro, das vor mehr als 60 Jahren als Büro für Statik und Baukonstruktion gegründet wurde, prägt uns eine interdisziplinäre Zusammenarbeit, eine ganzheitliche Herangehensweise und eine nachhaltige wie auch digitale Projektbearbeitung.

Mit unseren Projekten stiften wir Identität, finden wir Antworten auf komplexe gesellschaftliche Fragen. Wir gehen ...

Anzeige ansehenKonstruktion, Visualisierung
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: 05. Mai. 2010 19:44    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 jevertz 10 Unities + Antwort hilfreich

Hallo jeverts,

kann es sein, daß in Deinem DisplayedPart keine Bodies, sondern nur Komponenten drin sind? CycleObjsInPart geht sehr wahrscheinlich, wie der Name schon sagt, nur die Objs in Part, nicht in den Komponenten durch. Mach' einfach mal 'nen Quader direkt ins DisplayedPart, dann siehts Du, ob's das war. Evtl. auch mal das WorkPart probieren.

Falls es das nicht sein sollte, kannst Du den Objekttyp anstatt über die UFConstants gleich als Integer angeben. Mein Tip wäre die 70 oder UFConstants.SOLID.


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