Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Solidworks Material mit VBA eintragen

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
  
AMB
Autor Thema:  Solidworks Material mit VBA eintragen (1306 / mal gelesen)
Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 29. Mrz. 2017 16:16    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 CAD´ler,

um bei uns den Prozess sicherer und einfacher zu machen suche ich eine Möglichkeit SolidWorks ein Material zuzuweisen.
Mir geht es nur um den Materialnamen, die anderen Eigenschaften werden im späteren Verlauf nicht beachtet.

Das Problem dabei ist das das Material nicht in der .sldmat Datenbank vorhanden ist.( Somit scheidet die SetMaterialPropertyName Funktion aus)

Gibt es eine andere Funktion die keine Datenbank voraussetzt (was es wahrscheinlich nicht gibt, da immer andere Parameter hinterlegt werden müssen)?

Oder gibt es eine Funktion von SolidWorks die ein neues Material in einer Datenbank anlegt?

Gruß

Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

ThoMay
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 5258
Registriert: 15.04.2007

SWX 2019
Windows 10 x64

erstellt am: 29. Mrz. 2017 22: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 Nur für Christoph Weise 10 Unities + Antwort hilfreich

Hallo Christoph.

Lege doch einfach eine eigene Mat Datenbank an. (kopieren oder Neue und einzelne mat kopieren)

Solange du die Mat nicht in der Simulation brauchst kannst du auch auf die spez Eigenschaften verzichten.
Halt nur Stahl oder Kunstoff oder..

Gruß
ThoMay

------------------
Hast du Fragen?
Brauchst du
Schaut mal nach im Bereich
Alle Foren => Wissenstransfer.
oder
Konstrukteure Online hier bei CAD.de
Richtig fragen -
Nettiquette - Konstruktionshilfen - Systeminfo - Unities - CAD Freeware - Forenübersicht - 3D Modelle - SolidWorks Videos

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

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 30. Mrz. 2017 07:29    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 ThoMay,

eine normale Materialdatenbank haben wir.
In dieser stehen alle Werkstoffe in allen benötigten Ausführungen.

Bei uns werden aber oft z.B. Zylinderstifte oder vorgefertigte eigene Bauteile als Ausgangswerkstoff verwendet. Eine Datenbank mit allen möglichen "Materialen" ist daher nicht erstellbar.

Der Vorteil für uns wäre, das wenn das Material im SolidWorks vergeben ist, die Daten bei der Anlage im SAP-System übernommen werden. Ansonsten müssen die Materialien nach der Anlage im System nachgepflegt werden. Falls man dies vergisst (ca. 5% der Fälle, ansonsten ist ein normaler Werkstoff vergeben) steht am Ende kein Werkstoff auf der Zeichnung.

Gruß Christoph

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 30. Mrz. 2017 11: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 Nur für Christoph Weise 10 Unities + Antwort hilfreich

Hallo Christoph

Hier meine Variante:
- Eine temporäre Material-DB erstellen
- Material-DB-Pfad in Solidworks hinzufügen
- Material dem Teil zuweisen
- Material-DB-Pfad in Solidworks wieder entfernen
- temporäre Material-DB löschen

Code:
Public swApp As SldWorks.SldWorks
Public swModel As SldWorks.ModelDoc2
Public swPart As SldWorks.PartDoc

Sub main()

    Dim dbname As String
    Dim MatName As String
    Dim MatDbPaths As String
    Dim bRet As Boolean
     
    dbname = Environ("temp") & "\tempMatDb.sldmat"
    MatName = "Mein Material"

    CreateDataBase dbname, MatName

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swPart = swModel
   
    MatDbPaths = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swFileLocationsMaterialDatabases)
       
    bRet = swApp.SetUserPreferenceStringValue(swUserPreferenceStringValue_e.swFileLocationsMaterialDatabases, MatDbPaths & ";" & Left(dbname, InStrRev(dbname, "\") - 1))
    swPart.SetMaterialPropertyName2 "", dbname, MatName
    swApp.SetUserPreferenceStringValue swUserPreferenceStringValue_e.swFileLocationsMaterialDatabases, MatDbPaths

    Kill dbname

End Sub


Sub CreateDataBase(DatabaseName As String, MaterialName As String)

    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim oFile As Object
    Set oFile = fso.CreateTextFile(DatabaseName)
    oFile.WriteLine "<?xml version=""1.0"" encoding=""UTF-16"" standalone=""no""?>"
    oFile.WriteLine "<mstns:materials xmlns:mstns=""http://www.solidworks.com/sldmaterials"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:schemaLocation=""http://matwebtest.matweb.com/sw/XSD/sldmaterials.xsd"" xmlns:sldcolorswatch=""http://www.solidworks.com/sldcolorswatch"" version=""2008.03"">"
    oFile.WriteLine "    <curves id=""curve0"">"
    oFile.WriteLine "        <point x=""1.0"" y=""1.0""/>"
    oFile.WriteLine "        <point x=""2.0"" y=""1.0""/>"
    oFile.WriteLine "        <point x=""3.0"" y=""1.0""/>"
    oFile.WriteLine "    </curves>"
    oFile.WriteLine "  <classification name=""Stahllegierungen"">"
    oFile.WriteLine "      <material name=""" & MaterialName & """ description="""" propertysource="""" appdata="""">"
    oFile.WriteLine "          <xhatch name=""ISO (Stahl)"" angle=""0"" scale=""1""/>"
    oFile.WriteLine "          <physicalproperties>"
    oFile.WriteLine "              <EX displayname=""E-Modul"" value=""2.1E+011"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <NUXY displayname=""Poissonzahl"" value=""0.29"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <GXY displayname=""Schubmodul"" value=""7.7E+010"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <ALPX displayname=""Wärmeausdehnungskoeffizient"" value=""1.5e-005"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <DENS displayname=""Massendichte"" value=""7850"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <KX displayname=""Wärmeleitfähigkeit"" value=""47"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <C displayname=""Spezifische Wärmekapazität"" value=""420"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <SIGXT displayname=""Zugfestigkeit"" value=""540000000"" usepropertycurve=""0""/>"
    oFile.WriteLine "              <SIGYLD displayname=""Fließgrenze"" value=""355000000"" usepropertycurve=""0""/>"
    oFile.WriteLine "          </physicalproperties>"
    oFile.WriteLine "          <shaders>"
    oFile.WriteLine "              <pwshader2 name=""Farbe"" path=""\color.p2m""/>"
    oFile.WriteLine "          </shaders>"
    oFile.WriteLine "          <swatchcolor RGB=""c6c6d1"">"
    oFile.WriteLine "              <sldcolorswatch:Optical Ambient=""1.000000"" Transparency=""0.000000"" Diffuse=""1.000000"" Specularity=""0.700000"" Shininess=""0.300000"" Emission=""0.000000""/>"
    oFile.WriteLine "          </swatchcolor>"
    oFile.WriteLine "          <custom/>"
    oFile.WriteLine "      </material>"
    oFile.WriteLine "  </classification>"
    oFile.WriteLine "</mstns:materials>"
   
    oFile.Close
    Set fso = Nothing
    Set oFile = Nothing

End Sub


Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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

Lueghi
Mitglied
Admin für alle Systeme ....


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

Beiträge: 416
Registriert: 01.07.2005

CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO
PDM...: PRO.FILE 8.6
ERP...: proAlpha 6.2e / 7.1
BS....: Win10, HP ZBook G5

erstellt am: 30. Mrz. 2017 12: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 Nur für Christoph Weise 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Christoph Weise:
Hallo ThoMay,

eine normale Materialdatenbank haben wir.
In dieser stehen alle Werkstoffe in allen benötigten Ausführungen.

Bei uns werden aber oft z.B. Zylinderstifte oder vorgefertigte eigene Bauteile als Ausgangswerkstoff verwendet. Eine Datenbank mit allen möglichen "Materialen" ist daher nicht erstellbar.

...


Wir haben uns so beholfen, dass wir in unserer Materialdatenbank eigene, allgemein gehaltene Material-Einträge (Aluminium, Stahl, Edelstahl, etc.) gemacht haben und dann ganz normal in SolidWorks das Material zuweisen. Damit bleibt man in der Systematik und muss nicht für alles eine eigenen Spezifikation anlegen. Bei uns ist das absolut ausreichend.

------------------
Gruß Stefan

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

Christoph Weise
Mitglied
Technischer Produktdesigner / Konstruktion / CAD-Admin


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

Beiträge: 204
Registriert: 22.03.2015

Dell 3650
Intel I7 11700k
32 GB RAM
Nvidia RTX A4000 16GB
Win 10 22H2 64-bit
SolidWorks 2022SP5
QuickPress 6.3.3
PortaX 2.27
SAP ERP 6.0

erstellt am: 03. Apr. 2017 11:00    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

@Andreas:  Funktioniert einwandfrei und ist genau das was ich brauche 

@Lueghi Allgemeine Einträge wie Stahl und Alu haben wir auch, da darf der Fertiger das nehmen,was ihm gerade in die Finger fällt. In diesem Fall benötige ich aber spezifische Angaben wo ein bestimmter Werkstoff verwendet werden muss oder bzw. ein bestimmtes Kaufteil nachgearbeitet werden muss. Diese Kaufteile können natürlich variieren.

Schlussendlich Problem gelöst 

------------------
Wer einen Fehler findet darf ihn behalten,
wer zwei findet kann beide behalten,
ab fünf Fehler gibs Rabatt :-)

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