Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Farbpalette tauschen

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 tauschen (3115 mal gelesen)
Zoechi
Mitglied
Software Entwickler


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

Beiträge: 28
Registriert: 03.07.2008

NX 4.0.4.2 MP9, MS Visual Studio 2005, NX 4.0 Open C und MFC

erstellt am: 14. Dez. 2009 16:15    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,

möchte gerne die Farbpalette (*.cdf, Color Definition File) von mehreren Parts automatisiert tauschen.
Den manuellen Weg mit "Part öffnen" -> "Preferences" -> "Color Palette" möchte ich mir über die tausende von Parts sparen.
Habe die "NX Open C"-Hilfe schon durchforstet, habe aber nichts gefunden.
Auch das Journal (C++, C#) schreibt nichts mit. Nicheinmal ein Makro schafft diesen Schritt.

Hat jemand von euch Erfahrung mit dem tauschen der Farbpalette?
Gibt es eine Funktion in NX Open (egal ob C, C++ oder C#) mit der ich die aktuelle Farbpalette abfragen und durch die neue tauschen kann?

Ich hoffe ihr könnt mir dabei helfen.

Gruß,
Thomas

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: 15. Dez. 2009 08:42    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 Zoechi 10 Unities + Antwort hilfreich

Hallo,

in den Calls von UG / NX findet sich folgende Lösung.

Ausschnitt:

Code:
static void load_color_definition_file(char *cdf_spec)
{
    int
        ii;
    double
        rgb[3];
    char
        a_line[MAX_LINE_SIZE+1],
        color_name[UF_DISP_MAX_NAME_SIZE+1],
        *ptr;
    FILE
        *cdf;

    if ((cdf = fopen(cdf_spec, "r")) != NULL)
    {

    /*  Read 4 header lines */
        for (ii = 0; ii < 4; ii++)
            fgets(a_line, MAX_LINE_SIZE, cdf);

        ii = 0;
        while ((fgets(a_line, MAX_LINE_SIZE, cdf)) != NULL)
        {
            strncpy(color_name, a_line, UF_DISP_MAX_NAME_SIZE);
            color_name[UF_DISP_MAX_NAME_SIZE] = '\0';
            strip_trailing_spaces(color_name);

            ptr = a_line + 32;
            rgb[0] = atof(ptr);
            ptr = ptr + 11;
            rgb[1] = atof(ptr);
            ptr = ptr + 11;
            rgb[2] = atof(ptr);

            UF_CALL(UF_DISP_set_color(ii, UF_DISP_rgb_model, color_name, rgb));
            ii++;
        }
        fclose(cdf);

        UF_CALL(UF_DISP_load_color_table());
    }
}


Vielleicht hilfts ja weiter!? 

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

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

Zoechi
Mitglied
Software Entwickler


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

Beiträge: 28
Registriert: 03.07.2008

NX 4.0.4.2 MP9, MS Visual Studio 2005, NX 4.0 Open C und MFC

erstellt am: 15. Dez. 2009 14: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

Hallo seiwi,

Danke! Das hat mir schon mal viel weiter geholfen.

Anscheinend wird im Part selbst nicht gespeichert, welches Color Definition File hinterlegt ist, sondern nur der Farbname und die Farbwerte (RGB,...) hinter dem Index. So ist zumindest mein Rückschluss, hat jemand von euch eine andere Erfahrung damit gemacht?

@seiwi: Darf ich fragen wo du diese Lösung her hast? Ist das die gleiche Funktion die bei "Preferences" -> "Color Palette" --> "Open CDF" ausgeführt wird?

Das Auslesen und Ändern der Farbpalette klappt jetzt soweit, aber eine weitere Frage habe ich noch:
Im CDF sind noch die Inizes der Favourite Colors enthalten. Den Indizes kann ich also aus der Datei auslesen, aber wie kann ich diese dann mit NX Open setzen?

Gruß,
Thomas

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

UdoMM
Mitglied
Senior Consultant CAX


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

Beiträge: 270
Registriert: 02.07.2004

NX1 ... Continuous
I-deas MS6 ... NXI6.1m1 (15)
TC12

erstellt am: 25. Jun. 2010 09: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 Zoechi 10 Unities + Antwort hilfreich

Hallo Zoechi,

ich stehe gerade vor der selben Anforderung: muss eine *.cdr-Datei laden.
Nun suche ich ein Skript in vb.net dafür...
Wer kann mir da evtl. weiterhelfen?
Vielen Dank!

------------------
Gruß
UdoMM
:
<><

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: 25. Jun. 2010 10:09    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 Zoechi 10 Unities + Antwort hilfreich

Hallo Udo,

zum direkten Einlesen eines CDF's gibt's m.W. keine API- Funktion. Daher muss, wie im obigen Beispiel, die einzelne Farbe umgestellt (UF_DISP_set_color) und anschließend mit UF_DISP_load_color_table angezeigt werden.

Gruß, Michael

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

UdoMM
Mitglied
Senior Consultant CAX


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

Beiträge: 270
Registriert: 02.07.2004

NX1 ... Continuous
I-deas MS6 ... NXI6.1m1 (15)
TC12

erstellt am: 25. Jun. 2010 14:14    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 Zoechi 10 Unities + Antwort hilfreich

Gut - dann bin ich mal gespannt, ob ich das hinbekomme.

Vielen Dank für die Info!

------------------
Gruß
UdoMM
:
<><

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

master001
Mitglied
Projektingenieur


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

Beiträge: 454
Registriert: 25.02.2005

erstellt am: 28. Jun. 2010 18: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 Nur für Zoechi 10 Unities + Antwort hilfreich

Moin Euch allen,

gab ich nichtmal einen Haken den man setzen konnte in den Standards, dass die Farbpallete nicht vom Part sondern von den Anwenderstandards genommen werden soll? oder galt das nur für "Datei neu"?

Vielleicht hats ja geholfen

Gruß Patric

------------------
Internet: http://www.imtech.de

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



Werkstudent BIM (m/w/d) für API-Programmierungen (Tekla Structures, Inventor)

GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ...

Anzeige ansehenWirtschaftsinformatik
Zoechi
Mitglied
Software Entwickler


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

Beiträge: 28
Registriert: 03.07.2008

NX 4.0.4.2 MP9, MS Visual Studio 2005, NX 4.0 Open C und MFC

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

Grüß dich master001,

in den customer defaults kannst du unter Gateway\Visualization\Color Palette eine Farbpalette einstellen, mit der, wie du sagst, ein neuer Part erstellt wird (mit "blank" ab NX 5).

Die Farbpalette eines bereits bestehenden Parts kann man dann nur bei offenem Part über die Menüleiste unter Preferences\Color Palette ändern.

Eine API-Funktion, um die Farbpalette als Ganzes einzulesen, gibt es leider nicht. Es funktioniert nur so, wie mseufert weiter oben gesagt hat.
Zum Setzen der Favouriten habe ich bis jetzt noch überhaupt keine Funktion gefunden.

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