Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro in Ordner als PDF speichern

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
  
SolidCAM im Einsatz bei der August Weckermann KG
Autor Thema:  Makro in Ordner als PDF speichern (5705 mal gelesen)
funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 18. Mrz. 2010 15:30    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 zusammen,

ich habe ein Problem mit einem Makro. Folgendes will ich machen:

1.)Das Makro soll einen Unterordner mit dem Dateinamen erzeugen. (funktioniert)
  Z.B. SW Datei liegt unter C:\123\ ab, das Teil heißt xy --> Ordner C:\123\xy\ wird erzeugt.

2.) Das PDF soll in diesem Unterordner abgespeichert werden. (funktioniert nicht). Ich kann in einem vorgegebenen (festen Verzeichnis) speichern, will aber, dass das Verzeichnis von oben genommen wird (\xy\ ist variabel, weil Dateiname)...

Kann mir beim 2. Punkt jemand helfen? Ich komme da irgendwie nicht weiter!

Hier der Code:

Option Explicit
    Dim swApp                  As SldWorks.SldWorks
    Dim swModel                As SldWorks.ModelDoc2
    Dim pdfoptions              As Long
    Dim sPathName              As String
    Dim nErrors                As Long
    Dim nWarnings              As Long
    Dim nRetval                As Long
    Dim bShowMap                As Boolean
    Dim bRet                    As Boolean
    Dim sFileName              As String
    Dim ConfName                As String
    Dim Index                  As String
           
Sub main()

' Punkt 1
' Ordner erzeugen
   
   
    Dim Ord As String
Dim Antwort As Integer

Ord = "C:\123\" & sFileName
If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
& vbNewLine _
& "soll der Ordner angelegt werden?!", vbYesNo)
If Antwort = vbYes Then
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
Else
MsgBox "Es wurden keine Änderungen vorgenommen"
Exit Sub
End If
End If


' (bis hier hin alles klar)

' Punkt 2

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    sPathName = swModel.GetPathName
    sPathName = Left(sPathName, Len(sPathName) - 7)
    sFileName = ohnePfad(sPathName)
    ConfName = swModel.GetConfigurationNames
    Index = swModel.CustomInfo2(ConfName, "Revision")
    If Len(Index) = 3 Then
      Index = Left(Index, 2)
    End If

' hier müsste der variable Pfad rein?!

    sPathName = "C:\123\" & sFileName & Index & ".pdf"
    Debug.Print sFileName
    swApp.SetUserPreferenceToggle swPDFExportInColor, False
    swApp.SetUserPreferenceToggle swPDFExportEmbedFonts, True
    swApp.SetUserPreferenceToggle swPDFExportHighQuality, True
    swApp.SetUserPreferenceToggle swPDFExportPrintHeaderFooter, False
    swApp.SetUserPreferenceToggle swPDFExportUseCurrentPrintLineWeights, True
    bRet = swModel.SaveAs4(sPathName, _
      swSaveAsCurrentVersion, _
      swSaveAsOptions_Silent, _
            nErrors, _
            nWarnings)
    If bRet = False Then
        nRetval = swApp.SendMsgToUser2("Probleme mit dem Speichern des PDFs", swMbWarning, swMbOk)
    End If
   
    MsgBox "Ordner " & sPathName
   
End Sub

Private Function ohnePfad(mitPfad As String) As String
  Dim intCounter As Integer

  For intCounter = Len(mitPfad) To 1 Step -1
    If Mid(mitPfad, intCounter, 1) = "\" Then
      Exit For
    End If
  Next intCounter
  ' Return the value
  ohnePfad = Right(mitPfad, Len(mitPfad) - intCounter)
End Function


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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 18. Mrz. 2010 17:01    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 funker 10 Unities + Antwort hilfreich

so gehts besser:

Code:
Option Explicit
    Dim swApp                  As SldWorks.SldWorks
    Dim swModel                As SldWorks.ModelDoc2
    Dim pdfoptions              As Long
    Dim sPathName              As String
    Dim nErrors                As Long
    Dim nWarnings              As Long
    Dim nRetval                As Long
    Dim bShowMap                As Boolean
    Dim bRet                    As Boolean
    Dim sFileName              As String
    Dim oConfig As SldWorks.Configuration
    Dim ConfName                As String
    Dim Index                  As String
         
Sub main()

' Punkt 1
' Ordner erzeugen
 
 
    Dim Ord As String
Dim Antwort As Integer

'Ord = "C:\123\" & sFileName  'sFilename gibts doch noch gar nicht!!

Ord = "C:\123\"
If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
& vbNewLine _
& "soll der Ordner angelegt werden?!", vbYesNo)
If Antwort = vbYes Then
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
Else
MsgBox "Es wurden keine Änderungen vorgenommen"
Exit Sub
End If
End If


' (bis hier hin alles klar)

' Punkt 2

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
   
    If swModel Is Nothing Then
        MsgBox "Nix geöffnet, Ciao!"
        Exit Sub
    End If

    'Die extra-Funktion ohnePfad ist unnötig, sPathname wird hier noch nicht gebraucht
    'sPathName = swModel.GetPathName
    'sPathName = Left(sPathName, Len(sPathName) - 7)
    'sFileName = ohnePfad(sPathName)

    sFileName = Left(swModel.GetTitle, Len(swModel.GetTitle) - 7)

'    ConfName = swModel.GetConfigurationNames
    'geht so nicht, GetConfigurationName gibt eine Liste aller Konfigs zurück
    'nicht nur eine einzelne
   
    'So kommst du zum Configurationsname:
    Set oConfig = swModel.GetActiveConfiguration
    ConfName = oConfig.Name
   
    Index = swModel.CustomInfo2(ConfName, "Revision")
    If Len(Index) = 3 Then
      Index = Left(Index, 2)
    End If

' hier müsste der variable Pfad rein?!

    'sPathName = "C:\123\" & sFileName & Index & ".pdf"
    'die oben definierte Variable mt dem Ordnernamen verwenden!!
    sPathName = Ord & sFileName & Index & ".pdf"
    Debug.Print sPathName

    swApp.SetUserPreferenceToggle swPDFExportInColor, False
    swApp.SetUserPreferenceToggle swPDFExportEmbedFonts, True
    swApp.SetUserPreferenceToggle swPDFExportHighQuality, True
    swApp.SetUserPreferenceToggle swPDFExportPrintHeaderFooter, False
    swApp.SetUserPreferenceToggle swPDFExportUseCurrentPrintLineWeights, True
    bRet = swModel.SaveAs4(sPathName, _
      swSaveAsCurrentVersion, _
      swSaveAsOptions_Silent, _
            nErrors, _
            nWarnings)
    If bRet = False Then
        nRetval = swApp.SendMsgToUser2("Probleme mit dem Speichern des PDFs", swMbWarning, swMbOk)
    End If
 
    MsgBox "Ordner " & sPathName
 
End Sub


Ein paar Kleinigkeiten:


  • Am Anfang hast du zur Definition des Ordnernamens die Variable sFilename benutzt...die ist zu diesem Zeitpunkt noch undefiniert, also sinnlos.
  • Die extra-Funktion ohnePfad ist unnötig, mit Gettitle und dann hinten abbschneiden gehts auch.
  • mit GetConfigurationNames bekommst du nicht den aktuellen Konfigurationsnamen, sondern eine Liste aller vorhandenen Konfigurationen als Array (Typ Variant).
  • Dazu brauchst du noch erst mal ne Variable vom Typ SldWorks.Configuration, hier oConfig. Mit GetActiveConfiguration kriegst du hier die aktuelle Konfiguration rein (Set nicht vergessen).
  • oConfig.Name ist der Name dieser Konfiguration
  • Beim eigentlichen Speichervorgang hast du nicht die oben gefüllte Variable mit dem Ordnernamen verwendet, sondern den Ordnernamen nochmal explizit angegeben...böses Fowl..zumindest unschön.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 18. Mrz. 2010 17: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

Hallo Klaus,

danke für deine super und schnelle Antwort. Du scheinst dich sehr gut mit der Makrogeschichte auszukennen - ich bin da noch im Anfangsstadium.
Bei dem bearbeiteten Code erhalte ich die Fehlermeldung: Laufzeitfehler 91. Objektvariable oder With-Blockvariable nicht festgelegt.

Es geht unter ' Punkt 2

    'So kommst du zum Configurationsname:
    Set oConfig = swModel.GetActiveConfiguration
    ConfName = oConfig.Name

um die untere Zeile. Da meckert er irgendwie. Ist doch eigentlich oben definiert?!


Bei Punkt 1 habe ich meine Schwierigkeiten den sFileName wegzulassen. Dann definiere ich ja ein Verzeichnis (feststehend) welches er anlegen soll. Er soll aber hier den Unterordner mit Dateinamen anlegen (am besten nur die ersten 10 Stellen des Dateinamens). Das lief aber soweit auch...

'Ord = "P:\ME\3D CAD Zeichnungen\z.Z. in Bearbeitung\Philipp Werb\Test" & sFileName  'sFilename gibts doch noch gar nicht!!


Vielen Dank und Grüße

Philipp

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 19. Mrz. 2010 08:05    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 funker 10 Unities + Antwort hilfreich

Hallo Philipp,

Zitat:
Original erstellt von funker:
Bei dem bearbeiteten Code erhalte ich die Fehlermeldung: Laufzeitfehler 91. Objektvariable oder With-Blockvariable nicht festgelegt.

Es geht unter ' Punkt 2

    'So kommst du zum Configurationsname:
    Set oConfig = swModel.GetActiveConfiguration
    ConfName = oConfig.Name

um die untere Zeile. Da meckert er irgendwie. Ist doch eigentlich oben definiert?!



Die Fehlermeldung bedeutet nicht, dass die Variable nicht deklariert ist (das machst du "oben" mit der DIM Anweisung) sondern nicht definiert ist, sprich, sie hat keinen Inhalt und ist Nothing. Das passiert dann, wenn du entweder kein Dokument aktiv hast (das wird aber ja weiter oben im Bereich If swModel Is Nothing Then ... abgefangen, oder was hier wahrscheinlich ist, weil du kein Modell, sondern eine Zeichnung aktiv hast - Zeichnungen haben keine Konfiguration.

Ohne auf deinen Bildschirm zu schauen und deinen kompletten Code zu sehen ist das aber nur eine Vermutung.

Zitat:
Original erstellt von funker:
Bei Punkt 1 habe ich meine Schwierigkeiten den sFileName wegzulassen. Dann definiere ich ja ein Verzeichnis (feststehend) welches er anlegen soll.

Das möchtest du vielleicht, aber wie Klaus schon gesagt hast, tun tust du das nicht. Du deklarierst Dim sFileName  As String, dadurch wird die angelegt und ist: leer. Also nicht mal ein Leerzeichen, sondern "".
Dann weiter unten setzt du damit die neue Variable zu Ord = "C:\123\" & sFileName zusammen. Jetzt hat Ord den Inhalt "C:\123\". Du überprüfst, ob dieses Verzeichnis existiert, was es wohl tut, als übergeordnetes Verzeichnis, also braucht auch nichts Neues angelegt werden.

Wenn du einen Unterordner in Abhängigkeit vo Dateinamen überprüfen und anlegen willst musst du dir logischerweise vorher den Namen des Dokumentes holen und der ganze Bereich unter Punkt 1 danach erst kommen. Ich argwöhne, dass du dir das aus einer anderen Prozedur geklaut hast und oben in die Main reinkopiert hast und hoffst, dass VBA das schon irgendwie versteht, was du möchtest ;)

Code:

[...]
' Punkt 2
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    sPathName = swModel.GetPathName
    sPathName = Left(sPathName, Len(sPathName) - 7)
    sFileName = ohnePfad(sPathName)

'hier jetzt den Bereich ausführen, der unter Punkt 1 steht
' sFileName ist definiert, Name des aktiven Dokumentes ohne
' Pfad und Extension, sollte also tauflich für Verzeichnisnamen sein.


[...]

BTW, wo ist deine Funktion "ohnePfad"?

Ich persönlich bevorzuge auch diese Methode um einen Dokumentennamen zu ermitteln und nicht GetTitle, aber wenn man die Feinheiten kennt ist das wirklich nur Geschmackssache.

Ich hoffe, damit kommst du wieder ein Stück weiter. Programmieren ist keine Hexerei, aber da merkt man erst richtig, wie blöde so eine Blechbüchse eigentlich ist und man wirklich alles vorkauen muss und selbst daran denken muss, was wohl alles schief gehen kann. Da nimmt einem kein netter, anderer Programmierer diese ganze Fehlerbehandlung ab und denkt auch an die unmöglichsten (oder offensichtlichen) Kombinationen, was ein Anwender wohl alles anstellen könnte 

Ciao,
Stefan


------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 19. Mrz. 2010 08:32    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 funker 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von StefanBerlitz:

BTW, wo ist deine Funktion "ohnePfad"?

Die hab ich geklaut 

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 19. Mrz. 2010 11:02    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,

erst mal vielen Dank für Deine Antwort. Stimmt schon, ich verstehe nicht jeden Befehl von VBA und habe mich bis jetzt an kleineren Makros probiert, das auch mehr im Excel Bereich. Deswegen muss ich sagen, Hut ab vor Leuten wie Euch, die hier den VBALaien Nachhilfe geben :-)

Zwei Probleme gibt es noch:

a) Jetzt kann ich nur von einem Part ein PDF erstellen, weil Zeichnungen ja keine Konfigurationen haben und der Befehl oConfig.Name dann nicht funktioniert.
Ziel ist aber von einer Zeichnung ein PDF zu erstellen (bestenfalls im gleichen Schritt ein STEP vom Modell, aber das ist die Kür)

b) Das Makro speichert das PDF nicht in den vorher angelgten Unterordner ab, sondern direkt in das Verzeichnis, wo auch das SWTeil abliegt. Die Variable Ord wird als Text und nicht als Dateipfad erkannt!! Hab schon einige Varianten davon durchgespielt, aber das erwünschte Ergebnis ist ausgeblieben.

Wenn ihr mir da noch mal helfen könntet wäre ich euch wirklich dankbar :-)

Gruß, Philipp

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 19. Mrz. 2010 17: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 funker 10 Unities + Antwort hilfreich

Ich bin jetzt zu hause und hab kein SolidWorks da.
Aber zu deinem Problem gibts noch ein paar Fragen zu klären.


  • Sollen Zeichnung UND Modell als PDF gespeichert werden?
  • Wenn ja, beide im gleichen Verzeichnis?
  • Du willst den "Index" (bei uns heißt das "Revisionsstand") als Teil des Dateinamens. Wo kommt der her, ist der als Eigenschaft im Modell oder in der Zeichnung abgelegt?

Du musst am Anfang erst mal feststellen, um was es sich bei der aktuellen SolidWorksdatei handelt: Modell oder Zeichnung
Das geht mit swModel.GetType, das Ergebnis wäre swDocPart, swDocDrawing oder swDocAssembly (wenn ichs richtig im Kopf hab).

Wenn es sich um eine Zeichnung handelt und du das Modell dazu brauchst (zum Speichern oder wegen des Revisionsstandes), dann kriegst du das über die Zeichenansichten raus. Dann würde ich auch eine weitere Objektvariable für die Zeichnung und auch für die Views definieren, z,b.

  Dim swDrawing as As SldWorks.Drawing
  Dim swView as SldWorks.View
  ...
  set swDrawing = swModel
  set swmodel = Nothing 'Damit ist das swModel wieder frei um das Model-Objekt aufzunehmen, das du ja noch finden musst

  set view=swDrawing.GetFirstView
  'Damit hast du die erste View: das  ist das Blatt!

  set view = view.GetNextView
  ' Damit hast du die erste _richtige_ View. Da sollte dein Modell drin sein.

  sModelname = view.GetReferencedModelname 'sModelname muss natürlich oben noch als String deklariert sein 
  'oder so ähnlich. Könnte auch GetReferencedFilename heißen, bin mir da nicht sicher. Damit hast du den Dateinamen (incl. Pfad) vom Modell.
  ...
 
Jetzt noch das Modell öffnen und wieder swModel zuweisen, dann hast du das Modell und die Zeichnung und kannst damit machen was du willst.
Probiers mal aus, hast ja jetzt ein Wochenende zum Tüfteln 
Viel Erfolg

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 19. Mrz. 2010 20: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,

danke für deine Infos. Ich werde mich am Wochenende mal dran machen - mal schaun ob etwas verwertbares dabei rauskommt :-)

Im Grunde will ich folgendes machen (vereinfacht):
SW Zeichnung und Modell liegen unter C:\xy ab. Z.B. "12345678 Name.sldrw" und 12345678 Name.slpart

Befehl 1: Lege (Unter)Ordner an: C:\xy\12345678 Name [am besten nach der 8. Stelle abschneiden]

Befehl 2: Exportiere die Dateiformate .pdf (und .step das wäre die Kür) in den eben angelegten Unterordner. (vor allem da lag das Problem, er speichert das PDF immer in den Ausgangsordner und bezieht den Pfad in den Dateinamen mit ein. Z.B. C:\xy\12345678 Name12345678 Name.pdf)

Viele Grüße und ein schönes Wochenende

Philipp

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 19. Mrz. 2010 20:37    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

Ach ja,

die SWZeichnung soll als PDF und das SWModell als STEP exportiert werden...

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 22. Mrz. 2010 08:10    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 funker 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von funker:
Befehl 2: Exportiere die Dateiformate .pdf (und .step das wäre die Kür) in den eben angelegten Unterordner. (vor allem da lag das Problem, er speichert das PDF immer in den Ausgangsordner und bezieht den Pfad in den Dateinamen mit ein. Z.B. C:\xy\12345678 Name12345678 Name.pdf)

Das ist ja nun eine ganz neue Information-oder ich habs bisher überlesen. Wenn der gewünschte Pfadname in den Dateinamen mit einbezogen wird, tippe ich - ohne den Code nochmal genauer zu analysieren- einfach darauf, dass du beim Zusammensetzen ein "\" vergessen hast. Ein ganz typisches Missgeschick, das wohl jedem Programmierer immer wieder passiert.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 22. Mrz. 2010 10:05    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 Klaus,

hab mich am Wochenende mal "kurz" darüber gemacht... Mein Verständnis für das Programmieren ist wieder mal ein bisschen größer geworden. Den Fehler mit dem \ habe ich auch irgendwann gefunden, war nur etwas kniffelig herauszubekommen wo genau er hin soll und ob er in "" muss.

Ich steuere den Code jetzt über eine UserForm an, bei der es die beiden CommandButtons als PDF und als STEP speichern gibt. Je nach SolidWorks Format (Zeichnung oder Baugruppe oder Teil) muss sich der Anwender den richtigen Knopf selbst raussuchen.

Die Endung der SolidWorks Datei (sldprt, sldasm und slddrw) auszulesen und mit einer If Bedingung das richtige Ausgabeformat anzusteuern habe ich nicht geschafft - kann aber auch ohne diese Funktion leben :-)


Aktuelles Problem:

Aufgabe Makro: Zeichnung und Modell liegen unter C:\xy\ ab. Z.B. "11-2222333344 Name.sldrw" und "11-2222333344 Name.slpart". Das Makro soll unter D:\123\ den Unterordner mit den ersten 13 Stellen des aktuellen Dokuments erstellen (D:\123\11-2222333344\).

Es kommt manchmal (ca. 10% der Fälle) vor, dass das Makro denkt der Unterordner sei bereits angelegt und die MsgBox "Ordner ist schon vorhanden" ausgibt. Der Unterordner ist aber zu diesem Zeitpunkt nicht angelegt und er speichert das PDF direkt unter D:\123\ ab.
Kannst du da eine mögliche Ursache im Code entdecken?? Eine andere denkbare Möglichkeit wäre den Speicherort des Dokuments D:\123\ explizit als Speicherort auszuschließen (damit nur ein anderer Speicherort, also der neue D:\123\11-2222333344\ zugelassen ist)


Hier der Code:


Private Sub cmdSpeichernPDF_Click()

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
   
    If swModel Is Nothing Then
        MsgBox "- Kein SolidWorks Dokument geöffnet -"
        SWDokumenteExportierenFrm.Hide
        Exit Sub
       
    End If
       
    sPathName = swModel.GetPathName
    sPathName = Left(sFileName, 13)
    'sPathName = Left(sPathName, Len(sPathName) - 7) [alte Anweisung]
    sFileName = ohnePfad(sPathName)
   
' Punkt 1: Ordner erzeugen

Ord = "D:\123\" & sFileName

'hier muss der oben genannte Fehler liegen?!

If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
End If

' Punkt 2
 
    sFileName = Left(swModel.GetTitle, Len(swModel.GetTitle) - 9)
   
'    Set oConfig = swModel.GetActiveConfiguration
'    ConfName = oConfig.Name
'  MsgBox (ConfName) & "        ConfName"
'ConfName ist immer "Standard"
   
    sPathName = Ord & "\" & sFileName & ".pdf"
    Debug.Print sPathName
    swApp.SetUserPreferenceToggle swPDFExportEmbedFonts, True
    swApp.SetUserPreferenceToggle swPDFExportHighQuality, True
    swApp.SetUserPreferenceToggle swPDFExportPrintHeaderFooter, False
    swApp.SetUserPreferenceToggle swPDFExportUseCurrentPrintLineWeights, True
    bRet = swModel.SaveAs4(sPathName, _
      swSaveAsCurrentVersion, _
      swSaveAsOptions_Silent, _
            nErrors, _
            nWarnings)

    If bRet = False Then
        nRetval = swApp.SendMsgToUser2("Probleme mit dem Speichern des PDFs", swMbWarning, swMbOk)
    End If
 
SWDokumenteExportierenFrm.Hide


Viele Grüße

Philipp

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 22. Mrz. 2010 11:41    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 funker 10 Unities + Antwort hilfreich


  • Wo wird deine Form aufgerufen?
    Mit der Zeile "SWDokumenteExportierenFrm.Hide" wird deine Form nicht geschlossen, sondern nur versteckt! Wie willst du die je wieder schließen, wenn du die nicht siehst?
    Wenn in dem Fall eines falschen oder keines geöffneten Doks in SWX nichts mehr passieren soll, dann beende das komplette Makro doch an dieser Stelle einfach mit "End"

  • Du solltest immer abfangen, ob du das passende Dokument offen hast.
    Das kannst du- wie schon mal beschrieben- per swModel.GetType abfragen, da brauchst du keinen Dateinamen dazu:
        If swModel.GetType <> swDocDRAWING Then
            MsgBox "- Keine SolidWorks Zeichnung geöffnet"
            End
        End If

  • Bitte auf die Reihenfolge achten: Programme gehen (i.d.R.) stur von oben nach unten 
    die Stelle, wo du deine 13 Zeichen abschneidest, kommt zu früh. Hier besteht der Dateiname ja noch aus dem kompletten Pfadnamen:
    FALSCH:
        sPathName = swModel.GetPathName
        sPathName = Left(sFileName, 13)
        sFileName = ohnePfad(sPathName)
    RICHTIG:
        sPathName = swModel.GetPathName
        sFileName = ohnePfad(sPathName)
        sPathName = Left(sFileName, 13)

  • Beim Zuweisen des Ordnernamens verwendest du den kompletten Dateinamen- incl. Erweiterung!
    Du musst natürlich den abgeschnittenen Namen nehmen!
    FALSCH:
      Ord = "D:\123\" & sFileName
    RICHTIG:
      Ord = "D:\123\" & sPathName
    Oder spar die extra Zuweisung zu sPathName und schreibe gleich
      Ord = "D:\123\" & Left(sFileName, 13)

  • Vorschlag, muss aber nicht sein: Ersetze
        sFileName = Left(swModel.GetTitle, Len(swModel.GetTitle) - 9)
    durch
        sFilename = left(sFilename, Len(sFilename) - 7)

Damit funktioniert's bei mir.

Und wie gesagt: Wenn du per swModel.GetType die Dateiart abfragst, kannst du direkt zu deinen unterschiedlichen Vorgängen verzweigen und musst nicht den Anwender entscheiden lassen- ist besser, der klickt bestimmt daneben.

du könntest beispielsweise alles ab dem Anlegen des Ordners, also ab Punkt 2 in eine extra Prozedur packen, z.B. "Sub SaveDrawingAsPDF". Und für die Step entsprechend eine Prozedur machen "Sub SaveModelAsStep".
Und dann dieser Stelle sowas schreiben wie
    If swModel.GetType = swDocDRAWING Then
        'verzweigen
        SaveDrawingAsPDF
    Else
        SaveModelAsStep
    End If
(Die Abfrage nach keiner Zeichnung entfällt dann natürlich)

So wird langsam ein Schuh draus. Das Ganze hat dann aber noch den Nachteil, dass du Zeichnung und Modell extra bearbeiten musst. Um das zusammen zu fassen, musst du nochmal weiter oben nachlesen 

Viel Erfolg 

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 22. Mrz. 2010 14:04    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 Klaus,

danke für deine schnelle Antwort. Deine Anmerkungen sind sehr gut - ich gewöhne mir langsam deine logische Durchgehensweise an 
Die Form rue ich per MakroSchaltfläche direkt in SW aus (SWDokumenteExportierenFrm.Show).

Den richtigen Dokumenttyp frage ich jetzt am Anfang ab und habe das ganze zu einem kombinierten Code aus PDF (aus Zeichnung) und STEP (aus Baugruppe oder Part)  erstellen gemacht.

Der vollständigkeit halber hier noch einmal der kombinierte Code:

Private Sub SpeichernKombi_Click()

'Funktion PDF und STEP soll verknüpft werden

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    If swModel.GetType <> swDocDRAWING Then
    ElseIf swModel.GetType <> swDocPART Then
    ElseIf swModel.GetType <> swDocASSEMBLY Then
        MsgBox "- SolidWorks Baugruppe, Teil oder Zeichnung öffnen -"
        End
    End If
   
    sPathName = swModel.GetPathName
    sFileName = ohnePfad(sPathName)
    sPathName = Left(sFileName, 13)
 
   
' Punkt 1: Ordner erzeugen

Ord = "D:\123\" & Left(sFileName, 13)
If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
End If

' Punkt 2
 
If swModel.GetType = swDocDRAWING Then
 
    sFileName = Left(swModel.GetTitle, Len(swModel.GetTitle) - 9)
    sPathName = Ord & "\" & sFileName & ".pdf"
    Debug.Print sPathName
    swApp.SetUserPreferenceToggle swPDFExportEmbedFonts, True
    swApp.SetUserPreferenceToggle swPDFExportHighQuality, True
    swApp.SetUserPreferenceToggle swPDFExportPrintHeaderFooter, False
    swApp.SetUserPreferenceToggle swPDFExportUseCurrentPrintLineWeights, True
    bRet = swModel.SaveAs4(sPathName, _
      swSaveAsCurrentVersion, _
      swSaveAsOptions_Silent, _
            nErrors, _
            nWarnings)

    If bRet = False Then
        nRetval = swApp.SendMsgToUser2("Probleme mit dem Speichern des PDFs", swMbWarning, swMbOk)
    End If
 
End

Else

    sFileName = Left(swModel.GetTitle, Len(swModel.GetTitle) - 7)
    sPathName = Ord & "\" & sFileName & ".step"
    Debug.Print sPathName
    swApp.SetUserPreferenceToggle swPDFExportEmbedFonts, True
    swApp.SetUserPreferenceToggle swPDFExportHighQuality, True
    swApp.SetUserPreferenceToggle swPDFExportPrintHeaderFooter, False
    swApp.SetUserPreferenceToggle swPDFExportUseCurrentPrintLineWeights, True
    bRet = swModel.SaveAs4(sPathName, _
      swSaveAsCurrentVersion, _
      swSaveAsOptions_Silent, _
            nErrors, _
            nWarnings)

    If bRet = False Then
        nRetval = swApp.SendMsgToUser2("Probleme mit dem Speichern des PDFs", swMbWarning, swMbOk)
    End If
 
End


End If

End Sub

Gruß und vielen Dank

Philipp

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 22. Mrz. 2010 14:52    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 funker 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von funker:
Hallo Klaus,

danke für deine schnelle Antwort. Deine Anmerkungen sind sehr gut - ich gewöhne mir langsam deine logische Durchgehensweise an   
Die Form rue ich per MakroSchaltfläche direkt in SW aus (SWDokumenteExportierenFrm.Show).
...



Freut mich :) obwohl man bestimmt auch einiges anders lösen kann. Immer daran denken: Computer sind saublöd und tun nix von selber (zumindest nicht das, was du willst).

 

Zitat:
Original erstellt von funker:
...
Den richtigen Dokumenttyp frage ich jetzt am Anfang ab und habe das ganze zu einem kombinierten Code aus PDF (aus Zeichnung) und STEP (aus Baugruppe oder Part)  erstellen gemacht...

Nö, den richtigen Dokumenttyp fragst du am Anfang nicht ab, du testest nur, ob überhaupt was geöffnet ist. Und das noch sehr umständlich. Mach das einfach, wie es war:
    If swModel Is Nothing Then
        MsgBox "- Kein SolidWorks Dokument geöffnet -"
        end
    End If
Die eigentliche Unterscheidung nach Dateityp passiert ja erst weiter unten.

 

Zitat:
Original erstellt von funker:
...
    sPathName = Left(sFileName, 13)
   ...


Die Zeile ist überflüssig geworden, da du ja gleich darauf 13 Zeichen von sFilename direkt dem Ordnernamen zuweist. Hat aber keine Auswirkung.

Was machst du eigentlich, wenn der eigentliche Dateinamen kürzer als 13 Zeichen ist? Dann rutscht die Dateierweiterung wieder in den Verzeichnisnamen rein. Wenn solche Fälle vorkommen können, muss du das noch abfangen. Also den sFilename vorher von seiner Erweiterung befreien.
  

Das Setzen der PDF-Optionen im Step-Zweig ist überflüssig und der Text der Warnmeldung im Step-Zweig ist noch falsch.

Der Rest wird wohl funktionieren, ich habs jetzt nicht mehr getestet.
Ich persönlich hätte für die beiden Speichern-Wege 2 Subs geschrieben statt das hier auszucodieren, das ist aber Geschmackssache.

Ansonsten: herzlichen Glückwunsch  


------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim    

[Diese Nachricht wurde von KMassler am 22. Mrz. 2010 editiert.]

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

funker
Mitglied
Dipl.-Ing Maschinenbau

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

Beiträge: 8
Registriert: 18.03.2010

erstellt am: 22. Mrz. 2010 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

Wir haben immer eine 13-stellige Zeichnungsnummer, danach kommt der Dateiname. Für den Ordner soll immer nur die Zeichnungsnummer verwendet werden - das mit den 13 Stellen klappt also immer.

An dieser Stelle noch mal vielen Dank für deine Unterstützung!

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: 22. Mrz. 2010 15:37    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 funker 10 Unities + Antwort hilfreich

Zitat:
Die hab ich geklaut

Hmm, ich habe auch ein Makro, dass kann PDF in ein definiertes Verzeichnis speichern, da heißt die Funktion genauso. 

Gruß, Klaus.

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 22. Mrz. 2010 16:48    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 funker 10 Unities + Antwort hilfreich

Mit "die hab ich geklaut" meinte ich, dass ich die Sub aus Funkers Code gestrichen hab, weil ich sie durch einen Einzeiler ersetzt habe.
Hat mir persönlich mehr zugesagt, zumindest in diesem Fall, wo das ganze nur 1x benötigt wurde. Ist aber Geschmackssache, jetzt ist sie ja wieder drin.
Wenn ich Code woanders klau (mach ich, wie alle Programmierer, aber nur wo es erlaubt ist.  ) dann geb ich das auch gerne zu. Und wenn ichs noch weiß- und es nicht allzu eilig hab- schreib ich das auch als Kommentar dazu.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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