Forum:NX Programmierung
Thema:Header Row für PMI Tabelle mit NX Journal
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
didie

Beiträge: 94 / 0

win 7 64 Bit
NX 10.0.3.5 MP1

Hallo,

Ich erstelle mit einem C# Journal mit der Class PmiTableSection eine PMI Tabelle.

Code:

            PmiTableSection nullNXOpen_Annotations_PmiTableSection = null;
                PmiTableBuilder pmiTableBuilder1;
                pmiTableBuilder1 =
                    _activepart.Annotations.PmiTableSections.CreatePmiTableBuilder(
                        nullNXOpen_Annotations_PmiTableSection);

.....
.....
.....
              NXObject tabNote1 = pmiTableBuilder1.Commit();


Das funktioniert soweit auch. Nun möchte ich der Tabelle noch eine Header Row zufügen. Dafür kann ich in der Class PmiTableSection nichts finden.

Man kann mit der Class Table Header Rows einfügen. Das wird so gemacht wenn mann Journal aufzeichnet bei dem man die Tabelle selektiert und einen Header hinzufügt.

Code:

              NXOpen.Annotations.Table table1 = (NXOpen.Annotations.Table)_activepart.Annotations.Tables.FindObject("ENTITY 165 12 1");
               
                table1.InsertHeaderRow();


In meinem Code habe ich das Problem, dass ich die als PmiTableSection erzeugte Tabelle nicht als table identifizieren kann, weil mir der Journal JournalIdentifier der table (im Beispiel "ENTITY 165 12 1") nicht bekannt ist.

Ich kann auch eine PmiTableSection nicht in eine Table casten.

Es kommt folgende Meldung
System.InvalidCastException: Das Objekt des Typs "NXOpen.Annotations.PmiTableSection" kann nicht in Typ "NXOpen.Annotations.Table" u
mgewandelt werden.

Hat jemand eine Idee wie ich einer PMI Tabelle eine Header Row zufügen kann?

Gruß
didie

Poseida

Beiträge: 94 / 0

Moldex 3D R13
NX 10 TC 11

Hallo,

Nur eine schnelle Idee.
du musst ein Cycle durch dein WorkPart laufen lassen und den Type 165 und Subtype 12 suchen.

Hier ein Auszug aus der uf_object_types.h
#define UF_tabular_note_type                    165
#define UF_tabular_note_section_subtype                0
#define UF_tabular_note_subtype                        1
#define UF_tabular_note_row_subtype                    2
#define UF_tabular_note_column_subtype                3
#define UF_parts_list_subtype                        11
#define UF_parts_list_row_subtype                    12
#define UF_parts_list_column_subtype                  13
#define UF_spline_gear_table_subtype                  21
#define UF_spline_gear_row_subtype                    22
#define UF_spline_gear_column_subtype                23

Dann kannst du dieses Objekt an deine Table1 übergeben.

------------------
Benjamin

didie

Beiträge: 94 / 0

win 7 64 Bit
NX 10.0.3.5 MP1

Hallo Poseida,

Danke für deinen Tipp.

Ich habe in meinem Part 4 PMI Tabellen. für alle wird mir Type 165  Subtype 0 ausgegeben. Also hilft mir das auch nicht weiter.

Gruß
Didie

Big King

Beiträge: 1487 / 0

TC11.6_Patch_3
(Testing .....)
NX12.0.2 MP3
(Testing 1872-1855)
BCT 18.3 Products & Inspector
(Testing 18.8 Products & Inspector)
HQM 10.2.1
(Testing HQM 11...)
Win10 Enterprice 1809 - 17763.805
(Testing ...)
HP Workstation z640
Intel Xeon E5-1620v3 3.5GHz
NVIDA Quatro M4000 3GB
32GB DDR3-1866 RAM
Samsung Enterprise 240GB SSD

#define UF_tabular_note_type                    165
#define UF_tabular_note_section_subtype          0
#define UF_tabular_note_subtype                  1
#define UF_tabular_note_row_subtype              2
#define UF_tabular_note_column_subtype            3

#define UF_pmi_filter_type                      250
#define    UF_pmi_filter_all_subtype              0
#define    UF_pmi_filter_by_type_subtype          1
#define    UF_pmi_filter_by_view_subtype          2


alle Typs sind in der
C:\...\nx...\UGOPEN\uf_object_types.h
beschrieben

------------------
“Vision without action is a daydream. Action without vision is a nightmare."

didie

Beiträge: 94 / 0

win 7 64 Bit
NX 10.0.3.5 MP1

Das Problem ist gelöst.
Ich habe eine Möglichkeit gefunden für c# journals mit dem wrapper UF_TABNOT_ask_tabular_note_of_section() die table zu casten.

Code:

Tag tabNote;
theUfSession.Tabnot.AskTabularNoteOfSection(pmiTableSection.Tag, out tabNote);
Table table = (Table)NXOpen.Utilities.NXObjectManager.Get(tabNote);
table.InsertHeaderRow();


Gruß
didie