| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Performance Tools für große Baugruppen & Zeichnungen |
Autor
|
Thema: Drucken mit Username, Datum und Uhrzeit (2781 mal gelesen)
|
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 29. Jun. 2007 14:24 <-- editieren / zitieren --> Unities abgeben:
Hallo miteinander! Habe ein Problem. Ich möchte beim ausdrucken von meinen Zeichungen, dass das Datum, die Uhrzeit und der Username draufsteht. Diese Funktion gibts beim OneSpaceDesigner von CoCreate. Damit habe ich gute erfahrungen gemacht. Kann mir jemand dabei helfen ein Makro zu erstellen? ( Ich persöhnlich bin kein Makro guru! ) Im anhang ist ein Makro mit dem man den User ermitteln kann. Besten Dank für eure Hilfe! Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Trasch Mitglied Konstrukteur
Beiträge: 54 Registriert: 09.01.2007 hp Workstation xw4200 3,6 GHz / 2G Ram 120GB Samsung SATA SWX 2007 SP2.2 PDMW 2007 WIN XP SP2
|
erstellt am: 29. Jun. 2007 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
HI Thyssen, klicke einfach im Feld der Druckeroptionen auf "Dokumentenoptionen", dann wählst du die Dinge aus die du haben möchtest und ab geht die Post. Allerdings ist hier kein Username drinnen, aber ich sehe keine Notwendigkeit den User, der es ausdruckte, mit seinem Namen zu verewigen. Um das ganze beim nächsten mal nicht wieder auszuwählen, lege dir einfach einen neuen Drucker im Windows an, und dem verpasst du deine Einstellungen. lg florian ------------------ Es funktioniert alles so lange, bis es nicht mehr funktioniert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 29. Jun. 2007 14:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Florian, besten Dank, diese Funktion kenne ich. Ich möchte das Datum aber auf einer anderen Position. Wichtig für mich währe die Uhrzeit! Es besteht auch die möglichkeit mit einer Skizze das Datum zu ermitteln, aber dann fehlt wiederum die Uhrzeit. Ich glaube die Uhrzeit und der User zu ermiteln müsste kein grosses Problem darstellen für einer, der sich mit Makros auskennt. (vieleicht liege ich auch falsch) Nochmales Danke, Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 29. Jun. 2007 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
Hallo Thyssen Anbei ein Vorschlag.. Es wedern zwei neue Benutzerdefinierte Eigenschaften erzeugt (Datum,Zeit = "Print Time" & Benutzername = "Print User") und die Zeichnung wirdausgedruckt. Um es auf der Zeichnung zu sehen, müssen vorher zwei neue Texte erstellt werden mit dem Inhalt $PRP:"Print Time" und $PRP:"Print User". Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 29. Jun. 2007 15:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Henry, so wie es du beschrieben hast, gefällt mir gut. Nur schade das ich es nicht aufs Papier kriege! Habe die Texte erstllt und dann jeweils das Makro gestartet! gedruckt wurde es, aber ohne Datum und User! Aber Trotztdem danke für deine Bemühung! Schönes Wochenende! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 4383 Registriert: 15.06.2007 SW 2007 SW 2018 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64 3,4 GHz, 8GB, ATI FIRE PRO V7800, WIN 10 Pro
|
erstellt am: 29. Jun. 2007 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
Hi Thyssen, Wenn schon, dann muß man die restliche Arbeit auch machen - sprich das Blatformat bearbeiten, sprich über Beziehungshinweis mit der Dokumentvariable verknüpfen und im Blattformatt abspeichern. Das ganze Spiel für alle Blattformate. Gutes Makro! G. myca ------------------ [Diese Nachricht wurde von myca am 29. Jun. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 4383 Registriert: 15.06.2007 SW 2007 SW 2018 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64 3,4 GHz, 8GB, ATI FIRE PRO V7800, WIN 10 Pro
|
erstellt am: 29. Jun. 2007 16:42 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
|
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 02. Jul. 2007 07:11 <-- editieren / zitieren --> Unities abgeben:
He Myca! Das ist genau das was ich suche!! Die Texte hab ich erstellt! Aber das ausführen des Makros geht nicht! => bei Verknüpfungen zu Eigenschaften finde ich UserPrint nicht! Habe deshalb $PRP:"Print User" hineinkopiert! Hoffe das du mir weiterhelfen kanst! Besten Dank im voraus! Gruss
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 02. Jul. 2007 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
Hallo Thyssen Das Problem liegt bei den Verweisen. Gehe wie folgt vor... In Solidworks: Extra -> Makro -> Bearbeiten... drücken und Makro laden. Im Visual basic Editor: Extra -> Verweise... und dort runterscrollen bis du "Visual Basic For Application" siehst, vor dem ersten ein Kreuz machen und OK drücken. Fehlermeldung bestätigen und Makro speichern. Nun sollte es gehen Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 02. Jul. 2007 08:56 <-- editieren / zitieren --> Unities abgeben:
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 02. Jul. 2007 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
OK, noch ein Versuch... Estelle ein neues, leeres Makro und kopieren den Code dort hinein... Code: ' Es wedern zwei neue Benutzerdefinierte Eigenschaften erzeugt ("Print Time" & "Print User") ' Um es auf der Zeichnung zu sehen, müssen zwei neue Texte erstellt werden mit dem Inhalt ' $PRP:"Print Time" ' und ' $PRP:"Print User" 'Option Explicit Public swApp As Object Dim Doc As Object Dim retval As Boolean Dim bret As Boolean Dim Länge As Long Dim User As String Dim Buffer As String * 100 Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Sub main() Set swApp = CreateObject("SldWorks.Application") Set Doc = swApp.ActiveDoc ' Error handler for no document loaded If Doc Is Nothing Then MsgBox "No document loaded!", vbCritical: End ' Error handler for document not being a drawing If Doc.GetType = 3 Then ' Assign the current time and date to custom property retval = Doc.DeleteCustomInfo("Print Time") retval = Doc.AddCustomInfo("Print Time", "Text", Now) 'Get User Name Länge = 100 GetUserName Buffer, Länge User = Left(Buffer, Länge - 1) ' Assign the current user to custom property retval = Doc.DeleteCustomInfo("Print User") retval = Doc.AddCustomInfo("Print User", "Text", User) ' Refresh drawing display to show updated time and date retval = Doc.ForceRebuild3(False) End If 'Print bret = Doc.PrintOut2(0, 0, 1, False, 0, 0, False, 0) End Sub
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 02. Jul. 2007 09:17 <-- editieren / zitieren --> Unities abgeben:
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 02. Jul. 2007 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
Das Verstehe ich auch nicht. Eigendlich sollte die Zeichnung auf den Drucker, der in ->Datei->Drucken... eingestellt ist, gedruckt werden. Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 02. Jul. 2007 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
Hallo Thyssen, guck doch mal bitte, ob im Anschluß an das Ausführen des Makros die Dateieigenschaften "Print User" und "Print Time" in Deinem aktiven Dokument da und gefüllt sind. Dann könntest Du noch überprüfen, ob in den Texten auf dem Zeichnungsblatt die Eigenschaften aus dem Zeichnungsdokument (richtig, "$PRP@Print user") oder evtl. fälschlicherweise aus dem Modell ("$PRPSHEET@Print user") geholt werden. Tja, und dann könnte Dein Text noch auf einem Layer liegen, den Du mal kurz ausgeschaltet hast, um uns ein Rätsel zu stellen?! ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? [Diese Nachricht wurde von Lutz Federbusch am 02. Jul. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 02. Jul. 2007 10:25 <-- editieren / zitieren --> Unities abgeben:
Habe ein Video gemacht, so gehe ich vor! Korrigiert mich fals ich es falsch gemacht habe! Nach dem ich das Makro gestartet habe, ist kein Blatt ausgedruckt worden und in der Zeichung wird nichts aktualisiert! Wie ihr auch sieht, ich habe aus verzweifelung verschiedene Varianten getestet! alle ohne erfolg!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mc Fly Mitglied Masch-bautechniker
Beiträge: 254 Registriert: 03.11.2003 Win7 Prof SP1 X64 Intel Xeon W3670 16GB RAM SWX 2011 SP5 ** CSWP 10/07 **
|
erstellt am: 02. Jul. 2007 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
Hallo Thyssen, ich habe dir das Makro erzeugt und oben hingeschrieben was Du in das Blatt kopieren mußt. Bei mir ging's auf Anhieb. Gruß Mc Fly ------------------ Ich sehe in jedem Mensch zuerst das positive, enttäuscht werde ich noch früh genug. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thyssen Mitglied Konstrukteur
Beiträge: 24 Registriert: 29.06.2007 SWX 2006 P4 CPU 3.4GHz 2.00 GB RAM
|
erstellt am: 02. Jul. 2007 11:10 <-- editieren / zitieren --> Unities abgeben:
He Leute!! Es hat geklappt!! Danke an alle für eure Bemühungen!!!! Ihr seid supper!!! => Kann man das Makro mit der ok Taste des Druckfesters verknüpfen damit mann nicht jedes mal das Makro betätigen muss? [Diese Nachricht wurde von Thyssen am 02. Jul. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 4383 Registriert: 15.06.2007 SW 2007 SW 2018 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64 3,4 GHz, 8GB, ATI FIRE PRO V7800, WIN 10 Pro
|
erstellt am: 02. Jul. 2007 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für Thyssen
|