Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX
  FindObject(LINKED_BODY(xxx)), Body); ObjectTag ändern

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:  FindObject(LINKED_BODY(xxx)), Body); ObjectTag ändern (2254 mal gelesen)
AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 02. Apr. 2020 09:41    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 zusammen, ich stehe vor dem Problem, ein Feature über den Programmcode ausfindig zu machen.
Vorab folgende Info zum Aufbau. Es gibt ein _AS, welches _child1 und _child2 steuert (platziert/bewegt).
Nach Ende einer Bewegung wird ein Linked_Body von _child1 in _child2 erzeugt.
Von diesem Linked_Body werden dann alle Parameter entfernt. Danach erfolgt eine erneute Bewegung und das Spiel wiederholt sich/soll sich wiederholen. Es gibt also immer nur einen Linked_Body, dessen Nummer/Tag aber hochzählt (immer einen festgelegten Abstand).
Der Programmcode funktioniert auch soweit ganz gut. Nun möchte ich das als Schleife programmieren. Bekomme dann aber nach dem ersten Durchlauf den Linked_Body nicht mehr "gefasst", da sich sein Tag geändert hat. Hier etwas code:


' ----------------------------------------------
'  Menü: Bearbeiten->Formelement->Remove Parameters...
' ----------------------------------------------
theSession.CleanUpFacetedFacesAndEdges()

theSession.CleanUpFacetedFacesAndEdges()

Dim markId4 As Session.UndoMarkId
markId4 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start")

Dim removeParametersBuilder1 As Features.RemoveParametersBuilder
removeParametersBuilder1 = workPart.Features.CreateRemoveParametersBuilder()

theSession.SetUndoMarkName(markId4, "Remove Parameters Dialogfenster")

Dim body2 As Body = CType(workPart.Bodies.FindObject("LINKED_BODY(189)"), Body)

Dim added2 As Boolean
added2 = removeParametersBuilder1.Objects.Add(body2)

Dim markId5 As Session.UndoMarkId
markId5 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Remove Parameters")

Dim nXObject2 As NXObject
nXObject2 = removeParametersBuilder1.Commit()

theSession.DeleteUndoMark(markId5, Nothing)

theSession.SetUndoMarkName(markId4, "Remove Parameters")

removeParametersBuilder1.Destroy()

theSession.CleanUpFacetedFacesAndEdges()

---------------------------------------------------------

Entweder ich kann den Tag mit einer Variablen belegen, was bisher nicht geklappt hat.

Habe es z.B. so versucht:
Dim body2 As Body = CType(workPart.Bodies.FindObject("LINKED_BODY(Bodyno)"), Body)
oder
Dim body2 As Body = CType(workPart.Bodies.FindObject("LINKED_BODY(Bodyno.ToString)"), Body)

Damit kommt der Compiler aber nicht zurecht.
Es wäre natürlich die (für mich) schönste Variante, das so zu lösen. Einfach den Tag hochzählen lassen und dort als Variable stehen haben.

Eine andere Möglichkeit wäre den Linked_Body unabhängig vom ObjectTag zu finden.
Es wird immer nur einen Linked_Body geben. Danach wird er ja "zerstört" zu einem "dummen" Körper.
Aber hier weiß ich leider wirklich nicht weiter. Dazu habe ich zu weinig Erfahrung mit den Möglichkleiten im NX.Open.
Vorab schon einmal vielen Dank an die, die sich hierüber Gedanken machen. Ciao

------------------
Konstruktion 2D / 3D Zerspanungswerkzeuge

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

mseufert
Ehrenmitglied V.I.P. h.c.
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. Apr. 2020 15:03    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 AFUHR 10 Unities + Antwort hilfreich

Hallo AFUHR,

irgendo im Code wird ja bestimmt der LinkedBody als Feature erzeugt. Das ist in dem "etwas code" leider nicht zu erkennen. 

Dort gibt's sicher auch eine Variable für das erzeugte Feature. Da es sich beim LinkedBody um ein sog. BodyFeature handelt, kann man diesen Body abfragen und an anderer Stelle, z.B. zum Entfernen der Parameter benutzen.

Es kann dann z.B. so aussehen:

Dim body2 As Body = MyLinkedFeat. Getbodies(0)

Der so ermittelte Body ist aktuell und unabhängig vom Timestamp.

Gruß, Michael

b.t.w.: Fragen zu NXOpen sind im  Programmier-Forum besser aufgehoben ... und Tags sind 5-6-stellige Integer zur Identifizierung eines Objekts. FindObject braucht dagegen einen String, den sog. JournalIdentifier. 

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 02. Apr. 2020 15: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

Hallo Michael,

vielen dank schon einmal für die Antwort.
Das mit dem JournalIdentifier hatte ich zwar auch schon gefunden und probiert, bin aber nicht so recht weiter gekommen o. hab es nicht kapiert.

Der linked_body wird ganz unspektakulär mit folgenden Programmzeilen erzeugt:

Dim selectObjectList1 As SelectObjectList
selectObjectList1 = extractFaceBuilder1.BodyToExtract

extractFaceBuilder1.CopyThreads = True

Dim component1 As Assemblies.Component = CType(displayPart.ComponentAssembly.RootComponent.FindObject("COMPONENT _test_sk_WZ_PP 1"), Assemblies.Component)

Dim body1 As Body = CType(component1.FindObject("PROTO#.Bodies|EXTRUDE(8)"), Body)

Dim added1 As Boolean
added1 = selectObjectList1.Add(body1)

Dim markId3 As Session.UndoMarkId
markId3 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "WAVE Geometry Linker")

Dim nXObject1 As NXObject
nXObject1 = waveLinkBuilder1.Commit()

theSession.DeleteUndoMark(markId3, Nothing)

theSession.SetUndoMarkName(markId2, "WAVE Geometry Linker")

waveLinkBuilder1.Destroy()

theSession.CleanUpFacetedFacesAndEdges()

Diese Programmzeilen kommen genau vor denen mit dem Parameter entfernen.

Dein Vorschlag würde also mit:
Dim body2 As Body = nXObject1.Getbodies(0)
funktionieren?

Grunß Andi

------------------
Konstruktion 2D / 3D Zerspanungswerkzeuge

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

ThomasZwatz
Moderator
cadadmin




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

Beiträge: 5397
Registriert: 19.05.2000

(10-2022)
---------------------------------------------
[stable]
NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3
SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD
BCT-Inspector Neutral v22R2
---------------------------------------------
[testing]
NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3
BCT-Inspector Neutral v22R2
@M7720 Win10 (1909)

erstellt am: 02. Apr. 2020 18: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 AFUHR 10 Unities + Antwort hilfreich

Eine Anregung wäre z.B.
https://solutions.industrysoftware.automation.siemens.com/view.php?si=nx_api3890
oder gleich
https://solutions.industrysoftware.automation.siemens.com/view.php?si=nx_api2869

Im Solution center kann man sample code mit folgenden Keywords ausfindig machen, z.B. für den genannten fall:
nxopen sample linked report

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 03. Apr. 2020 07: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

Hallo Thomas, das wäre sicherlich ein guter Tipp.
Leider bekomme ich folgende Meldung:

Page Forbidden
Access to the requested resource is forbidden.
Return to WebKey Login page

Evtl. brauche ich da mehr, als nur einen "einfachen" Login.
Oder bekommt man einen Zugang, sobald man auch Lizenzgebühren für die unterschiedlichen Pakete bezahlt?
Könnte also einer unserer Admins über so einen Zugang verfügen?

Gruß Andi

------------------
Konstruktion 2D / 3D Zerspanungswerkzeuge

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 03. Apr. 2020 07:38    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 Thomas, das wäre sicherlich ein guter Tipp.
Leider bekomme ich folgende Meldung:

Page Forbidden
Access to the requested resource is forbidden.
Return to WebKey Login page

Evtl. brauche ich da mehr, als nur einen "einfachen" Login.
Oder bekommt man einen Zugang, sobald man auch Lizenzgebühren für die unterschiedlichen Pakete bezahlt?
Könnte also einer unserer Admins über so einen Zugang verfügen?

Gruß Andi

------------------
Konstruktion 2D / 3D Zerspanungswerkzeuge

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

mseufert
Ehrenmitglied V.I.P. h.c.
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: 03. Apr. 2020 13:55    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 AFUHR 10 Unities + Antwort hilfreich

Hallo zusammen,

wenn man beim waveLinkBuilder anstatt waveLinkBuilder1.Commit() waveLinkBuilder1.CommitFeature verwendet, sollte ein Feature zurückgegeben werden. Das in ein BodyFeature umgewandelt, kann man den Body direkt abfragen.

Code:
Dim myfeat as Feature = waveLinkBuilder1.CommitFeature()
Dim mybody as Body = Ctype(myfeat, BodyFeature).GetBodies(0)


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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 08. Jun. 2021 16:02    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 möchte mich nach so langer Zeit erst einmal für deine Vorschläge bedanken.
Leider war es voriges Jahr dann so, dass "Corona" voll zugeschlagen hat und auf Grund von Kurzarbeitsregelung nur noch Zeit fürs Tagesgeschäft übrig war.
nun hat sich die Lage wieder entspannt. Ich hoffe dir und auch den anderen Interessierten geht es genau so.

Die Woche konnte ich mit diesem Projekt weitermachen. Und es ist zum Verrücktwerden (zumindest was die unterschiedlichen Fehlermeldungen angeht).
Habe auch den Code
--------------------
Dim myfeat as Feature = waveLinkBuilder1.CommitFeature()
Dim mybody as Body = Ctype(myfeat, BodyFeature).GetBodies(0)
------------------------------------------------------------

ausprobiert.

Folgendes passiert:

Meldung1: "Linie xxx: Der Typ Feature ist nicht definiert". Also umgeschrieben in
"Dim myfeat as Features.Feature = waveLinkBuilder1.CommitFeature()"

Dann kommt kein Fehler mehr, aber dafür für die nächste Zeile:
"Linie xxx: Der Typ BodyFeature ist nicht definiert"

Die Änderung von "Dim mybody as Body = Ctype(myfeat, BodyFeature).GetBodies(0)" in "Dim mybody as BodyFeature = Ctype(myfeat, BodyFeature).GetBodies(0)"
bringt den gleichen Fehler.

Ich habe noch ein paar andere Konstellationen ausprobiert, aber irgendein Fehler kommt dabei immer heraus.
Kann es daran liegen, dass "BodyFeature" nicht in NX8.0 hinterlegt ist?

Es scheint bei der ganzen Sache nur ein ganz kleiner Haken zu sein.

Habe auch eine Abwandlung von folgendem Forenbeitrag ausprobiert:

------------------------------------------------------
Dim feats As Features.FeatureCollection = workPart.Features

  For Each feat As Feature In feats
      If feat.FeatureType = "EXTRUDE" Then (hier "LINKED_BODY" verweden)
          Dim feature_body As BodyFeature = CType(feat, BodyFeature)
        ' Dim feature_faces() As Face
        ' feature_faces = feature_body.GetFaces()
        ' Dim disp_mod As DisplayModification
        ' disp_mod = theSession.DisplayManager.NewDisplayModification()
        ' disp_mod.ApplyToAllFaces = False
        ' disp_mod.NewColor = 214
        ' disp_mod.Apply(feature_faces)
        ' disp_mod.Dispose()
      End If
  Next
-------------------------------------

bringt aber auch nichts wegen des Problems mit BodyFeature.

Na ja, vielleicht übersehe ich was. Für Anregungen bin ich immer dankbar.
Ciao Andi

------------------
Konstruktion 2D / 3D Zerspanungswerkzeuge

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

mseufert
Ehrenmitglied V.I.P. h.c.
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. Jun. 2021 18: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 AFUHR 10 Unities + Antwort hilfreich

Zitat:
dass "Corona" voll zugeschlagen hat

Zitat:
Ich hoffe dir und auch den anderen Interessierten geht es genau so.

   

Hallo Andi,

die Formulierung ist wohl leicht missglückt, oder wünschst du anderen das selbe Schicksal, mit Kurzarbeit etc. ?

Die Lösung von Problem 1 wird sehr wahrscheinlich auch Problem 2 lösen: Versuch's mal mit Features.Bodyfeature oder stell' oben ein Imports NXOpen.Features voran.

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 09. Jun. 2021 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

Hallo Michael,

vielen Dank für die schnelle Antwort.
Ich meinte natürlich, dass sich die Lage wieder entspannt hat und das dies bei allen hoffentlich auch so ist. 

Bei den Fehlermeldungen allerdings gibt es keine Fortschritte. Es scheint so, als ob NX generell was dagegen hat, das Feature in einen Body zu "verwandeln".
Ich habe mal alle möglichen Varianten (immer nur die betreffenden Programmzeilen), die Fehler hervorrufen dargestellt.

Beim "Dateikopf" habe ich die Zeile mit Imports NXOpen.Features ergänzt. Sieht jetzt so aus:

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.Features

Nun die einzelnen Varianten (dreht sich irgendwie im Kreis).

Variante 1:

Dim myfeat as Features.Feature = waveLinkBuilder1.CommitFeature()
Dim mybody as BodyFeature = Ctype(myfeat, BodyFeature).GetBodies(0) 'das ist Linie 318
Fehlermeldung:: Linie 318: Der Wert vom Typ "NXOpen.Body" kann nicht in "NXOpen.Features.BodyFeature" konvertiert werden.

Dim bodies1(0) As Body
bodies1(0) = mybody 'das ist Linie 378
Dim bodyDumbRule1 As BodyDumbRule
bodyDumbRule1 = workPart.ScRuleFactory.CreateRuleBodyDumb(bodies1)
Fehlermeldung:: Linie 378: Der Wert vom Typ "NXOpen.Features.BodyFeature" kann nicht in "NXOpen.Body" konvertiert werden.

Variante 2 (kleine Abwandlung in Zeile 377):

Dim bodies1(0) As BodyFeature
bodies1(0) = mybody 'das ist Linie 378
Dim bodyDumbRule1 As BodyDumbRule
bodyDumbRule1 = workPart.ScRuleFactory.CreateRuleBodyFeatureDumb(bodies1)
Fehlermeldung:: Linie 380: "CreateRuleBodyFeatureDumb" ist kein Member von "NXOpen.ScRuleFactory".

Das also wieder zurück genommen.

Variante 3 (nur Typ Body, bringt zumindest keinen Fehler in Zeile 378):

Dim myfeat as Features.Feature = waveLinkBuilder1.CommitFeature()
Dim mybody as Body = Ctype(myfeat, Body).GetBodies(0)  'das ist Linie 318
Fehlermeldung:: Linie 318: Der Wert vom Typ "NXOpen.Features.Feature" kann nicht in "NXOpen.Body" konvertiert werden.

Variante 4 (wieder nur Feature verwendet in Zeile 317, ändert aber nichts):

Dim myfeat as Feature = waveLinkBuilder1.CommitFeature()
Dim mybody as Body = Ctype(myfeat, Body).GetBodies(0) 'das ist Linie 318
Fehlermeldung:: Linie 318: Der Wert vom Typ "NXOpen.Features.Feature" kann nicht in "NXOpen.Body" konvertiert werden.

Variante 5:

Dim myfeat as Feature = waveLinkBuilder1.Commit() 'bringt gleichen Fehler wie .CommitFeature()
Dim mybody as Body = Ctype(myfeat, Body).GetBodies(0) 'das ist Linie 318
Fehlermeldung:: Linie 318: Der Wert vom Typ "NXOpen.Features.Feature" kann nicht in "NXOpen.Body" konvertiert werden.

So, ich probier' noch was aus. Schau'n wir mal.
Ciao Andi

------------------
Konstruktion 2D / 3D Zerspanungswerkzeuge

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

mseufert
Ehrenmitglied V.I.P. h.c.
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. Jun. 2021 15:26    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 AFUHR 10 Unities + Antwort hilfreich

Hallo Andi,

du musst zwischen dem allgemeinen Feature, dem speziellen BodyFeature und dem Typ Body unterscheiden, dann müsste es funktionieren.

Zitat:
Dim myfeat as Features.Feature = waveLinkBuilder1.CommitFeature()
Dim mybody as BodyFeature = Ctype(myfeat, BodyFeature).GetBodies(0) 'das ist Linie 318 

... und .GetBodies(0) verursacht den Fehler.

Richtig wäre:

Dim myfeat as Feature = waveLinkBuilder1.CommitFeature()                  ' Allgemeines Feature
Dim mybodyfeat as BodyFeature = Ctype(myfeat, BodyFeature)                ' Spezielles BodyfFeature
Dim mybody as Body = mybodyfeat.GetBodies(0)                              ' Der (erste) Body des Bodyfeatures

Das sind wesentliche Grundlagen, daher die Empfehlung, dir mal das Thema Typen und Objekte im Zusammenhang mit objektorientierter Programmierung anzuschauen. Das sollte helfen, diese Art von Fehlermeldungen zu verstehen und entsprechende Methoden und Eigenschaften anzuwenden.

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 17. Jun. 2021 10:28    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

erst einmal gelöscht; sorry

[Diese Nachricht wurde von AFUHR am 17. Jun. 2021 editiert.]

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 17. Jun. 2021 10:55    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

gelöscht

[Diese Nachricht wurde von AFUHR am 17. Jun. 2021 editiert.]

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

AFUHR
Mitglied
Ingenieur


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

Beiträge: 10
Registriert: 24.03.2020

NX 8.0.3.4

erstellt am: 17. Jun. 2021 11: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

gelöscht

[Diese Nachricht wurde von AFUHR am 17. Jun. 2021 editiert.]

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