Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  Nicht freigegebene Variablen zugreifen

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 SolidEdge
Autor Thema:  Nicht freigegebene Variablen zugreifen (1674 mal gelesen)
peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 03. Feb. 2007 09:35    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

Guten Tag Leute

wie kann ich (in VB2005) auf nicht freigegebene Variablen zugreiffen. Präzieser auf die "Abwicklung_x_Schnittgröße" und "y" zugreifen und schauen ob sie überhaupt vorhanden sind?

Wenn Variablen freigegeben sind greife ich so zu:

        mApp = GetObject(, "solidedge.Application")
        mPart = mApp.ActiveDocument

        objProps = mPart.Properties
        objProp = objProps.Item("Custom")
        mSum = mPart.SummaryInfo

Kann mir jemand helfen?

Nice weekend

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

Matthias Leemann
Mitglied
Masch. Ing HTL


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

Beiträge: 393
Registriert: 03.10.2003

Windows 11 Pro
Solid Edge 2022

erstellt am: 03. Feb. 2007 14: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 peticeo 10 Unities + Antwort hilfreich

Ich mache es folgendermassen: Zuerst alle Variablen in eine Liste holen und dann die Variablen durchkämmen, bis die gesuchte kommt. Dann kannst du den Wert verändern.

Code:

objApp = GetObject(, "SolidEdge.Application")
        objDoc = objApp.ActiveDocument
Dim ObjVariablesList As SolidEdgeFramework.VariableList
           ObjVariablesList = objDoc.Variables.query("*")
        Dim intVar As Integer = ObjVariablesList.Count
        Dim i As Integer
        'Variable mittels Namen holen
        For i = 1 To intVar
            Select Case ObjVariablesList.Item(i).VariableTableName.ToString

                Case "Messbereich"
                    ObjVariablesList.Item(i).Value = DblMessbereich

                End Select
Next i


Du kannst aber auch den kürzeren Weg nehmen, indem du bei der query gerade den Variablennamen suchst. EIgnet sich, wenn du nur eine Variable verändern willst. Bei mehreren kannst du mit Select Case alle zu ändernden Variablen behandeln.

Gruss Matthias

------------------
SE V18 SP9
SePropManager.NET von
www.leemann-software.net

[Diese Nachricht wurde von Matthias Leemann am 03. Feb. 2007 editiert.]

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

peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 05. Feb. 2007 12: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

Vielen Dank

Funz gut 

nun noch etwas. Wie kann ich eine Variable, welche eine Formel besitzt leeren oder gar löschen?

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7321
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 05. Feb. 2007 12: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 peticeo 10 Unities + Antwort hilfreich

Man kann die Formel durch eine neue Formel mit dem Wert ersetzen. Das hakt aber an einigen Stellen, da es so viele verschiedene Objekttypen in der Abfrage gibt, die zum Teil unterschiedliche Eigenschaften und Methoden unterstützen.
Variablen (igvariable), Maße (igDimension), Abstände von Referenzebenen (igReferenceplane)....
Zusätzlich haben die Variablen unterschiedliche Unitstypes.

Noch nicht versucht habe ich folgendes: Name und Wert auslesen und Formel dann über direkten Zugriff auf die VariablesCollection setzen. Nicht über die Variableslist

Call Variables.Edit(Name as string,Formel as string)

Guck Dir mal das Bearing-Makro in der Excel Tabelle unter Custom an.

------------------
APeters@BSS-Online.de

[Diese Nachricht wurde von Arne Peters am 05. Feb. 2007 editiert.]

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

peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 29. Mrz. 2007 17: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

Ich bin schon ziehmlich weit gekommen. Nun habe ich ein kleines Problem mit alten Vorlagen. 

Manche Var. muss ich mit 1000 multiplizieren und andere nicht.
Aber das Problem liegt daran, dass ich eine freigegebene Variable nicht löschen kann, oder wie macht man dies?

Ich habs so versucht: Call ObjVariablesList.Remove("Länge_1")

Eine normale Variable wird gelöscht, aber nicht bei freigeg. Var.

Könnt ihr mir helfen??

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

modeng
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 29. Mrz. 2007 18: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 peticeo 10 Unities + Antwort hilfreich

Moin,
[...]
Manche Var. muss ich mit 1000 multiplizieren und andere nicht.
[...]

Laengen, Durchmesser ... rechnet SE in Metern nur die Darstellung ist
entsprechend aufbereitet!

[...]
Ich habs so versucht: Call ObjVariablesList.Remove("Länge_1")
[...]
das geht auch nicht, Remove verlangt ein numerisches Argument.
Und dann funzt es -- aber nur auf die Vars der ObjVariablesList und
nicht auf die der Variablentabelle ;-)

Falls Du nur die entspr. Custom Variable loeschen willst reicht es die
Eigenschaft 'Expose' der Variable auf False zu setzen.

modeng

------------------
Kein Problem wird gelöst, wenn wir darauf warten, daß sich andere darum kümmern (M.L. King)

[Diese Nachricht wurde von modeng am 29. Mrz. 2007 editiert.]

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

peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 30. Mrz. 2007 07: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

Hmm....

und was mache ich hier falsch?

For Each objItem In objProp
  If objItem.name.ToString = "Länge_1" Then
    objItem.expose = False
  End If
Next

Hilfeee

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

modeng
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 7061
Registriert: 10.12.2003

erstellt am: 30. Mrz. 2007 07: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 peticeo 10 Unities + Antwort hilfreich

die Items der Properties haben keine Eigenschaft 'Expose'

modeng

------------------
Kein Problem wird gelöst, wenn wir darauf warten, daß sich andere darum kümmern (M.L. King)

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

peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 30. Mrz. 2007 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

hab verstanden,

Und wie kann ich jetzt von alten Dateien Variablen (zB. Länge_1) löschen)?

Das mit Freigeben hab ich jetzt hingekriegt. Aber ist es möglich diese komplett zu löschen??

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

peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 30. Mrz. 2007 16: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

Danke Modeng, den Spruch von M.L. King hat mich weiter geholfen. Ich konnte die Variable Umbennen, was für mich sehr hilfreich ist.

Dim mSum As SolidEdgeFramework.Variables
mSum = mPart.Variables
mSum.PutName(objVar.Item("länge"), "Länge_alt")

Peticeo

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

peticeo
Mitglied
Wirtschaftsinformatiker FH


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

Beiträge: 162
Registriert: 25.10.2005

Windows 7 64bit
Quad X5472
ST 2/12
Teamcenter 8.1

erstellt am: 01. Apr. 2007 19: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

Sorry, ich brauche doch noch einen Tipp:

Wie kann ich der Name der freigegebenen Variable unbenennen?
Ich bitte um Hilfe.
Peticeo

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

modeng
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 7061
Registriert: 10.12.2003

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

<objVar>.ExposeName = <string>. Ist der Name bereits vergeben
gibt's einen RT!

modeng

------------------
Kein Problem wird gelöst, wenn wir darauf warten, daß sich andere darum kümmern (M.L. King)

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