Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Eigenschaften 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
  
Startup Crafting Future aus Hannover – Produktdesign nachhaltig neu denken
Autor Thema:  Eigenschaften Auslesen (1642 mal gelesen)
Zega
Mitglied



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

Beiträge: 44
Registriert: 19.07.2016

Hardware
-Intel Xeon W3550
-Nvidia Quadro 2000
-12GB RAM
Software
-Windows 7 Professional
-SolidWorks 2016 SP4.0
-Office 2013

erstellt am: 01. Aug. 2016 09: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


UserForm.PNG

 
Guten Morgen,
da ich schon lange nichts mehr mit Makros gemacht habe und jetzt irgendwie auf dem Schlauch stehe    hoffe und glaube ich auch das ihr mir sehr leicht weiterhelfen könnt. Ich hab mir vor einiger Zeit mithilfe eines Makros von Stefan Berlitz ein Makro für meinen Anwendungszweck gebastelt. Da ich da nun noch 2 Features hinzufügen möchte brauch ich eure Hilfe.

Wie im Bild zu sehen ist gibt es dort den Button "Name lesen" und "lesen".
Bei "Name lesen" hätte ich gerne das er mir den aktuellen Dokumentenname in die Text Box einträgt. (Text Box Name wäre ben_txt)
Bei "lesen" hätte ich gerne, das er mir bei Belchteilen die Dicke des aktuellen Teils in die Text Box enträgt. (Text Box Name wäre hier rh_txt)

Danke schonmal für eure Hilfe!
Gruß

------------------
Rechtschreibfehler dürfen behalten werden 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 01. Aug. 2016 10:46    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 Zega 10 Unities + Antwort hilfreich

Hallo Zega,

der erste Wunsch wird nicht das Problem darstellen, sollte mit folgender Zeile erledigt sein.

Code:
ben_txt.text = swModelDoc.GetTitle

Der Zweite wunsch könnte da schon etwas aufwendiger sein.

Erst mal schauen ob ein Blechkörper vorhanden ist, GetBodies2 Method (IPartDoc) auf swSheetBody prüfen.
Wenn dies der Fall ist dann könntest du über eine Feature Traverse das erste Blech-Feature suchen und dann mit dem ISheetMetalFeatureData Interface die Thickness Property auslesen.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

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

Zega
Mitglied



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

Beiträge: 44
Registriert: 19.07.2016

Hardware
-Intel Xeon W3550
-Nvidia Quadro 2000
-12GB RAM
Software
-Windows 7 Professional
-SolidWorks 2016 SP4.0
-Office 2013

erstellt am: 01. Aug. 2016 14:03    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


fehler.PNG

 
Danke für deine schnelle Hilfe!
Allerdings bekomm ich eine Fehlermeldung die ich als Bild angehängt habe. Hab ich was vergessen?

Das mit der Blechdicke lass ich dann glaub ich lieber wenn ich das nichtmal hinbekomm  

Ok hat sich erledigt habs hinbekommen 

------------------
Rechtschreibfehler dürfen behalten werden  

[Diese Nachricht wurde von Zega am 01. Aug. 2016 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: 01. Aug. 2016 14: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 Zega 10 Unities + Antwort hilfreich

ich vermute mal, dass Dein Modell nicht an "swModelDoc" hängt,
sondern an einer Variable mit einem anderen Namen.

Ohne den Code zu sehen ist das ein wenig schwierig.

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

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

Zega
Mitglied



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

Beiträge: 44
Registriert: 19.07.2016

Hardware
-Intel Xeon W3550
-Nvidia Quadro 2000
-12GB RAM
Software
-Windows 7 Professional
-SolidWorks 2016 SP4.0
-Office 2013

erstellt am: 01. Aug. 2016 15:13    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


losung.PNG

 
So hier die Lösung mit abschneiden des ".SLDPRT" am Ende.
Vielleicht hilft es einem anderen ja auch.

Das Makro ließt den Dateinamen bei betätigung des Buttons "Nameauslesen" aus und schreibt ihn in die Text Box ben_txt.

Das mit dem Blech wird glaub ich etwas komplizierter oder hat da jemand eine Idee?

Gruß

------------------
Rechtschreibfehler dürfen behalten werden 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 01. Aug. 2016 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 Nur für Zega 10 Unities + Antwort hilfreich

Hallo Zega,

Code:
Option Explicit

Dim swApp As SldWorks.SldWorks
Dim swModelDoc As ModelDoc2
Dim swFeatMgr As FeatureManager
Dim swFeat As Feature
Dim vFeat As Variant
Dim swFeatDef As SheetMetalFeatureData
Dim swPart As PartDoc
Dim swBody As Body2
Dim vBodies As Variant

Dim i As Integer


Sub main()

Set swApp = Application.SldWorks

Set swModelDoc = swApp.ActiveDoc
Set swPart = swModelDoc

vBodies = swPart.GetBodies2(-1, False) 'Alle Bodies in Arry einlessen


If LBound(vBodies) <> 0 Then 'Prüfen ob nur ein Body vorhanden
   
    'Debug.Print "Teil ist ein MultiBody-Part"
   
Else

    Set swBody = vBodies(0)
        If swBody.IsSheetMetal = False Then 'Prüfen ob der Body auch ein Blechteil ist
            'Debug.Print "Teil ist kein Blechteil"
        Else
            Set swFeatMgr = swModelDoc.FeatureManager 'Feature in Arry einlessen
            vFeat = swFeatMgr.GetFeatures(True)
               
                For i = 0 To UBound(vFeat)
                   
                    Select Case vFeat(i).GetTypeName2 'Feature prüfen bis der Typ "ShettMetal" ist
                    Case "SheetMetal"
                        Set swFeat = vFeat(i)
                        Set swFeatDef = swFeat.GetDefinition 'Definition zum Feature holen
                       
                        rh_txt.text = swFeatDef.Thickness 'Dicke auslesen
                       
                    Case Else
                        'Debug.Print "Kein Blechfeature weiter mit nächstem Feature"
                    End Select
               
                Next i
               
           
        End If
End If


End Sub


Hier mal ein möglicher Code für die zweite Baustelle  

Die Select Case kann man auch durch eine einfache If ersetzten aber wollte die Select Case einfach mal ausprobieren  .

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 01. Aug. 2016 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