Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Dateiegenschaften/ Material / Beschreibung 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 SOLIDWORKS
  
Hands-on 3D-Druck am 09.04.2024 in Hamm
Autor Thema:  Dateiegenschaften/ Material / Beschreibung auslesen (657 mal gelesen)
currie
Mitglied
Betriebsmittelkonstrukteur


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

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 08. Mrz. 2023 07: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


MaterialBeschreibung.PNG

 
Hallo alle miteinander,

Gibt es eine Möglichkeit beim Material nicht nur das Material sondern auch die Beschreibung oder die Quelle aus zu lesen?
siehe Bild

Danke Currie

[Diese Nachricht wurde von currie am 08. Mrz. 2023 editiert.]

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

Heiko Soehnholz
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. (FH) Maschinenbau



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

Beiträge: 5463
Registriert: 03.07.2002

SOLIDWORKS 2001 - 2024SP0.1
Elite AE Award 2023
SOLIDWORKS Premium,
Simu, Flow, Plastics, Composer, MBD,
Inspection, PDMP, Visualize, TopsWorks,
DPS Tools, JobBox, MacroSheet, etc.
Passungstabelle von Heinz
WIN10x64 22H2 | HP ZBook 17 Fury G8

erstellt am: 08. Mrz. 2023 08:59    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 currie 10 Unities + Antwort hilfreich

Moin,

das wurde schon vor längerer Zeit mal gefragt ... damals kam meines Wissens nach keine Lösung zustande.
Vielleicht geht es mit einem Makro?!

Bei den Benutzerdefinierten Eigenschaften des Materials soll das wohl gehen:

Verwenden Sie die Registerkarte Benutzerdefiniert, um einem Material benutzerdefinierte Eigenschaften hinzuzufügen. Sie können die Eigenschaften mit API-Aufrufen abrufen. Diese Registerkarte ist verfügbar und bearbeitbar, wenn sich das ausgewählte Material in einer benutzerdefinierten Bibliothek befindet.

------------------
Einen schönen Gruß von Heiko
www.dps-software.dewww.dps-akademie.dewww.iknow-solidworks.dewww.youtube.de/dpssoftwaregmbh

[Diese Nachricht wurde von Heiko Soehnholz am 08. Mrz. 2023 editiert.]

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 08. Mrz. 2023 11:20    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 currie 10 Unities + Antwort hilfreich

Hallo,

also mir würde nur der Weg über ein Makro einfallen
siehe dazu das Makro im Anhang

Wichtig:
es muss ein Verweis auf "Microsoft XML, v3.0"
im Makro eingefügt werden

'***************************************************
Option Explicit

Private Function GetMaterialAttribute(Materil2Search As String, MatAttribute As String, MaterialDB As String) As String
  Dim objXML As MSXML2.DOMDocument
  Dim ok As Boolean
  Dim lists As MSXML2.IXMLDOMNodeList
  Dim i As Integer
 
  Set objXML = New DOMDocument
  objXML.SetProperty "SelectionLanguage", "XPath"
  ok = objXML.Load(MaterialDB)
   
  Set lists = objXML.selectNodes("//*/material[@name ='" & Materil2Search & "']")
  If lists.Length > 0 Then
    If lists.Length = 1 Then
      If Not lists(0).Attributes.getNamedItem(MatAttribute) Is Nothing Then
        GetMaterialAttribute = lists(0).Attributes.getNamedItem(MatAttribute).nodeValue
        Exit Function
      End If
    End If
  End If
 
  GetMaterialAttribute = ""
End Function

Function GetMaterial() As String
  Dim swApp As SldWorks.SldWorks
  Dim doc As SldWorks.ModelDoc2
  Dim swPart As SldWorks.PartDoc
  Dim swConfigMgr As SldWorks.ConfigurationManager
  Dim sMatDB As String
  Dim swConfig As SldWorks.Configuration
 
  Set swApp = Application.SldWorks
  Set doc = swApp.ActiveDoc
 
  If doc Is Nothing Then
    GetMaterial = ""
    Exit Function
  End If

  If doc.GetType = swDocumentTypes_e.swDocPART Then
    Set swPart = doc
    Set swConfigMgr = swPart.ConfigurationManager
    Set swConfig = swConfigMgr.ActiveConfiguration
    GetMaterial = swPart.GetMaterialPropertyName2(swConfig.Name, sMatDB)
  Else
    GetMaterial = ""
  End If
End Function

Function GetMaterialDBFileName() As String
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swPart As SldWorks.PartDoc
    Dim dbs As Variant
    Dim sMatName As String
    Dim sMatDB As String
    Dim i As Long
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swPart = swModel
   
    dbs = swApp.GetMaterialDatabases
   
    sMatName = swPart.GetMaterialPropertyName2("Default", sMatDB)
    For i = 0 To UBound(dbs)
        If UCase(Mid(dbs(i), InStrRev(dbs(i), "\") + 1, Len(dbs(i)))) = UCase((sMatDB + ".sldmat")) Then
            GetMaterialDBFileName = dbs(i)
            Exit Function
        End If
    Next i
    GetMaterialDBFileName = ""
End Function

Sub GetMaterialInfo()
  Dim Material      As String
  Dim MaterialDB    As String
  Dim beschreibung  As String
  Dim Quelle        As String
 
  Material = GetMaterial
  MaterialDB = GetMaterialDBFileName
 
  beschreibung = GetMaterialAttribute(Material, "description", MaterialDB)
  Quelle = GetMaterialAttribute(Material, "propertysource", MaterialDB)
 
  MsgBox "Material: " & Material & Chr(10) & "Beschreibung: " & beschreibung & Chr(10) + "Quelle: " & Quelle, vbOKOnly, "Meldung"
End Sub

------------------
Grüße
Heinz

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

riesi
Mitglied
CAD-Admin


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

Beiträge: 1073
Registriert: 06.05.2002

SWX Premium 2020-Sp5

erstellt am: 08. Mrz. 2023 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 Nur für currie 10 Unities + Antwort hilfreich

Hut ab, dass die XML-Struktur der Material-Bibliothek ausliest. Ich lege inzwischen auch lieber neue Materialien im Texteditor an, weil sich dann die Reihenfolge schneller einstellen lässt. Den GUI-Programmierer könnte ich ...

Folgende Zeilen ersparen das Setzen der Verweise:

Code:

Dim objXML As Object 'MSXML2.DOMDocument60
Dim ok As Boolean
Dim lists AsObject 'MSXML2.IXMLDOMNodeList
Dim i As Integer

Set objXML = CreateObject("MSXML2.DOMDocument") ' New DOMDocument
...


[Diese Nachricht wurde von riesi am 08. Mrz. 2023 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)2024 CAD.de | Impressum | Datenschutz