Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  NXOpen.net + UFunc: Ändern des Visible Line Styles einer View m Drafting per Programm

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:  NXOpen.net + UFunc: Ändern des Visible Line Styles einer View m Drafting per Programm (1670 mal gelesen)
Luggi
Mitglied



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

Beiträge: 14
Registriert: 11.05.2005

erstellt am: 29. Jul. 2006 08: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

Liebe UG-Programmiergemeinde,

ich würde gerne folgende Tätigkeit per vb.net Programm erledigen lassen.

1.) Selektion einer View (Single selection, reduzierter Selektionsdialog)

2.) Ändern der View Preferences:
      - Visible Lines zu Farbe xy
      - Hidden Lines zu invisble

3.) setzen eines Attributes, daß per Programm in einer View die View Preferences geändert wurden


Die Selektion habe ich per vb.net eigentlich recht schnell hingekriegt. Nun ist mir aber nicht klar, wie ich die Eigenschaften des selektierte Objekts (nämlich eine Drafting View) per Code greifen kann.

In der NXOpen.net - Hilfe finde ich keine Klasse, die die gewünschte Funktionalität bietet- Ich vermute nun stark, daß ich auf UF-Functions zurückgreifen muß.

Nun meine Fragen:

1.) welche UF-Functions muß ich verwenden ?
2.) wie erden UF-Functions aus einem vb.net Programm heraus ausgerufen ?
3.) Wie übergebe ich das selektierte Objekt ?

Ich wäre um Eure Hilfe sehr dankbar.


Anbei der bestehende vb.net Code:

' ******************************************************************
'Option Strict On

Imports System
Imports System.IO
Imports System.Text
Imports System.Environment
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
Imports System.Windows
Imports System.Collections
Imports NXOpen
Imports NXOpen.Features
Imports NXOpen.UF
Imports NXOpen.Utilities
Imports NXOpenUI
Imports NXOpen.Annotations
Imports NXOpen.Drawings
Imports NXOpen.Preferences


Private theSession As Session

' *************************************************************************************
' Hauptprogramm
    Sub Main()
   
    ' Zugriff auf die aktuelle Session
        theSession= Session.GetSession()
           
        'Workpart
        Dim part1 As Part
    part1 = theSession.Parts.Work
   
    Dim ui As UI = ui.GetUI
        Dim message As String = "Select View"
        Dim title As String = "Selection"

        Dim scope As Selection.SelectionScope = Selection.SelectionScope.WorkPart
        Dim keepHighlighted As Boolean = False
        Dim includeFeatures As Boolean = True

        Dim selectionAction As Selection.SelectionAction = _
            Selection.SelectionAction.ClearAndEnableSpecific

        Dim selectionMask_array(1) As Selection.MaskTriple
        With selectionMask_array(0)
            .Type = UFConstants.UF_VIEW_TYPE
            .Subtype = 0
            .SolidBodySubtype = 0
        End With

        Dim selectedObject As NXObject = Nothing
        Dim cursor As Point3d
       
        ui.SelectionManager.SelectObject(message, title, scope, _
                                        selectionAction, includeFeatures, _
                                        keepHighlighted, selectionMask_array, _
                                        selectedObject, cursor)
       
Dim SelectedView As DraftingView

SelectedView = CType(selectedObject, DraftingView)

    End Sub
End Module


Vielen Dank und liebe Grüße

------------------
;-)= Luggi

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



Mechanical Design Engineer (m/f/d)

Mechanical Design Engineer (m/f/d)

Kaufering

Job reference: 46950

As we expand our system development team, we are seeking a new member to join us. You will be part of a cross-functional project team tasked with developing highly differentiated anchoring systems and shaping our technology roadmaps.

Your role will involve designing and engineering cutting-edge ...

Anzeige ansehenMaschinenbau
Luggi
Mitglied



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

Beiträge: 14
Registriert: 11.05.2005

erstellt am: 31. Jul. 2006 01:29    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 Leute,

bin in der Zwischenzeit etwas weiter. Vergeßt also meine Fragen.

Allerdings kann sich jemand von Euch das Fehlverhalten erklären ? siehe Anhang

View Preferences auslesen und ausgeben funktioniert, aber das setzen nicht.

Anbei der neue Code:

Option Strict Off

Imports System
Imports System.IO
Imports System.Drawing
Imports NXOpen
Imports NXOpen.Drawings
Imports NXOpen.UF
Imports NXOpen.Utilities

Module Set_View_Preferences

Private theSession As Session
Private theUFSession as UFSession

Sub Main()
   
    'Zugriff auf die aktuelle Session
        theSession = Session.GetSession()
    theUFSession = UFSession.GetUFSession()
               
    Dim ui as UI = ui.GetUI
       
        Dim message as String = "Select View to be defined as CAM_CONTUR"
        Dim title as String = "Selection"
        Dim scope as Selection.SelectionScope = Selection.SelectionScope.WorkPart
        Dim keepHighlighted as Boolean = False
        Dim includeFeatures as Boolean = True
        Dim selectionAction as Selection.SelectionAction = _
            Selection.SelectionAction.ClearAndEnableSpecific

        Dim selectionMask_array(1) As Selection.MaskTriple
        With selectionMask_array(0)
            .Type = UFConstants.UF_VIEW_TYPE
            .Subtype = 0
            .SolidBodySubtype = 0
        End With

        Dim selectedObject As NXObject = Nothing
        Dim cursor As Point3d
       
        ui.SelectionManager.SelectObject(message, title, scope, _
                                        selectionAction, includeFeatures, _
                                        keepHighlighted, selectionMask_array, _
                                        selectedObject, cursor)
       
Dim SelectedView As NXOpen.Drawings.DraftingView
SelectedView = CType(selectedObject, DraftingView)

' Auslesen der View Preferences
Dim ReadViewPref as NXOpen.UF.UFDraw.ViewPrfs
theUFSession.Draw.AskViewDisplay(SelectedView.Tag, ReadViewPref)
msgbox(ReadViewPref.visible_line_color.toString())

' Schreiben der View Preferences
Dim ViewPrefParam as NXOpen.UF.UFDraw.ViewPrfs

With ViewPrefParam
.hidden_line = 1
.hidden_line_color = 20
.visible_line_color = 200
End With

theUFSession.Draw.SetViewDisplay(SelectedView.Tag, ViewPrefParam)

    End Sub
End Module

------------------
;-)= Luggi

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