Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Attribut-Zuweisung im Journal?

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:  Attribut-Zuweisung im Journal? (4790 mal gelesen)
Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

SolidWorks2022

erstellt am: 15. Jun. 2007 11:34    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

kann mir evtl. hier drüben wer helfen?
http://ww3.cad.de/foren/ubb/Forum4/HTML/005727.shtml

------------------
gruss
  urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 12: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 Nur für Sirus 10 Unities + Antwort hilfreich


set_attribute.vb.txt

 
Hallo Sirus,

sowas in der Art? (siehe auch Dateianhang):

Code:
Option Strict On

Imports System
Imports NXOpen
Imports NXOpen.UF

Module NXJournal
Sub Main
Dim theSession As Session = Session.GetSession()

' Setze Variablen
Dim strPartMaterial As String = "1.2436"

' Setze Attribut
theSession.Parts.Work.SetAttribute("MATERIAL", strPartMaterial)
End Sub

Public Function GetUnloadOption(ByVal dummy As String) As Integer
GetUnloadOption = UFConstants.UF_UNLOAD_IMMEDIATELY
End Function
End Module



Ciao
Mario

p.s.
Mit dem Link konnte ich nichts anfangen -> "...was not found on this server"

[Diese Nachricht wurde von SMario am 15. Jun. 2007 editiert.]

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

Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 15. Jun. 2007 12: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

hallo mario

ich bin mir nicht ganz sicher?

ich möchte lediglich des fixe "@DB/12345/A" in der zeile unten von dem aktuellen
attributen im part abholen:

123456=DB_PART_NO
A=DB_PART_REV

im journal soll anstelle "@DB/12345/A" die attribute "@DB/DB_PART_NO/DB_PART_REV" aus dem aktiven part "gesogen" werde:

----------------------------------------------------
Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/12345/A"), Part)
----------------------------------------------------


-----------origina creativ-teil aus journal--------------

Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Make Displayed Part")

Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/12345/A"), Part)

Dim partLoadStatus1 As PartLoadStatus
Dim status1 As PartCollection.SdpsStatus
status1 = theSession.Parts.SetDisplay(part1, False, True, partLoadStatus1)

workPart = theSession.Parts.Work
displayPart = theSession.Parts.Display
partLoadStatus1.Dispose()
--------------------------------------

------------------
gruss urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 13:04    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 Sirus 10 Unities + Antwort hilfreich

Hallo Sirus,

Zitat:
Original erstellt von Sirus:
hallo mario

ich bin mir nicht ganz sicher?

ich möchte lediglich des fixe "@DB/12345/A" in der zeile unten von dem aktuellen
attributen im part abholen:

123456=DB_PART_NO
A=DB_PART_REV

im journal soll anstelle "@DB/12345/A" die attribute "@DB/DB_PART_NO/DB_PART_REV" aus dem aktiven part "gesogen" werde:


ahh OK, das habe ich falsch verstanden, du willst als Attribute auslesen, richtig?

Das würde in etwa so für Die Partnummer funktionieren:
theSession.Parts.Work.GetStringAttribute("DB_PART_NO")

und so für die Revision:
theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

Ich hoffe das war das was du meintest.


Ciao
Mario

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

Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 15. Jun. 2007 13:12    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 mario

vielen dank für deine bemühungen,
ich bin aber evtl. zu böd.
wie unten, funkt es nicht?
--------------------------

' NX 4.0.2.2
' Journal created by lehmannu on Fri Jun 15 08:06:19 2007 Westeuropäische Normalzeit
'
Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work

Dim displayPart As Part = theSession.Parts.Display

' ----------------------------------------------
'  Menü: Baugruppen->Context Control->Set Displayed Part
' ----------------------------------------------

Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Make Displayed Part")

theSession.Parts.Work.GetStringAttribute("DB_PART_NO")

theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/DB_PART_NO/DB_PART_REV"), Part)

Dim partLoadStatus1 As PartLoadStatus
Dim status1 As PartCollection.SdpsStatus
status1 = theSession.Parts.SetDisplay(part1, False, True, partLoadStatus1)

workPart = theSession.Parts.Work
displayPart = theSession.Parts.Display
partLoadStatus1.Dispose()
' ----------------------------------------------
'  Menü: Werkzeuge->Journal->Stopp
' ----------------------------------------------

End Sub
End Module

------------------
gruss urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 13:57    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 Sirus 10 Unities + Antwort hilfreich

Hallo Sirus,

Zitat:
Original erstellt von Sirus:
hallo mario

vielen dank für deine bemühungen,
ich bin aber evtl. zu böd.
wie unten, funkt es nicht?


naja, blöd nicht eher Anfängerfehler  . Die holst zwar die Werte, benutzt diese aber nicht. Am besten benutzt du eine Variable bsplw. Dim MeineRevision As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

und

Dim MeinePartnummer As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")

und benutz nur noch diese (MeineRevision oder MeinePartnummer) um an die Werte zu kommen in den Funktionen wo du es benutzen willst. In deinem Fall also:

Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/MeinePartnummer/MeineRevision"), Part)

Es müsste mit den oben genannten Änderungen schon funbktionieren, aber du solltest evtl. die Variablennamen noch etwas ändern....


Ciao und ein schönes Wochenende
Mario

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

Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 15. Jun. 2007 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

hallo mario

wir sind noch nicht ganz am ziel...

fehler in zeile 27:
Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/NO/REV"), Part)

irgend etwas ist da noch falsch...(übrigens das ist über tce)
danke für deine hilfe, auch ein schönes wochenende!!!

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

' NX 4.0.2.2
' Journal created by lehmannu on Fri Jun 15 08:06:19 2007 Westeuropäische Normalzeit
'
Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work

Dim displayPart As Part = theSession.Parts.Display

' ----------------------------------------------
'  Menü: Baugruppen->Context Control->Set Displayed Part
' ----------------------------------------------

Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Make Displayed Part")

Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")

Dim REV As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/NO/REV"), Part)

Dim partLoadStatus1 As PartLoadStatus
Dim status1 As PartCollection.SdpsStatus
status1 = theSession.Parts.SetDisplay(part1, False, True, partLoadStatus1)

workPart = theSession.Parts.Work
displayPart = theSession.Parts.Display
partLoadStatus1.Dispose()

' ----------------------------------------------
'  Menü: Werkzeuge->Journal->Stopp
' ----------------------------------------------

End Sub
End Module

------------------
gruss urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 14:30    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 Sirus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Sirus:
hallo mario

wir sind noch nicht ganz am ziel...

fehler in zeile 27:
Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/NO/REV"), Part)


Das ist genau die besprochene Änderung....


Zitat:
irgend etwas ist da noch falsch...(übrigens das ist über tce)
danke für deine hilfe, auch ein schönes wochenende!!!

....gibt es unter File -> Properties -> Attributes überhaupt die Attribute? Und welchen "Type" haben die?

Die genannte Änderung funktioniert nur wenn der Type "String" ist.

TCE benutze ich (noch) nicht, aber wir sind am migrieren, dann kann ich da auch genaueres sagen. Kann aber noch dauern....


Ciao und nochmals ein schönes Wochenende
Mario

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 14:34    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 Sirus 10 Unities + Antwort hilfreich

Nochmals Hallo Sirus,

ich vergass, es gibt noch einige versch. Typen, den die Attribute annehmen können:

Integer
Real
Reference
Time

und den schon benutzen Type
String


Ciao
Mario

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 14: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 Sirus 10 Unities + Antwort hilfreich

Hallo Sirus,

eben ist mir folgendes in der fehlerhaften Zeile aufgefallen:

Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/NO/REV"), Part)

Alles was in doppelt Anführungszeichen (Gänsefüschen) gesetzt wird, ist normalerweise ein "String" und wird auch so interpretiert in der Zeile also wird nach @DB/NO/REV gesucht.

NO
und REV sind aber Werte aus Funktionen und dürfen nicht in doppelten Anführungszeichen stehen, sonst werden sie als STring behandelt. Du müsstest deine Zeile etwas zerlegen (mit & kann man Werte aneinanderhängen):
Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/" & NO & "/" & REV"), Part)

Was das @DB/ am Anfang bedeutet kann ich nicht sagen, aber jetzt müsste die resultierende Variable bsplw. so herauskommen @DB/12345/67890 ich hoffe mal, das war's.


Ciao
Mario

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

Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 15. Jun. 2007 15: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

hallo mario

vielen dank, ich bin leider schon im wochenende...
schade, hätte das gerne noch heute getestet...

werde deine ausführungen gleich am mo morgen testen.
das wird sicher klappen.

vielen dank für deine unterstützung!!!!
wo lernt "mann" sowas überhaupt?

auch noch einmal eins schönes und erholsames wochenende!

------------------
gruss urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 15. Jun. 2007 15:34    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 Sirus 10 Unities + Antwort hilfreich

Hallo Sirus,

 

Zitat:
Original erstellt von Sirus:
hallo mario

vielen dank, ich bin leider schon im wochenende...
schade, hätte das gerne noch heute getestet...

werde deine ausführungen gleich am mo morgen testen.
das wird sicher klappen.

vielen dank für deine unterstützung!!!!
wo lernt "mann" sowas überhaupt?

auch noch einmal eins schönes und erholsames wochenende!


ich habe HIERMIT angefangen in VB.NET (auf denen ja die Journals basieren) zu programmieren, weil ich eben auch die Journals erweitern wollte.

Ich habe privat angefangen ein Programm geschrieben um mir es besser beizubringen, ....

....das war vor zwei Jahren (man wie die Zeit vergeht).


Ciao
Mario

[Diese Nachricht wurde von SMario am 15. Jun. 2007 editiert.]

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

Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 18. Jun. 2007 10: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 mario

vielen dank für deine weiteren infos.
leider funktioniert das journal immer noch nicht ganz,
bin mir aber sicher, dass wir es bald schaffen werden.

das ziel ist ja die zeile:
Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/12345678/A"), Part)

und zwar muss nur das ("@DB/12345678/A") ersetzt werden durch die attribute.

die nachfolgenden 2 zeiel zum abholen der attribute funktionieren scheinbar ja:
(habe das mal native nachgespielt!)
Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim REV As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

so wie auch native getestet habe müssen die 2 attribute in der " Ziel-zeile" ohne
gänsefüsschen eingesetzt werden:


Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim part1 As Part = CType(theSession.Parts.FindObject(NO), Part)

also ist nur noch herauszufinden wie sich meine attribute mit dem "@DB" und "/" zusammensetzen?

("@DB/12345678/A")
die gänsefüschen können weggelassen wwerden:
(@DB/NO/REV)

@DB = teamcenter-vorzeichen = @Datenbank

die grosse farge ist also wie brimge ich den text in das () rein?

wie kann ich also die attribute mit den zus. texten ine eine klammer rein-adieren?

(@DB/NO/REV)

wobei @DB und / zus. einfache zeichen sein können, wie kann ich das zusammensetzen?
das kann ja auch vor der wichtigen ziel zeile stattfinden zB:

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

Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim REV As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

NAME = "@DB"+"/"+"NO"+"/"+"REV"

Dim part1 As Part = CType(theSession.Parts.FindObject(NAME), Part)

-----------

ist sowas möglich`?

------------------
gruss urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 18. Jun. 2007 11:07    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 Sirus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Sirus:
hallo mario

vielen dank für deine weiteren infos.
leider funktioniert das journal immer noch nicht ganz,
bin mir aber sicher, dass wir es bald schaffen werden.

das ziel ist ja die zeile:
Dim part1 As Part = CType(theSession.Parts.FindObject("@DB/12345678/A"), Part)

und zwar muss nur das ("@DB/12345678/A") ersetzt werden durch die attribute.

die nachfolgenden 2 zeiel zum abholen der attribute funktionieren scheinbar ja:
(habe das mal native nachgespielt!)
Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim REV As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

so wie auch native getestet habe müssen die 2 attribute in der " Ziel-zeile" ohne
gänsefüsschen eingesetzt werden:


Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim part1 As Part = CType(theSession.Parts.FindObject(NO), Part)

also ist nur noch herauszufinden wie sich meine attribute mit dem "@DB" und "/" zusammensetzen?

("@DB/12345678/A")
die gänsefüschen können weggelassen wwerden:
(@DB/NO/REV)

@DB = teamcenter-vorzeichen = @Datenbank

die grosse farge ist also wie brimge ich den text in das () rein?

wie kann ich also die attribute mit den zus. texten ine eine klammer rein-adieren?

(@DB/NO/REV)


(@DB/NO/REV) ist zumindets einen Versuch Wert. Du kannst auch "nur zum Testen der Variablen" einfach einen Messagebox ausgene lassen.

Dazu mal irgendwo bsplw. System.Windows.Forms.MessageBox.Show("Hallo Welt") eintragen, bzw. "Hallo Welt" durch den String ersetzen, den du anzeigen lassen willst. SO komme ich zumindest meist schneller auf den Fehler....


Zitat:

wobei @DB und / zus. einfache zeichen sein können, wie kann ich das zusammensetzen?

Zusammensetzen von Variablen geht so: "Hallo" & "Welt"
Das Beispiel würde "HalloWelt" ausgeben. Du kannst auch + zum zusammenfügen benutzen, aber es kann dann Probleme wenn du Integer-Variablen (Zahlen) hast, die werden dann nicht zusammengefügt sondern addiert....

Zitat:
das kann ja auch vor der wichtigen ziel zeile stattfinden zB:

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

Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim REV As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")

NAME = "@DB"+"/"+"NO"+"/"+"REV"

Dim part1 As Part = CType(theSession.Parts.FindObject(NAME), Part)


Ist "@DB" auch ein Attribut? Dann könnte man es genauso. wie die anderen Variablen holen....

Hier würde es sich anbieten eine MessageBox einzubauen, um zu sehen ob die Variable "NO" udn "REV" schon richtig rauskommen...

Zusammengesetz würde deine Variable NAME vermutlich folgendes ausgeben: @DB/NO/REV da du alles in Gänsefüßchen gesetzt hast.

Mit System.Windows.Forms.MessageBox.Show(NAME) kannst du es dir auch anzeigen lassen.

Versuche mal die Variable NAME so zusammenzusetzen: "@DB"+"/" & NO & "/" & REV

Was zeigt die Messagebox an?

Bei @DB bin ich ein bischen ratlos, im obigen Beispiel wird es bisher nur als String benutzt. Wenn es jedoch ein Attribut müsste man noch eine Variable (DB???) einfügen. Aber erstmal schauen, was bisherher in der MessageBox rauskommt....


Ciao
Mario

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



Fachplaner Heizung,- Klima,- Lüftung- und Sanitärtechnik (w|m|d)

Wir sind ein dynamisches Team in einer schnell wachsenden Unternehmensgruppe mit den Geschäfts­feldern Architektur, Ingenieurwesen, Energiewirtschaft und Gebäudetechnik. Mehr als 200 Mitarbeiter und über 13 Jahre Erfahrung innerhalb der technischen Gewerke machen das Unternehmen mit Sitz in Hamburg so erfolgreich. Ob die Planung oder der Bau von Neu- und Umbauprojekten, das Leistungsspektrum der KMLS-Gruppe ist breit gefächert....

Anzeige ansehenProjektmanagement
Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

erstellt am: 18. Jun. 2007 11: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 mario

VIELEN DANK, ES KLAPPT!!!!  
...und so habe ich es nun gemacht:

---------------------------
Dim DB As String = ("@DB")
Dim STRICH As String = ("/")
Dim NO As String = theSession.Parts.Work.GetStringAttribute("DB_PART_NO")
Dim REV As String = theSession.Parts.Work.GetStringAttribute("DB_PART_REV")
Dim NAME As String = (DB+STRICH+NO+STRICH+REV)
im part1 As Part = CType(theSession.Parts.FindObject(NAME), Part)
-----------------------------------------------------------------

ich danke dir für deine hilfe und dein geduld!
dies war nun mein erster teil, werde sicher in den nächsten stunden und tagen
weiter fragen haben, und würde mich freuen deine hilfe weiterhin zu erhalten.

noch einmal "VIELEN DANK"!

------------------
gruss urs 

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

SMario
Mitglied
Konstrukteur/Designer


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

Beiträge: 114
Registriert: 31.03.2005

FSC Celsius Workstation
CPU: Pentium 4 3.20GHz
Speicher: 2.00GB RAM
Grafik: Quadro FX 1400
Monitor: FSC P20-2
OS: Windows XP SP2
UG: NX4.0.2.2

erstellt am: 18. Jun. 2007 11:58    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 Sirus 10 Unities + Antwort hilfreich

Hallo Sirus,

kein Thema, bin auch froh dass es jetzt funktioniert...


Ciao
Mario

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