| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
 | Wie kann Simulation Ihre Produktentwicklung beschleunigen?, ein Webinar am 07.08.2025
|
Autor
|
Thema: Papierrolle mit API-Funktion setzen (783 mal gelesen)
|
MiKoe Mitglied
 Beiträge: 6 Registriert: 30.03.2007
|
erstellt am: 30. Mrz. 2007 13:50 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe die Aufgabe, per Solid Works API-Funktionen einen ROWE-Plotter anzusteuern. Als Treiber wird ein HP2500CP-Treiber eingesetzt. Das Setzen der PaperId, Orientierung und Skalierung funktioniert schon sehr gut. Was ich jedoch noch nicht gefunden habe, ist die Möglichkeit, auch die Rolle zu setzen. Gibt es eine API-Funktion, die das ermöglicht? Oder hat jemand eine andere Idee? Ich wäre für jede Antwort dankbar! MiKoe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 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: 30. Mrz. 2007 14:41 <-- editieren / zitieren --> Unities abgeben:          Nur für MiKoe
Hallo MiKoe, und herzlich willkommen im SolidWorks Brett auf CAD.de  Schau mal in der API Hilfe nach dem PageSetup Objekt, da steht alles, was SolidWorks an Möglichkeiten für die Seiteneinrichtung bietet. Vielleicht hilft dir die PageSetup.PrinterPaperSource weiter, aber ich weiß es nicht. Im Zweifelsfall musst du über die Windows API gehen, da gibt es eine API namens DeviceCapabilities , damit kommst du an alle Dinge ran, die ggf. nicht allgemein sind sondern nur von bestimmten Drucktertreiber zu Verfügung gestellt werden. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Member of CAD.de BOINC Team - | Seti@Home | CPDN | Einstein@Home Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiKoe Mitglied
 Beiträge: 6 Registriert: 30.03.2007
|
erstellt am: 07. Apr. 2007 21:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, danke für deine Tipps. Geholfen haben sie leider nicht, sowohl mit der SolidWorks-API als auch mit Windows-API-Funktionen scheint es nicht möglich zu sein, die Rolle zu setzen. Ich habe aber inzwischen eine Lösung gefunden. Ob sie allgemein gültig ist, weiß ich allerdings nicht: Ich wende den Trick an, ALLE Formate auf die Papier-ID für A0 zu drucken, egal, ob es sich um ein A4, A3, A2, A1 oder A0 Format handelt. Die Papier-ID stelle ich mit der SolidWorks-API ein. Zusätzlich auch noch die Orientierung. Der Plotter erkennt anhand der Geometiedaten, die er erhält, dass es sich z.B. um ein A1 Format handelt und die Orientierung z.B. "Porträt" ist und nimmt dann die A2-Rolle für die Ausgabe. Gruß, MiKoe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nobby Mitglied Konstrukteur

 Beiträge: 49 Registriert: 15.09.2002 SWX Office.Pro 2006-SP 4 Microsoft Windows XP-SP 2 AMD Athlon 64X2Dual-2 GB RAM ATI Radeon X1600-256 MB
|
erstellt am: 08. Apr. 2007 08:09 <-- editieren / zitieren --> Unities abgeben:          Nur für MiKoe
|
VBSpawn Mitglied Programmierer
  
 Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 08. Apr. 2007 11:32 <-- editieren / zitieren --> Unities abgeben:          Nur für MiKoe
Hi, also wenn es über den Printer.Paperbin nicht funktioniert... dann lege dir doch einfach 5 Drucker an (mit jeweils anderen default Einstellungen der Rollen). Gruß Micha ------------------ Stell dir vor, es geht, und keiner kriegts hin. Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiKoe Mitglied
 Beiträge: 6 Registriert: 30.03.2007
|
erstellt am: 11. Apr. 2007 11:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo Nobby, hier ist die Funktion mit fixen Werten: Public Function SWPrint() Dim objSwApp As Object Dim ObjSwDoc As Object On Error Resume Next Set objSwApp = GetObject(, "SldWorks.Application") If Err Then Err = 0 Set objSwApp = CreateObject("SldWorks.Application") End If Set ObjSwDoc = objSwApp.ActiveDoc Set objSwPageSetup = ObjSwDoc.pagesetup 'Setze Drucker ObjSwDoc.Printer = "\\server\HP" 'Setze PaperID objSwPageSetup.PrinterPaperSource = CInt(9) 'Setzte Orientierung objSwPageSetup.Orientation = CInt(2) ' 1=Portrait '2 = Landscape 'Setzte Skalierung objSwPageSetup.ScaleToFit = 0 'Drucke aus 'IntReturn = ObjSwDoc.PrintOut2(1, 1, 1, False, "", 0#, False, "") ObjSwDoc.PrintDirect End Function Gruß, MiKoe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Nobby Mitglied Konstrukteur

 Beiträge: 49 Registriert: 15.09.2002 SWX Office.Pro 2006-SP 4 Microsoft Windows XP-SP 2 AMD Athlon 64X2Dual-2 GB RAM ATI Radeon X1600-256 MB
|
erstellt am: 11. Apr. 2007 19:09 <-- editieren / zitieren --> Unities abgeben:          Nur für MiKoe
|