Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Feature (DatumCsys) hide / show

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:  Feature (DatumCsys) hide / show (1707 / mal gelesen)
tolo
Mitglied
Konstrukteur


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

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 02. Dez. 2016 12:21    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,

wie kann ich denn ein Feature (in meinem Fall ein DatumCsys) auf show oder hide stellen?

Danke vorab

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: 02. Dez. 2016 14:24    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 tolo 10 Unities + Antwort hilfreich

Hallo Thomas,

in einer Aufzeichnung steht (fast) alles drin, lediglich die per FindObject() ermittelten Objekte müssen aus dem Feature ausgelesen und dann ausgeblendet 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 seltner als das "Bitte, Bitte".

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

tolo
Mitglied
Konstrukteur


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

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 02. Dez. 2016 15: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

Hallo Michael,

ich habe das schon in folgender Weise probiert:

        Dim objects1(7) As NXOpen.DisplayableObject
                    Dim component As NXOpen.Assemblies.Component = CType(nxui.SelectionManager.GetSelectedTaggedObject(0), NXOpen.Assemblies.Component)

                    Dim cartesianCoordinateSystem1 As NXOpen.CartesianCoordinateSystem = CType(component.FindObject("PROTO#.Features|DATUM_CSYS(0)|CSYSTEM 1"), NXOpen.CartesianCoordinateSystem)
                    objects1(0) = cartesianCoordinateSystem1

                    Dim point1 As NXOpen.Point = CType(component.FindObject("PROTO#.Features|DATUM_CSYS(0)|POINT 1"), NXOpen.Point)
                    objects1(1) = point1

                    Dim datumPlane1 As NXOpen.DatumPlane = CType(component.FindObject("PROTO#.Datums|DATUM_CSYS(0) XY plane"), NXOpen.DatumPlane)
                    objects1(2) = datumPlane1

                    Dim datumAxis1 As NXOpen.DatumAxis = CType(component.FindObject("PROTO#.Datums|DATUM_CSYS(0) X axis"), NXOpen.DatumAxis)
                    objects1(3) = datumAxis1

                    Dim datumPlane2 As NXOpen.DatumPlane = CType(component.FindObject("PROTO#.Datums|DATUM_CSYS(0) XZ plane"), NXOpen.DatumPlane)
                    objects1(4) = datumPlane2

                    Dim datumPlane3 As NXOpen.DatumPlane = CType(component.FindObject("PROTO#.Datums|DATUM_CSYS(0) YZ plane"), NXOpen.DatumPlane)
                    objects1(5) = datumPlane3

                    Dim datumAxis2 As NXOpen.DatumAxis = CType(component.FindObject("PROTO#.Datums|DATUM_CSYS(0) Y axis"), NXOpen.DatumAxis)
                    objects1(6) = datumAxis2

                    Dim datumAxis3 As NXOpen.DatumAxis = CType(component.FindObject("PROTO#.Datums|DATUM_CSYS(0) Z axis"), NXOpen.DatumAxis)

                    objects1(7) = datumAxis3
                    sess.DisplayManager.ShowObjects(objects1, NXOpen.DisplayManager.LayerSetting.ChangeLayerToSelectable)


Aber ab der Zeile mit "PROTO#.Datums|DATUM_CSYS(0) XY plane" wird gemeldet, dass das Object nicht gefunden wird.

Wenn ich diese Zeilen auskommentiere, wird der Punkt und das Csys-Gerippe dann auch angezeigt.
Ich habe es auch mal mit "PROTO#.Datums|DATUM_CSYS(0)|XY plane" probiert.

Herzliche Grüße

Thomas

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

geraldb
Mitglied



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

Beiträge: 38
Registriert: 13.09.2008

erstellt am: 03. Dez. 2016 11:43    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 tolo 10 Unities + Antwort hilfreich

Hallo Thomas,


hatte ein ähnliches Problem bei der (Um)Benennung der Komponenten eines CSYS. Mir hat der DatumCsysBuilder, dessen Methode "CreateDatumCsysBuilder" und anschließende Abfrage "GetCommittedObjects" weitergeholfen. Diese liefert ein nullbasiertes 8-elementiges Objektarray dco mit den Eigenschaften des CSys, die Reihenfolge der darin enthaltenen Elemente ist fix (CSys, Punkt, XY-Ebene, YZ-Ebene, XZ-Ebene, X-Achse, Y-Achse, Z-Achse). Man erspart sich dabei die PROTO-Suchen.

Code:

Dim dcb As DatumCsysBuilder = workPart.Features.CreateDatumCsysBuilder(myfeat)
Dim dco() As NXObject = DBuilder.GetCommittedObjects
Dim planexy As Plane = CType(dco(2),Plane)


Randnotiz: in den Journalen ist offenbar ein falscher Text für die Ebenen hinterlegt, mit "DATUM_CSYS(0) XY plane" erhält man nicht die XY- sondern die XZ-Ebene. Trifft auf NX 8 sowie auch noch 11 zu und ist mit beliebigen CSys (auch Part_ Origin) nachstellbar-> bisher nicht bekannter oder (absichtlich) nicht korrigierter Fehler.
Derzeit gilt:
Text "DATUM_CSYS(0) YZ plane" -> XY-Ebene
Text "DATUM_CSYS(0) XY plane" -> XZ-Ebene
Text "DATUM-CSYS(0) XZ plane" -> YZ-Ebene

[Diese Nachricht wurde von geraldb am 04. Dez. 2016 editiert.]

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: 05. Dez. 2016 13:33    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 tolo 10 Unities + Antwort hilfreich

Hallo zusammen,

wesentlich ist, die Objekte des DatumCsys über das Feature zu ermitteln, nicht über .FindObject. Passt der übergebene Name nicht zu 100% zu einem vorhandenen JournalIdentifier, hat man einen vorhersehbaren Fehler produziert. Sich darauf zu verlassen hat was von russischem Roulette  , aber mancher braucht ja vielleicht den Nervenkitzel  .

<Feat>.GetEntities() ist der einfachste Weg zu den Objekten, der Builder ein Zweiter und via UFSession gibt's m.W. auch noch einen Dritten. Die Reihenfolge ist beim Ein/Ausblenden egal, da die Objekte auf einmal als Array an BlankObjects übergeben 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 seltner als das "Bitte, Bitte".

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

tolo
Mitglied
Konstrukteur


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

Beiträge: 91
Registriert: 11.04.2007

NX 11.0

erstellt am: 05. Dez. 2016 14: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

Hallo Michael,

ja das scheint der einfachste Weg und wahrscheinlich auch sicherste Weg zur Ermittlung der Einzelelemente des Csys zu sein.
Allerdings habe ich bei beiden Varianten das Problem, dass das Unblank nicht funktioniert.
Weder im einzelnen mit disobjects2(i).Unblank() noch im ganzen mit sess.DisplayManager.UnblankObjects(disobjects2)


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
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: 06. Dez. 2016 14:45    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 tolo 10 Unities + Antwort hilfreich

Wenn das Blank geht, muss das Unblank auch funktionieren. Sind es die selben Objekte ? Hast Du zwischen WorkPart und Komponenten unterschieden ? Und kennst Du die Bedeutung dieser merkwürdigen Kästchen rechts oben an jedem Beitrag ? 

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 seltner 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