Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Farbpalette zu 100% laden

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:  Farbpalette zu 100% laden (981 mal gelesen)
Arkadius
Mitglied
CAD Consultant


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

Beiträge: 45
Registriert: 21.09.2006

Windows 7
NX 10.0.3.5

erstellt am: 06. Feb. 2018 08: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

Hallo NX-Gemeinde.

Ich versuche gerade in vielen alten Teilen die Farbpalette zu ersetzen.
Dafür benutze ich folgenden Code:

Code:
    Sub Farbpalette()
        Dim rootDir As String = Environment.GetEnvironmentVariable("UGII_ROOT_DIR")
        Dim colorPalette As String = rootDir & "\ugcolor.cdf"

        Dim colorName As String = ""
        Dim red As String = ""
        Dim green As String = ""
        Dim blue As String = ""
        Dim rgbColor(2) As Double
        Dim thisColor As Integer = 0
        Dim textLine As String = ""
        Dim lineCounter As Integer = 0

        Dim myStream As Stream = Nothing

        ' Create a NumberFormatInfo object and set several of its
        ' properties that apply to numbers.
        ' The settings below are used eg. in European Countries
        Dim provider As NumberFormatInfo = New NumberFormatInfo()
        provider.NumberDecimalSeparator = "."
        provider.NumberGroupSeparator = ","
        provider.NumberGroupSizes = New Integer() {3}
        provider.NumberDecimalDigits = 7

        Try
            FileOpen(1, colorPalette, OpenMode.Input)

            Do Until EOF(1)

                textLine = LineInput(1)

                If lineCounter > 3 Then

                    colorName = textLine.Substring(0, 30)

                    red = textLine.Substring(34, 9)
                    green = textLine.Substring(45, 9)
                    blue = textLine.Substring(56, 9)

                    rgbColor(0) = Convert.ToDouble(red, provider)
                    rgbColor(1) = Convert.ToDouble(green, provider)
                    rgbColor(2) = Convert.ToDouble(blue, provider)
                    thisColor = lineCounter - 4
                    theUFsession.Disp.SetColor(thisColor, UFConstants.UF_DISP_rgb_model, colorName, rgbColor)

                End If

                lineCounter += 1

            Loop

            FileClose(1)

            theUFsession.Disp.LoadColorTable()

    End Sub


Das funktioniert augenscheinlich sehr gut. Vergleicht man aber nun die Ergebnisse fällt z.B. folgendes auf:

Original ugcolor.cdf
Pale Lemon                        1.0000000  0.9803769  0.7490043
Medium Lemon                      1.0000000  0.9607691  0.6549020
Strong Lemon                      1.0000000  0.9490043  0.5137102

Nach dem Journal:
Pale Lemon                        1.0000000  0.9803922  0.7490196
Medium Lemon                      1.0000000  0.9607843  0.6549020
Strong Lemon                      1.0000000  0.9490196  0.5137255

Ich komm einfach nicht drauf, warum dieser Unterschied entsteht...

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: 08. Feb. 2018 17: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 Nur für Arkadius 10 Unities + Antwort hilfreich

Hallo Arkadius,

meine erste Frage wäre nicht warum, sondern wo der Unterschied entsteht. Also entweder per Debugger oder mit Kontrollausgaben feststellen, in welcher Zeile der ursprüngliche Wert geändert wird.

Sobald das klar ist, kommt die Frage nach dem Warum. Ich würde auf die fixen Indices tippen. Zur Vermeidung kann z.B. [String].Split() verwendet werden.

Gruß, Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit selt'ner als das "Bitte, Bitte".

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

Arkadius
Mitglied
CAD Consultant


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

Beiträge: 45
Registriert: 21.09.2006

Windows 7
NX 10.0.3.5

erstellt am: 09. Feb. 2018 07:54    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.
Das hatte ich versucht. Die Variablenzuweisung bis
rgbColor(2) = Convert.ToDouble(blue, provider)
funktioniert und hat noch den korrekten Wert. Es muss also bei theUFsession.Disp.SetColor oder theUFsession.Disp.LoadColorTable passieren. Hier wüsste ich nicht wie es prüfen soll.

Ebenso kurios finde ich, dass nicht alle Werte abweichend sind und die die abweichen immer um 152 bzw. 153 abweichen.

Gruß
Arkadius

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



Bau-, Wirtschafts- oder Umweltingenieur als Projektleiter / Projektbearbeiter im Bereich Infrastruktur (m?/?w?/?d)

Leidenschaft, fachliche Expertise und integrale Planung: Das ist die BFT Gruppe. Bei uns arbeiten rund 300 Ingenieur/innen, Architekt/innen und Sachverständige gemeinsam an komplexen Projekten und entwickeln miteinander interdisziplinäre Lösungen für Gebäude, Technische Anlagen, Bauwerke und Leitungsnetze der unterirdischen und verkehrstechnischen Infrastruktur. Unsere Teams gewinnen aus der fachübergreifenden ...

Anzeige ansehenProjektmanagement
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: 09. Feb. 2018 14:25    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 Arkadius 10 Unities + Antwort hilfreich

Hallo Arkadius,

ich glaub' zwar nach wie vor an die Indices, da braucht nur mal ein Blank verrutsch sein. Aber es könnte auch an SetColor liegen. Evtl. arbeitet die Methode mit Single Precision und muss einfach die restlichen Nachkommastellen erfinden.
Hast Du mal in die Doku geschaut, oder nach einem AskColor Ausschau gehalten ?

Gruß, Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit selt'ner als das "Bitte, Bitte".

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