Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  NX.OPEN VB Kanten im Drawing selektieren

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:  NX.OPEN VB Kanten im Drawing selektieren (1806 mal gelesen)
Tobehoschi
Mitglied


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

Beiträge: 8
Registriert: 01.10.2007

erstellt am: 10. Okt. 2007 13:10    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 arbeite gerade an einem NX.OPEN VB Programm:
Wie bekommt man es hin, dass man in der Zeichnungsanwendung "Kanten" einer Ansicht mit Hilfe eines Auswahlsmenü selektieren kann? Wie auch in den UGS Advanced Search Seiten zu finden bnütze ich den "üblichen" Code, um eine Tripple Box zu erstellen:

Function mask_for_curves(ByVal select_ As IntPtr, _
                      ByVal userdata As IntPtr) As Integer

    Dim num_triples As Integer = 6
    Dim mask_triples(5) As UFUi.Mask

    mask_triples(0).object_type = UFConstants.UF_line_type
    mask_triples(0).object_subtype = 0
    mask_triples(0).solid_type = 0

    mask_triples(1).object_type = UFConstants.UF_circle_type
    mask_triples(1).object_subtype = 0
    mask_triples(1).solid_type = 0

    mask_triples(2).object_type = UFConstants.UF_conic_type
    mask_triples(2).object_subtype = 0
    mask_triples(2).solid_type = 0

    mask_triples(3).object_type = UFConstants.UF_spline_type
    mask_triples(3).object_subtype = 0
    mask_triples(3).solid_type = 0

    mask_triples(4).object_type = UFConstants.UF_solid_type
    mask_triples(4).object_subtype = 0
    mask_triples(4).solid_type = 0

    mask_triples(5).object_type = UFConstants.UF_drafting_entity_type
    mask_triples(5).object_subtype = 0
    mask_triples(5).solid_type = 0
 
    ufs.Ui.SetSelMask(select_, _
                      UFUi.SelMaskAction.SelMaskClearAndEnableSpecific, _
                      num_triples, mask_triples)

    Return UFConstants.UF_UI_SEL_SUCCESS

End Function


Hier habe ich alle möglichen Objekttypen aus der ...\UGOPEN\uf_object_types.h Datei ausprobiert. Ich schaffe es aber nicht, Elemente IN der View zu selektieren.

Hat jemand eine Idee, wie ich an diese "Silhouetten Vollkurven" (z.B. die abgeleiteten Kanten von einer Bohrung) oder "Kanten" drann komme?

Gruß,
Sascha

------------------
hoschi

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: 10. Okt. 2007 23:41    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 Tobehoschi 10 Unities + Antwort hilfreich

Hallo Sascha,

probier mal, das Maskieren wegzulassen. Irgendwie hat das schon mal geklappt, weiß nur im Moment nicht mehr genau wie. Evtl. mit
Dim ip As UFUi.SelInitFnT = Nothing anstelle von AddressOf mask_for_body in der aufrufenden Funktion. Oder
ufs.Ui.SelectWithSingleDialog(message, title, scope, Nothing, _
        Nothing, sel_resp, body, cursor, view)

Gruß, Michael

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

Tobehoschi
Mitglied


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

Beiträge: 8
Registriert: 01.10.2007

erstellt am: 11. Okt. 2007 12: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

Hallo Michael,

danke schon mal für Deine Antwort. Leider funktionierts so noch nicht.
Mit Deinem ersten Tip bekomme ich alle Möglichkeiten in der Auswahlbox zur Verfügung gestellt, aber auch damit bekomme ich die Körperkanten der View nicht selektiert.

Dein zweiter Tip zündet bei mir überhaupt nicht. Habe bis jetzt die Auswahl wie folgt stehen:

ufs.Ui.SelectWithClassDialog(prompt, "Kurven:", _
            UFConstants.UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY, _
            mask_crvs, Nothing, response, cnt, curves)

Gruß, Sascha

------------------
hoschi

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



Teamleitung Kompressorentwicklung (m/w/d)

Seit 140 Jahren sind wir ein innovatives Maschinenbauunternehmen für namhafte Kunden auf der ganzen Welt. Unser Fokus liegt heute auf der Entwicklung, Fertigung und dem Vertrieb von Mittel- und Hochdruckkompressoren für zahlreiche Anwendungen in den Bereichen Schifffahrt, Marine, Industrie und Offshore.

Im Zuge des weiteren Wachstums in der Abteilung Forschung und Entwicklung ...

Anzeige ansehenTeamleitung, Gruppenleitung
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: 12. Okt. 2007 10: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 Tobehoschi 10 Unities + Antwort hilfreich

Hallo Sascha,

welchen Objekt- Typ gibt Dir denn ein Information-> Objekt aus ? Etwas merkwürdig ist das schon, daß sich die Elemente selbst ohne Maskierung nicht selektieren lassen. Hängt evtl. daran, daß sie von einer View abhängig sind. 

In Deiner Programmzeile mit der Funktion SelectWithClassDialog sollte die Maskierung wegfallen, wenn Du den Parameter mask_crvs durch Nothing ersetzt.
Das wird aber auch nicht viel helfen, da sich die Kurven, wie Du schon geschrieben hast, auch ohne Maske nicht anpacken lassen.

Viel Spaß noch beim Tüfteln

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