Hallo
Im Rahmen einer historischen Planüberarbeitung, die in Windows-Ordnern erstellt und für einige Jahre auf das PDM übertragen wurde, würde ich gerne wissen, ob jemand von Ihnen einen Trick oder ein Makro hätte, um zu "explodieren", um mehrseitige Zeichnungen zu unterteilen
Historisch gesehen bearbeiten die BE eine Zeichnung, in der wir die Baugruppe hatten, und dann auf jedem Blatt die detaillierten Pläne der Teile, die in dieser Baugruppe enthalten sind.
Die Methodik hat sich nach dem Übergang über PDM und automatisierte Aufgaben entwickelt, dann der Wechsel des Lieferanten, dann der Wechsel des Subunternehmers usw. Wenn wir heute eine alte Baugruppe "kopieren", haben wir diese berühmten mehrseitigen Pläne, die nicht dem aktuellen Prozess entsprechen.
War jemand von Ihnen bereits mit dem Problem konfrontiert und hat eine andere Lösung gefunden, als jeden Raumplan neu zu erstellen, indem die Blätter im sogenannten Generalplan nach und nach entfernt werden?
Aktuell verwenden wir Smartdrawing, um die Grundpläne jedes Raumes zu generieren, dann kopieren wir die Blätter des Multiblattes in jede Datei, generieren, archivieren und verarbeiten dann die Grundkarten über Integrationen.
unangemessen = > menschliche Operationen, die manchmal die Zeichnungen durcheinander bringen
Hallo
Im beigefügten Beispiel erfahren Sie, wie Sie einen MEP mit mehreren Blättern in mehrere Blätter unterteilen können.
https://www.javelin-tech.com/blog/2014/03/save-multi-sheet-as-its-own-drawing-or-combine-multiple-drawings/
Es ist zweifellos möglich, dies per Makro zu automatisieren, wenn Sie über einige Kenntnisse in VBA verfügen.
Für das Makro müssen Sie auch wissen, wie Sie jeden MEP aus jedem Blatt benennen. (Name des Blattes?)
Und mit etwas Glück reicht es aus, ein Makro zu erhalten und es leicht zu ändern, um Ihre Abgeordneten nach Ihren Wünschen umzubenennen.
Bearbeiten: Hier ist ein weiterer Link, der im vorherigen Link für ein Makrobeispiel vergessen wurde (aber das zugehörige Makro nicht gefunden)
https://www.youtube.com/watch?v=lkU1acf2PNg
1 „Gefällt mir“
Vielen Dank für das Feedback,
Das YouTube-Video ist das, wonach ich suche
Wie lade ich das Makro "Save Drawing Sheet File.swp" herunter!!
Ich suche es, wenn ich es finde, poste ich es
Nach einigen Recherchen nicht gefunden, aber wenn jemand Zeit hat, sich damit zu beschäftigen, wäre die Lösung, eines der Blätter des Mehrblatts zu kopieren, es dann in ein neues Blatt einzufügen und es mit dem Namen dieses Blattes zu speichern.
Andernfalls habe ich dieses Makro von einem Makro für den PDF-Export modifizieren lassen, aber es exportiert alle Blätter (nicht nur das, das Sie möchten) und Sie müssten das Löschen aller unerwünschten Blätter hinzufügen.
'Description: Macro to export Drawing Sheets As PDF with sheet name as file name.
'Precondition: Any active drawing file
'Postconditions: PDF file in the same location as drawing file.
' Please back up your data before use and USE AT OWN RISK
' This macro is provided as is. No claims, support, refund, safety net, or
' warranties are expressed or implied. By using this macro and/or its code in
' any way whatsoever, the user and any entities which the user represents,
' agree to hold the authors free of any and all liability. Free distribution
' and use of this code in other free works is welcome. If any portion of
' this code is used in other works, credit to the authors must be placed in
' that work within a user viewable location (e.g., macro header). All other
' forms of distribution (i.e., not free, fee for delivery, etc) are prohibited
' without the expressed written consent by the authors. Use at your own risk!
' ------------------------------------------------------------------------------
' Written by: Deepak Gupta (http://gupta9665.wordpress.com/)
' -----------------------------------------------------------------------------
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim vSheetNameArr As Variant
Dim vSheetName As Variant
Dim bRet As Boolean
Dim swExportPDFData As SldWorks.ExportPdfData
Dim lErrors As Long
Dim lWarnings As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Is document active?
If swModel Is Nothing Then
swApp.SendMsgToUser2 "A Drawing document must be active.", swMbWarning, swMbOk
Exit Sub
End If
' Is it a Drawing document?
If swModel.GetType <> swDocDRAWING Then
swApp.SendMsgToUser2 "A Drawing document must be active.", swMbWarning, swMbOk
Exit Sub
End If
Set swDraw = swModel
Set swSheet = swDraw.GetCurrentSheet
vSheetNameArr = swDraw.GetSheetNames
For Each vSheetName In vSheetNameArr
bRet = swDraw.ActivateSheet(vSheetName): Debug.Assert bRet
swDraw.ViewZoomtofit2
Set swExportPDFData = swApp.GetExportFileData(1)
swExportPDFData.SetSheets swExportData_ExportSpecifiedSheets, Nothing
'swModel.Extension.SaveAs vSheetName + ".pdf", 0, 0, swExportPDFData, lErrors, lWarnings
swModel.Extension.SaveAs Path & "\" & vSheetName & ".slddrw", 0, 0, Nothing, lErrors, lWarnings
Next vSheetName
End Sub
1 „Gefällt mir“
lol Ich hatte die gleiche Idee, ich habe ein mehrseitiges Exportmakro in einer separaten PDF-Datei geöffnet
Ich werde sehen, ob ich die Code-Klemmen für dieses slddrw-Ding bekommen kann, die das .pdf
1 „Gefällt mir“
Hallo
Da Sie über die myCADtools-Suite verfügen, können Sie das Tool "Integration" verwenden, das Ihren Erwartungen entsprechen sollte.
https://help.visiativ.com/mycadtools/2021/fr/Integration129.html
Im Anhang finden Sie ein Beispiel für eine Aktion
- Bedingung, wenn es sich bei dem Dokument um ein MEP handelt, wenn die Anzahl der Blätter nicht 1 beträgt
- Dann führen wir den Vorgang durch, bei dem jedes Blatt in einer neuen TGA gespeichert wird
Herzliche Grüße
Beispiel.mcact
3 „Gefällt mir“
Ich habe gerade schnell etwas programmiert, das zu funktionieren scheint.
Geben Sie einfach in der 2. Zeile den Pfad zu Ihrer drwdot-Datei ein.
Dann muss es mit etwas Sicherheit verbessert werden, um es in keiner Weise zu starten.
Im Moment müssen Sie unbedingt die MEP öffnen und dann das Makro starten (öffnen Sie in der Zwischenzeit keine Datei, sonst finden Sie Ihre extrahierten Dateien an der gleichen Stelle wie Ihre geöffnete Datei)
'Mettre ci-dessous le chemin vers le modèle de Fond de plan
Const sDrTemplateLaser As String = "U:\Modèle de documents\Mise en plan - Fonds de plan\A4-DECOUPE-b.DRWDOT"
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModel2 As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swDraw2 As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim vSheetNameArr As Variant
Dim vSheetName As Variant
Dim bRet As Boolean
Dim swExportPDFData As SldWorks.ExportPdfData
Dim lErrors As Long
Dim lWarnings As Long
Dim vSheetName2 As Variant
Dim i As Integer
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Is document active?
If swModel Is Nothing Then
swApp.SendMsgToUser2 "A Drawing document must be active.", swMbWarning, swMbOk
Exit Sub
End If
' Is it a Drawing document?
If swModel.GetType <> swDocDRAWING Then
swApp.SendMsgToUser2 "A Drawing document must be active.", swMbWarning, swMbOk
Exit Sub
End If
Set swDraw = swModel
Set swSheet = swDraw.GetCurrentSheet
vSheetNameArr = swDraw.GetSheetNames
For Each vSheetName In vSheetNameArr
bRet = swDraw.ActivateSheet(vSheetName): Debug.Assert bRet
swDraw.ViewZoomtofit2
swDraw.ActivateSheet vSheetName
'Debug.Print "Feuille active:" & sheetName
bRet = swDraw.Extension.SelectByID2(vSheetName, "SHEET", 0, 0, 0, False, 0, Nothing, 0)
swModel.EditCopy
Set swDraw2 = swApp.NewDocument(sDrTemplateLaser, 0, 0, 0)
'On supprime la 1ère feuille existantes
vSheetName2 = swDraw.GetSheetNames
Set swModel2 = swApp.ActiveDoc
Set swExt = swModel2.Extension
bRet = swDraw2.PasteSheet(swInsertOption_MoveToEnd, swRenameOption_No)
swDraw2.GetCurrentSheet.SetName vSheetName
Set swModel2 = swApp.ActiveDoc
'*********************************
'On supprime la 1ère feuille existantes
For i = 0 To UBound(vSheetName2) 'Boucle sur toutes les feuilles
Debug.Print vSheetName2(i)
If i = 0 Then
bRet = swExt.SelectByID2(vSheetName2(i), "SHEET", 0, 0, 0, False, 0, Nothing, 0)
'Supprimer la sélection
bRet = swExt.DeleteSelection2(0)
End If
Next
'********************************
swModel2.Extension.SaveAs Path & "\" & vSheetName & ".slddrw", 0, 0, Nothing, lErrors, lWarnings
Next vSheetName
End Sub
Jetzt bin ich also erfüllt
zwischen Makro und Integration!
Sorry Jm Savoyat, ich habe sbadenis als beste Antwort "für diejenigen, die die mycad suite nicht haben" angegeben
Aber ich liebe es, mit Integration zu arbeiten, und ich kann sie natürlich nach Prüfung in eine automatisierte PDM-Aufgabe integrieren.
2 „Gefällt mir“
@JMSAVOYAT
Beispieldatei einer höheren Version .... Ich dachte, ich hätte das letzte Update in 2021 SP2! (Ich möchte die Beta)
@g.Rollen
Ein wenig Geduld, die Version myCADtools 2022 SP0 sollte nächste Woche verfügbar sein. Wir feilen an den letzten Details!
Hier ist ein Screenshot des Beispiels.
1 „Gefällt mir“
das einzige Tool, bei dem ich das SP0 von Anfang an installiere, um meine Geduld zu sagen.....
Tatsächlich!
Aber diese Funktion in dem Beispiel, das ich versucht habe, Ihnen zu posten, ist bereits seit langem verfügbar!
1 „Gefällt mir“