Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  Mit weblink Zeichnung plotten

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 PTC CREO
  
BOM Assistant für Stücklistenerstellung , eine App
Autor Thema:  Mit weblink Zeichnung plotten (1449 mal gelesen)
homi
Mitglied



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

Beiträge: 202
Registriert: 16.07.2001

WinXP SP3 32bit
WF3 M160
HP Compaq 8710w
Quadro FX 1600m

erstellt am: 30. Okt. 2008 11:24    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


Fehler.jpg

 
Hallo!

Ich brauch mal die Hilfe beim Thema Weblink.
Ich möchte gerne mit Hilfe von weblink ein Blatt aus einer Zeichnung drucken.
folgendes habe ich jetzt eingefügt, doch irgendwie bringt er mir immer eine Fehlermeldung.

Code:

var session = pfcGetProESession ();
var drawing = session.CurrentModel;
var instrs = pfcCreate ("pfcPlotInstructions").Create("Generisches Postscript");
drawing.Export (drawing.FullName + ".plt", instrs);

Die Fehlermeldung ist angehängt.
Wo ist hier mein Fehler?

------------------
Uwe

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

DirkWK
Mitglied
Mschinenbauingenieur


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

Beiträge: 47
Registriert: 20.10.2008

IBM Thinkpad T61P
WinXP-Prof.
Proe/E 2001 (M440)
Wildfire 2 (M100)
Wildfire 4 (M080)
STools 2009

erstellt am: 30. Okt. 2008 12:49    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 homi 10 Unities + Antwort hilfreich

Ersetze den Druckernamen mal durch "postscript". Dann sollte es funktionieren.

Hier einmal der Code, der bei mir funktioniert:

var session = (pfcCreate ("MpfcCOMGlobal")).GetProESession();
var drawing = session.CurrentModel;
var instrs = new pfcCreate ("pfcPlotInstructions").Create("POSTSCRIPT");
drawing.Export (drawing.FullName + ".plt", instrs);

------------------
Viele Grüße
Dirk

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

homi
Mitglied



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

Beiträge: 202
Registriert: 16.07.2001

WinXP SP3 32bit
WF3 M160
HP Compaq 8710w
Quadro FX 1600m

erstellt am: 30. Okt. 2008 13:35    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

Vielen Dank. Das war die Lösung.

Wie kann ich denn jetzt angeben das er nur die aktuelle Seite drucken soll? In der Hilfe steht dazu

Zitat:
Page Range Choice--One of the PlotPageRange enumeration objects. Default is
PlotPageRange.PLOT_RANGE_ALL

Wie geb ich der Anweisung PlotRangeChoise die Info mit, dass nur das aktuelle Blatt gedruckt werden soll?

------------------
Uwe

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

DirkWK
Mitglied
Mschinenbauingenieur


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

Beiträge: 47
Registriert: 20.10.2008

IBM Thinkpad T61P
WinXP-Prof.
Proe/E 2001 (M440)
Wildfire 2 (M100)
Wildfire 4 (M080)
STools 2009

erstellt am: 30. Okt. 2008 13:54    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 homi 10 Unities + Antwort hilfreich

Wie aus der Hilfe zu entnehmen ist:
Enum pfcPlotPageRange
This enumerated type specifies which pages to plot.
Values
PLOT_RANGE_ALL        Plot all the pages.
PLOT_RANGE_CURRENT    Plot the current page.
PLOT_RANGE_OF_PAGES  Plot a range of pages.
PlotPageRange_nil    Use this enumerated value to represent "null" passed to optional properties or method arguments.

Also:
pfcPlotInstructions.PageRangeChoice = PLOT_RANGE_CURRENT

Ich habe bei uns allerdings eine andere Lösung zum Drucken mit Hilfe von WebLink implementiert. Hierzu definiere ich mir verschiedene Drucker (pcf-Files) und drucke dann per Makro über diese Drucker.

Hier einmal ein Beispiel (PLOTBEFEHL und DRUCKERNAME sind entsprechend anzupassen):

Code:

var filename = "Beipsieldatename.pdf";
var macroString = "~ Activate `main_dlg_cur` `ProCmdWinActivate.win`;" +
"~ Command `ProCmdModelPrint` ;~ Select `print` `CascadeButton1`;" +
"~ Close `print` `CascadeButton1`;~ Activate `print` `DRUCKERNAME`;" +
"~ Close `print` `CascadeButton1`;" +
"~ Update `print` `i_command` `PLOTBEFEHL " + filename + "`;~ Activate `print` `OK`;" +
"~ Activate `Print_file` `OK`;~ Activate `main_dlg_cur` `main_dlg_cur`;";
  session.RunMacro(macroString);

Den Makrostring erhält man am Besten, wenn man einen Mapkey erstellt und dann den entsprechenden Teil aus der config.pro herauskopiert und (modifiziert) übernimmt.
Dies hat den Vorteil, daß der Mapkey nicht in der config definiert sein muß, und daß weblink den Mapkey (hier ja der Macrostring) je nach Erfordernissen noch vor der Ausführung manipulieren kann.

------------------
Viele Grüße
Dirk

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

homi
Mitglied



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

Beiträge: 202
Registriert: 16.07.2001

WinXP SP3 32bit
WF3 M160
HP Compaq 8710w
Quadro FX 1600m

erstellt am: 30. Okt. 2008 14:46    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

Vielen Dank.

Welche Hilfe hast du denn? Ich habe die Datei weblinkug.pdf vom 21.12.2005 in welcher diese Sachen nicht stehen.

------------------
Uwe

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

DirkWK
Mitglied
Mschinenbauingenieur


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

Beiträge: 47
Registriert: 20.10.2008

IBM Thinkpad T61P
WinXP-Prof.
Proe/E 2001 (M440)
Wildfire 2 (M100)
Wildfire 4 (M080)
STools 2009

erstellt am: 30. Okt. 2008 15: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 homi 10 Unities + Antwort hilfreich

Die Hilfe ist in:
PDF-Hilfe: $PROE_INSTALL_DIR\weblink
API-Wizzard: $PROE_INSTALL_DIR\weblink\weblincdoc

------------------
Viele Grüße
Dirk

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

homi
Mitglied



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

Beiträge: 202
Registriert: 16.07.2001

WinXP SP3 32bit
WF3 M160
HP Compaq 8710w
Quadro FX 1600m

erstellt am: 31. Okt. 2008 14:18    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

Ich hab mal noch eine Frage zum Thema weblink.

ich wollte jetzt noch ein Backup funktion einbauen jedoch hängt es bei mir.

ich hab folgendes Probiert:

Code:

  var session = pfcGetProESession ();
  var drawing = session.CurrentModel;

  drawing.Backup ("D:\\ProE_AV\\");


Er bringt immer Typen unverträglich beim .Backup
Was mach ich falsch?

Danke im Voraus.

------------------
Uwe

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

DirkWK
Mitglied
Mschinenbauingenieur


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

Beiträge: 47
Registriert: 20.10.2008

IBM Thinkpad T61P
WinXP-Prof.
Proe/E 2001 (M440)
Wildfire 2 (M100)
Wildfire 4 (M080)
STools 2009

erstellt am: 03. Nov. 2008 09:27    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 homi 10 Unities + Antwort hilfreich

Schönben guten Morgen,

Die Backupfunktion ist lt. API Wizard (wie oben erwähnt) folgendermaßen definiert:

void Backup (pfcModelDescriptor WhereTo)

D.h., daß der übergebene Parameter vom Typ pfcModelDescriptor sein muß.
Der Datentyp ist wiederum im API Wizzard definiert. Also probiere mal pfcModelDescriptor.Path auf den entsprechenden Pfad zu setzen und dann die Funktion aufzurufen.

z.B. (allerdings ungetestet):

Code:

var session = pfcGetProESession ();
var drawing = session.CurrentModel;
var Ziel = new pfcCreate("pfcModelDescriptor");
Ziel.Path = "D:\\ProE_AV\\";
drawing.Backup (Ziel);

Generell würde ich Dir allerdings vorschlagen beim programmieren etwas strukturierter vorzugehen. Damit meine ich, wenn etwas nicht richtig funktioniert erst mal in der Dokumentation nachschauen, wie die Klasse, der Funktionsaufruf mit Parametern etc definiert sind. Hier stellt man (ich fürt mich selbst auch immer wieder) fest, daß sich schnell der ein oder andere Flüchtigkeitsfehler einschleicht.

------------------
Viele Grüße
Dirk

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

homi
Mitglied



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

Beiträge: 202
Registriert: 16.07.2001

WinXP SP3 32bit
WF3 M160
HP Compaq 8710w
Quadro FX 1600m

erstellt am: 03. Nov. 2008 13:57    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 Dirk. Danke für die Antwort, doch leider kommt da immer die Fehlermeldung, dass das Object die Methode oder Eigenschaft nicht unterstützt.

mit folgendem Code greift zumindestens schon mal die Path Eigenschaft. Allerdings gibt es Probleme beim eigentlichen Backup in der letzten Zeile. Dann kommt der Fehler "pfcXUnimplemented"

Code:
  var session = pfcGetProESession ();
  var drawing = session.CurrentModel;
  var Ziel = new pfcCreate("pfcModelDescriptor").CreateFromFileName(drawing.FileName);
 
  Ziel.Path = "D:\\ProE_AV\\";
  drawing.Backup(Ziel);

auch mit drawing.Backup(Ziel.Path); geht es nicht.
Vielleicht hast du dazu noch eine Idee?

------------------
Uwe

[Diese Nachricht wurde von homi am 03. Nov. 2008 editiert.]

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

DirkWK
Mitglied
Mschinenbauingenieur


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

Beiträge: 47
Registriert: 20.10.2008

IBM Thinkpad T61P
WinXP-Prof.
Proe/E 2001 (M440)
Wildfire 2 (M100)
Wildfire 4 (M080)
STools 2009

erstellt am: 03. Nov. 2008 14:39    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 homi 10 Unities + Antwort hilfreich

Hallo Uwe,

folgende Variante sollte funktionieren - zumindest funktioniert's bei mir:

Code:

  var session = (pfcCreate ("MpfcCOMGlobal")).GetProESession();
  var drawing = session.CurrentModel;
  var Ziel = new pfcCreate("pfcModelDescriptor");
  Ziel = drawing.Descr;
  Ziel.Path = "Laufwerk:\\Unterverzeichnis1\\Unterverzeichnis2\\";
  drawing.Backup(Ziel);

Wichtig ist allerdings, daß das Zielverzeichnis schon existiert. Es wird bei Aufruf der Backup-Funktion nicht automatisch angelegt. In einem solchen Fall wird das Script mit einem Fehler unterbrochen.

------------------
Viele Grüße
Dirk

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

anagl
Ehrenmitglied V.I.P. h.c.
 


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

Beiträge: 4566
Registriert: 28.05.2001

CREO2 M140
PDMLink 10.2 M020
HW diverse
Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!

erstellt am: 03. Nov. 2008 15: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 homi 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DirkWK:
Wichtig ist allerdings, daß das Zielverzeichnis schon existiert.

Prüfbar mit FileSystemObject-Objekt mit einem ActiveX-Objekt
siehe http://www.html-world.de/program/fso_3.php#folderexists
HTH

------------------
Servus Alois 

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

homi
Mitglied



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

Beiträge: 202
Registriert: 16.07.2001

WinXP SP3 32bit
WF3 M160
HP Compaq 8710w
Quadro FX 1600m

erstellt am: 03. Nov. 2008 15:54    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

Vielen Dank. Damit funktioniert es.

------------------
Uwe

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