Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Solid Edge
  Variable für Dichte in VBA auslesen

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:  Variable für Dichte in VBA auslesen (421 mal gelesen)
Slyfox
Mitglied
Informatiker


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

Beiträge: 26
Registriert: 27.03.2003

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

Hallo!

Ich möchte aus einem Part-Dokument in einem VB-Makro auf die Variable der Dichte zugreifen, um hier automatisch die Dichte des Werkstoffes einzutragen.

Mit dem folgenden Code funktioniert es auch:

Zitat:

Private Sub Form_Load()
  Dim objApp As Object
  Dim objDoc As Object
  Dim objVars As Object
  Dim objDim As Object
 
  Set objApp = GetObject(, "SolidEdge.Application")
  Set objDoc = objApp.ActiveDocument
  Set objVars = objDoc.Variables
 
  Set objDim = objVars.Translate("PhysicalProperties_Density")
 
  MsgBox "Dichte: " & objDim.Value & " kg/m^3"
  End
End Sub

Nur: Es ist nicht garantiert, daß die Variable 'PhysicalProperties_Density' heißt. Sie kann auch vom Benutzer umbenannt worden sein.

Wie kann man die Variable herausfinden, unabhängig davon, wie sie benannt wurde?
Ebenso bei "MaterialThickness" in Sheetmetal-Dokumenten?

  mfG

    Egon Schmid

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

pablo
Mitglied
Techniker


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

Beiträge: 453
Registriert: 23.01.2002

Win10
Office 365
SE 2019

erstellt am: 01. Jul. 2003 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 Slyfox 10 Unities + Antwort hilfreich

Hallo Slyfox,

Für die Blechstärke gibt es einen Trick, bei der Dichte kann man sich helfen, indem man alle Variablen auf den Typ überprüft.

Private Sub Form_Load()
  Dim objApp As Object
  Dim objDoc As Object
  Dim objVars As Object
  Dim objVarlist As SolidEdgeFramework.VariableList
  Dim objVar As SolidEdgeFramework.variable
  Dim sMaterialThickness As String
 
  Set objApp = GetObject(, "SolidEdge.Application")
  Set objDoc = objApp.ActiveDocument
  Set objVars = objDoc.Variables
 
'  Dichte ermitteln
  Set objVarlist = objVars.Query("PhysicalProperties_Density")

  If objVarlist.Count = 1 Then
'  Prüfen , ob PhysicalProperties_Density existiert
    Set objVar = objVarlist(1)
  Else
'    Wenn nicht, Variable vom Typ Dichte suchen
    For Each objVar In objVars
      If objVar.Type = igVariable And objVar.UnitsType = 16 Then
        Exit For
      End If
    Next
  End If
  MsgBox "Dichte: " & objVar.Value & " kg/m^3"

'  Materialstärke ermitteln
  sMaterialThickness = objVars.Item("MaterialThickness_").Formula
'  Material_Thickness_ ist eine nicht sichtbare Variable, die mit der Blechstärke verknüpft ist
  MsgBox "Blechstärke: " & CStr(objVars.Item(sMaterialThickness).Value * 1000) & " mm"
 
  Set objVar = Nothing
  Set objVars = Nothing
  Set objVarlist = Nothing
  Set objDoc = Nothing
  Set objApp = Nothing
  End
End Sub

mfG pablo

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