| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| E-Book: SOLIDWORKS 2021 - Die Top 10 Verbesserungen |
Autor
|
Thema: Konstruktionsjournal (2914 mal gelesen)
|
StefanNie Mitglied Konstrukteur und CAD-Administrator
Beiträge: 74 Registriert: 07.03.2005 SW2023 SP3.0 mit DBWorks R23
|
erstellt am: 30. Jun. 2015 07:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, wir überlegen das Konstruktionsjournal von SW für Bedienungsanleitungen für kleinere Vorrichtungen zu nutzen. Hierbei wäre es für uns sinnvoll, beim PDF-Export der Zeichnung (ist automatisiert) auch das Konstruktionsjournal (soweit vorhanden) an das PDF anzuhängen. Hat jemand hiermit Erfahrungen, Tipps oder ggf. sogar ein fertiges Makro? Ich habe mal ein Makro aufgezeichnet (KJ öffnen - drucken - schliessen) und in den PDF-Exportoptionen geschaut, hier aber leider nichts gefunden, was mir wirklich weiterhilft. Gruß Stefan ------------------ Stefan CSWP 2006 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanNie Mitglied Konstrukteur und CAD-Administrator
Beiträge: 74 Registriert: 07.03.2005 SW2023 SP3.0 mit DBWorks R23
|
erstellt am: 13. Aug. 2015 14:09 <-- editieren / zitieren --> Unities abgeben:
|
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 13. Aug. 2015 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für StefanNie
Hallo, die Verwendung des Konstruktionsjournals, das Anfügen von Kommentaren an Features, wie auch das Vergeben von Etiketten (Tags) an Features ist nicht wirklich weit verbreitet - so meine unmaßgebliche Beobachtung. Es erklärt zumindest die spärliche Resonanz auf deine Frage... ------------------ Einen schönen Gruß von Heiko - www.dps-software.de - www.iknow-solidworks.de - [Diese Nachricht wurde von Heiko Soehnholz am 13. Aug. 2015 editiert.] [Diese Nachricht wurde von Heiko Soehnholz am 13. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ckoring Mitglied Ingenieur
Beiträge: 229 Registriert: 09.06.2009 Fujitsu CELSIUS M740 Intel Xeon E5-1620v4 32 GB RAM Nvidia Quadro P4000 Windows 10 Pro SolidWorks 2017 SP4.1 DBWorks R16 SP1.7
|
erstellt am: 13. Aug. 2015 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für StefanNie
Hi Stefan, wir verwenden das Journal nur um Hinweise bzgl. Änderungen festzuhalten. D.h. nur intern für die Konstruktionsabteilung. Eine schnelle Suche nach "Journal" in der API-Hilfe bringt auch nichts wirklich brauchbares. Vielleicht kann dir dein Reseller ja helfen. cheers Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
solas Mitglied
Beiträge: 461 Registriert: 11.02.2010 Kämpft mit BIM IFC
|
erstellt am: 13. Aug. 2015 17:04 <-- editieren / zitieren --> Unities abgeben: Nur für StefanNie
|
StefanNie Mitglied Konstrukteur und CAD-Administrator
Beiträge: 74 Registriert: 07.03.2005 SW2023 SP3.0 mit DBWorks R23
|
erstellt am: 14. Aug. 2015 08:09 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die Infos. Unser Reseller hat im Endeffekt eure Antworten bestätigt. Auch dort gibt es keine Kunden, die wirklich ernsthaft das Konstruktionsjournal nutzen. Daher der Versuch über das Forum. An den API-Support von SW habe ich mich auch gewandt. Leider keine Rückinfo (obwohl der Support meiner Meinung nach ansonsten sehr gut ist). Dann werde ich mich wohl mit der Officeintegration unserer CAD-Datenbank beschäftigen müssen. Danke ------------------ Stefan CSWP 2006 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 20. Aug. 2015 00:57 <-- editieren / zitieren --> Unities abgeben: Nur für StefanNie
Hallo Stefan, es gibt leider keinen einfachen Weg über die API das Konstruktionsjournal zu öffnen, das Konstruktionsjournal ist einfach nur ein OLE Objekt wie jedes andere auch und muß auch so geöffnet werden, das wiederum ist auch nicht so einfach wie es klingt da dieses nicht über den Namen geöffnet werden kann. Meine Variante mein Konstruktionsjournal zu öffnen um hier automatisiert etwas eintragen zu lassen ist folgender: 1. Alle OLE Objecte ermittel 2. Alle OLE Objecte durchgehen und schauen welches Programm zugeordnet ist (Anhand der CLSID) 3. Ist CLSID diese von WORD dann dieses Objekt öffnen 4. Prüfen ob es auch das Konstruktionsjournal ist und nicht ein anderes WORD OLE Objekt (Hierzu hab ich eine Variable in der Vorlage definiert die auf vorhandensein geprüft wird) 5. Wenn das OLE Objekt das KJ ist, Information eintragen und schließen und im Macro die Schleife verlassen, wenn nicht nur schließen und Schleife weiterlaufen lassen. Problem an der ganzen Sache ist das Rausfinden der CLSID von WORD die auf den jeweiligen PC verwendet wird, momentan muß ich die möglichen CLSIDs der Anwender manuell in einer Extra Datei pflegen mit der die CLSID des OLE Objekts abgeglichen wird, da das ermitteln der CLSID zu einer Anwendung während der Laufzeit leider nicht so einfach ist. Des weitern würdest du hier wohl nur eine Einzelne PDF erstellen können die du in einem extra Schritt noch mit der PDF der Zeichnung verbinden müsstest. Also alles in Allem denkbar aber nicht ganz so einfach und paar Krücken sind dann auch drin. 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 |
StefanNie Mitglied Konstrukteur und CAD-Administrator
Beiträge: 74 Registriert: 07.03.2005 SW2023 SP3.0 mit DBWorks R23
|
erstellt am: 21. Aug. 2015 12:40 <-- editieren / zitieren --> Unities abgeben:
Hallo und vielen Dank. Das mit dem einzelnen PDF wäre in Ordnung. Allerdings sind die Anzahl der Schritte und Abfragen natürlich heftig. Befürchte, das ich es nicht sauber, krisensicher und einfach administrierbar für unsere Arbeitsplätze hinbekomme (ca. 50). Aber dafür kannst du ja nichts. Ich denke, dann wird doch die Ablage der Dokumente in SAP oder im PDM (DBWorks) der sicherere Weg sein. Vielen Dank!!!! ------------------ Stefan CSWP 2006 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 22. Aug. 2015 05:00 <-- editieren / zitieren --> Unities abgeben: Nur für StefanNie
Hi Stefan, ist garnicht so schlimm wie es klingt (ohne einstieg sogar schliemer),ich versuch mal meine macro-teile zu posten, aber dauert noch.(hab noch Urluab) Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 22. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Mitarbeiter Arbeitsvorbereitung (m/w/d) | Hallo, wir sind Kletterparadies. Als Teil der international agierenden eibe-Gruppe planen, entwickeln und realisieren wir verblüffende und kindgerechte Spielwelten für drinnen und draußen. Mit Herz, Hand und planerischer Finesse verwirklichen hier in Dresden unsere rund 45 Mitarbeiter*innen Kinderfantasien aus Holz. Unsere Kernkompetenz liegt in großen, einzigartigen Spielwelten ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 24. Aug. 2015 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für StefanNie
Hallo Stefan, anbei mein Schnipsel dazu, diese sind aber auf EXCEL OLE aufgebaut was aber keinen großen Unterschied machen sollte. Und in hier arbeite ich auch noch mir statischen CLSID's. Modul Main:
Code:
'Hier wird nur die Userform gestartet Option ExplicitSub main() ufStart.Show End Sub
Modul SWX:
Code: 'In diesem Modul werden alle SWX Handles durchgeführtOption Explicit Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swModelDocExt As SldWorks.ModelDocExtension Dim ProgCLSID As String Dim vOleObjs As Variant Dim swOLEObj As Object Dim i As Integer Dim boolstatus As Boolean Dim lErrors As Long Dim lWarnings As Long Const ExcelCLSID As String = "{XXXXXXXX-XXXX-XXXX-C000-000000000046}" 'Hier muss die CLSID für Excel rein Const WordCLSID As String = "{XXXXXXXX-XXXX-XXXX-C000-000000000046}" 'Hier muss die CLSID für Word rein Sub Initialisation() Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc If swModel Is Nothing Then MsgBox "Es ist kein Dokument geöffnet", vbCritical, "ungültiges Dokument" End ElseIf swModel.GetType <> swDocDRAWING Then MsgBox "Es ist keine Zeichnung geöffnet", vbCritical, "ungültiges Dokument" End Else Set swModelDocExt = swModel.Extension End If End Sub Function openOLE(ByRef OLEName As String, ByRef OLEType As String) As Object If OLEType = "EXCEL" Then ProgCLSID = ExcelCLSID ElseIf OLEType = "WORD" Then ProgCLSID = WordCLSID Else Exit Function End If vOleObjs = swModelDocExt.GetOLEObjects(0) For i = 0 To UBound(vOleObjs) If vOleObjs(i).CLSID = ProgCLSID Then Set swOLEObj = vOleObjs(i).SetActive(True) If OLE.checkOLE(OLEName, swOLEObj) = False Then closeOLE Else Exit For End If End If Next i Set openOLE = swOLEObj End Function Function closeOLE() Set swOLEObj = vOleObjs(i).SetActive(False) Set swOLEObj = Nothing End Function
Modul OLE:
Code: 'In diesem Modul werden alle EXCEL OLE Handles durchgeführt (prüfen und schreiben)Option Explicit Dim xlsOLEWorkbook As Object Dim xlsOLESheet As Object Sub writeOLE(ByRef OLEName As String, ByRef OLEObj As Object) If OLEName = "Beispielname" Then Set xlsOLEWorkbook = OLEObj Set xlsOLESheet = xlsOLEWorkbook.Worksheets("Beispiel") xlsOLESheet.Cells(1, 1).Value = "TEST" Set xlsOLESheet = Nothing Set xlsOLEWorkbook = Nothing ElseIf OLEName = "Beispielname2" Then Set xlsOLEWorkbook = OLEObj Set xlsOLESheet = xlsOLEWorkbook.Worksheets("Beispiel2") xlsOLESheet.Cells(1, 1).Value = "TEST2" Set xlsOLESheet = Nothing Set xlsOLEWorkbook = Nothing End If End Sub Function checkOLE(ByRef OLEName As String, ByRef OLEObj As Object) As Boolean If OLEName = "Beispielname" Then Set xlsOLEWorkbook = OLEObj Set xlsOLESheet = xlsOLEWorkbook.Worksheets("Beispiel") If xlsOLESheet.Cells(1, 2).Value = "Beispieltext" Then checkOLE = True Else checkOLE = False End If Set xlsOLESheet = Nothing Set xlsOLEWorkbook = Nothing ElseIf OLEName = "Beispielname2" Then Set xlsOLEWorkbook = OLEObj Set xlsOLESheet = xlsOLEWorkbook.Worksheets("Beispiel2") If xlsOLESheet.Cells(1, 2).Value = "Beispieltext2" Then checkOLE = True Else checkOLE = False End If Set xlsOLESheet = Nothing Set xlsOLEWorkbook = Nothing End If End Function
Userform ufStart:
Code: Private Sub CommandButton1_Click() Dim OLEObj As Object Set OLEObj = SWX.openOLE("Beispielname", "EXCEL") If Not OLEObj Is Nothing Then Call OLE.writeOLE("Beispielname", OLEObj) Call SWX.closeOLE End If EndEnd Sub
Mein Code is auf mehrer Module aufgeteil, je nach dem in welchem Programm (Objekt) etwas ausgeführt wird. Gruß Bernd
------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 24. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |