Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API Befehl: Eigenschaft vom Teil in Macro Zeichnung 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
  
Flexibel statt verpflichtend: SOLIDWORKS Kauflizenzen und neue Wege der Lizenzierung, ein Webinar am 25.07.2025
Autor Thema:  API Befehl: Eigenschaft vom Teil in Macro Zeichnung auslesen (1061 mal gelesen)
Peter_Pan
Mitglied
Dipl. Ing. (FH) Maschinenbau


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

Beiträge: 16
Registriert: 08.10.2002

Win 7 x64
SWX 2011 SP4.0 Premium

erstellt am: 31. Mrz. 2006 15: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

Hallo Macrospezialisten!

Bin leider in der Programmierung von Macros nicht so fit!
Habe folgendes Problem:
Die Benutzerdefinierte Eigenschaft "Revision" im Teil oder Baugruppe will ich auf der Zeichnung auslesen. Das muss ja gehen, weil ich diese Eigenschaft auch im Zeichnungskopf auslesen kann.

Wie ist die Befehlszeile???

Bin für Eure Hilfe sehr dankbar!!

------------------
Viele Grüße

Peter

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 31. Mrz. 2006 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 Nur für Peter_Pan 10 Unities + Antwort hilfreich

Erstelle ein Textfeld und schreibe folgendes:
$PRP:"Revision"

Tip für die Zukunft: benutze doch wenigstens einmal die Funktion SUCHEN. 

[EDIT]
Muss es denn ein Makro sein?
[/edit]

[Diese Nachricht wurde von G. Dawg am 31. Mrz. 2006 editiert.]

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

Peter_Pan
Mitglied
Dipl. Ing. (FH) Maschinenbau


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

Beiträge: 16
Registriert: 08.10.2002

Win 7 x64
SWX 2011 SP4.0 Premium

erstellt am: 31. Mrz. 2006 16: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

Hallo G.

Die Darstellung der Eigenschaft auf der Zeichnung ist nicht gemeint. Ich muss den Wert im Macro auslesen um ihn weiterverarbeiten zu können.

Erklärung:
Ich will den Revisionsstand (Benutzerdefinierte Eigenschaft im Teil) an den Zeichnungsnamen anhängen und diese Zeichnung dann als PDF abspeichern.

Ich hoffe, jetzt ist die Anwendung klar!


Übrigens, die Suchfunktion kenne und benutze ich!!

------------------
Viele Grüße

Peter

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

G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



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

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 31. Mrz. 2006 16:07    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 Peter_Pan 10 Unities + Antwort hilfreich

OK! Sorry für das Missverständnis!!

Versuche es doch mal mit dem Makro Schriftfeldausfüllen. Dort müsste eigentlich alles drin sein was Du brauchst!

Code:

Option Explicit
Dim strDateipfad As String
Dim i As Integer
Dim Name As String
Dim vDummy As Variant
Dim typ As Integer
Dim Pos As Integer


Public Sub Dateieigenschaften_auslesen()

'Auf SW zugreifen
Set swApp = Application.SldWorks
'An aktives Dokument anklinken
Set Zeichnung = swApp.ActiveDoc
    If Zeichnung Is Nothing Then
            'MsgBox "Kein Dokument geöffnet!"
            End
    End If
   
    'Prüfen, ob Zeichnung geöffnet ist
    typ = Zeichnung.GetType()
    If typ <> swDocDRAWING Then
        'MsgBox "Aktives Dokument ist keine Zeichnung!"
        End
    End If

'bereits vorhandene Werte aus Zeichnung auslesen und in Formular einsetzen
    'Daten von Feintool Schriftfeld
        'Materialdaten
       
     
    strDateipfad = Zeichnung.GetPathName()
    If strDateipfad = "" Then
    MsgBox "Sie müssen die Datei zuerst speichern!"
    End 'Exit Sub
    End If
    Do
    vDummy = InStr(strDateipfad, "\")
    strDateipfad = Right(strDateipfad, Len(strDateipfad) - vDummy)
    Loop While vDummy <> 0

    If UCase(Right(strDateipfad, 7)) = ".SLDPRT" Or UCase(Right(strDateipfad, 7)) = ".SLDASM" Or UCase(Right(strDateipfad, 7)) = ".SLDDRW" Then
  Name = Left(strDateipfad, Len(strDateipfad) - 7)
    Else
  Name = strDateipfad
    End If

    Do
    vDummy = InStr(Name, "-")
    Name = Right(Name, Len(Name) - vDummy)
    Loop While vDummy <> 0
   
    Formular.Materialnummer.Caption = Name
     
     
       
        If Zeichnung.CustomInfo("MARA_TEXT_DE") <> " " Then
            Formular.Bezeichnung.Value = Zeichnung.CustomInfo("MARA_TEXT_DE")
        End If
        Formular.Bemerkung.Value = Zeichnung.CustomInfo("Z_BEMERK")
       
        'Erstellung
        If Zeichnung.CustomInfo("Z_KONSTR") <> "" Then
            Formular.Konstruiert_Name.Value = Zeichnung.CustomInfo("Z_KONSTR")
        Else
                       
            Call Benutzernamen.Benutzer
           
            Formular.Konstruiert_Name.Value = User
        End If
       
       
       
        If Zeichnung.CustomInfo("Z_KONSTR_DATUM") <> "" Then
            Formular.Konstruiert_Datum.Value = Zeichnung.CustomInfo("Z_KONSTR_DATUM")
            Else
            Formular.Konstruiert_Datum.Value = Date
        End If
   
        If Zeichnung.CustomInfo("GEZNAM") <> "" Then
            Formular.Gezeichnet_Name.Value = Zeichnung.CustomInfo("GEZNAM")
        End If
       
        If Zeichnung.CustomInfo("GEZDAT") <> " " Then
            Formular.Gezeichnet_Datum.Value = Zeichnung.CustomInfo("GEZDAT")
        End If
   
        If Zeichnung.CustomInfo("PRUNAM") <> " " Then
            Formular.Geprüft_Name.Value = Zeichnung.CustomInfo("PRUNAM")
        End If
       
        If Zeichnung.CustomInfo("PRUDAT") <> " " Then
            Formular.Geprüft_Datum.Value = Zeichnung.CustomInfo("PRUDAT")
        End If
   
        'Werkstoffdaten
        If Zeichnung.CustomInfo("MAT_NR_ROH") <> " " Then
            Formular.Rohmaterial.Value = Zeichnung.CustomInfo("MAT_NR_ROH")
        End If
       
        If Zeichnung.CustomInfo("MARA_GEWICHT") <> " " Then
            Formular.Masse.Value = Zeichnung.CustomInfo("MARA_GEWICHT")
        End If
       
        'Blattanzahl
        If Zeichnung.CustomInfo("Bezeichnung") <> " " Then
            Formular.Blatt_Einzel.Value = Zeichnung.CustomInfo("Bezeichnung")
        End If
       
        If Zeichnung.CustomInfo("Bezeichnung2") <> " " Then
            Formular.Blatt_Gesamt.Value = Zeichnung.CustomInfo("Bezeichnung2")
        End If
       
        'Sonstiges
       
        If Zeichnung.CustomInfo("MARA_ALTE_NR") <> " " Then
            Formular.Alte_Nummer.Value = Zeichnung.CustomInfo("MARA_ALTE_NR")
        End If
       
        If Zeichnung.CustomInfo("DRAW_VERSION") <> " " Then
            Formular.Version.Value = Zeichnung.CustomInfo("DRAW_VERSION")
        End If
       
        If Zeichnung.CustomInfo("DRAW_NR") <> " " Then
            Formular.Dokumentnummer.Value = Zeichnung.CustomInfo("DRAW_NR")
        End If
       
        'Änderungshistorie
        For i = 0 To 3
            If Zeichnung.CustomInfo("ECM_N" & i + 1) <> " " Then Formular.Historie.AddItem Zeichnung.CustomInfo("ECM_N" & i + 1)      'Index
            If Zeichnung.CustomInfo("ECM_A" & i + 1) <> " " Then Formular.Historie.List(i, 1) = Zeichnung.CustomInfo("ECM_A" & i + 1)  'Änderung
            If Zeichnung.CustomInfo("ECM_D" & i + 1) <> " " Then Formular.Historie.List(i, 2) = Zeichnung.CustomInfo("ECM_D" & i + 1)  'Datum
            If Zeichnung.CustomInfo("ECM_U" & i + 1) <> " " Then Formular.Historie.List(i, 3) = Zeichnung.CustomInfo("ECM_U" & i + 1)  'Name
        Next i
   

End Sub


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



Anzeige:Infos zum Werbeplatz >>

GeoVisual Civil Engineer CAD APP für 3D, Tiefbau, AEC - Architektur-, Ingenieur- und Bauwesen

Die benutzerfreundliche Softwarelösung zur Visualisierung von Infrastrukturplanungen

Ex-Mitglied

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