Macro changement d'imprimante

Bonjour,

J'ai un soucit lors du changement de Fond de plan. La mise en page ne se change pas et rest sur les parametre du 1er fond de plan.

Pour "corriger" ce "default" j'ai créé un petite macro qui change le fond de plan puis la mise en page en fonction du fond de plan. Mon probleme est qu'en fonction de la taille du fond de plan on change d'imprimante ce qui met en default ma macro.

Comment faire pour inclure un changement d'imprimante dans une macro???

 

Ou alors comment inclure ce changement de mise en pages lors du changement manuel de fond de plan???

Bonjour,

 

Si j'ai bien compris, tu imprimes du a4 sur une imprimante "A" , et du a3 sur une imprimante "B"?

 

Pourquoi ne pas parametrer directement le fond de plan a3 pour qu'il imprime sur l'imprimante "B" et le a4 sur la "A" ?

 

Ensuite lorsque tu lances ta macro, (j'ai fais la même c'est vachement pratique), vu que tes fonds de plan ont leur propre parametres d'impression, tout fonctionne.

 

Tiens nous au courant ;)

3 « J'aime »

C'est exactement ca que je voulais faire mais j'ai du louper un truc lors de la réalisation du fond de plan car lors du changement de fond plan l'imprimante ne change pas.

1 « J'aime »

Je ne suis pas au boulot, donc je ne peux pas tester....je n'ai pas d'imprimante installée ici

 

Mais si ça ne marche pas, n'hésite pas ;)

Quand tu créé/modifie ton fichier drwdot (donc pas le fond de plan mais le modèle de MEP), il faut régler ta mise en page (fichier/mise en page).

Par contre, si tu changes de taille en cours de route et que donc tu changes le fond de plan (slddrt), je ne crois pas que la mise en page vienne avec.

2 « J'aime »

Bon j'ai refait des essais en refaisant mes fond de plan et l'imprimante n'est pas gardée dans le fond de plan...

 

Comment je crée mes fond de plan : je crée mon DRWDOT ou je renseigne l'imprimante, la mise en page puis dans l'explorateur je fait une copie que je renomme en .SLDDRT

 

Edit: @ stefbeno je confirme que la mise en page ne change pas d'ou la macro que j'essaye de faire... par contre rest le probleme du choix de l'imprimante que je n'arrive pas à implanter dans ma macro...

1 « J'aime »

Tu as essayé de faire une macro en manu et de regarder ce qu'il se passe ?

 

Je veux dire par là, d'enregistrer une macro, de faire la manip puis d'éditer la macro pour voir son fonctionnement (ça ne fonctionne pas toujours, mais on ne sait jamais. Ca aide defois)

2 « J'aime »

Je confirme que ce n'est pas possible, même en passant par une macro

 

Voir ce lien http://help.solidworks.com/2015/English/api/swconst/filepagesetup.htm

 

En gros : "Defined by the operating system or by a specific printer device; there is no SOLIDWORKS API enumeration for these values"

3 « J'aime »

Arf, tu es dur Bart dès le matin comme ça.

 

Celà dit, pour le problème d'origine, je ne comprends pas bien pourquoi ça ne suit pas. En général ca suit tout seul. Et si tu as besoin de faire une mise à l'echelle sur de l'écriture, il y a un message qui apparait pour te poser la question. Peut être as tu cocher "par default" le fait de ne pas le faire ? (outils, option du systeme, avancé)

1 « J'aime »

Là, il veut juste pouvoir avoir une mise en page qui concorde avec le format de la mise en plan, pour ensuite ne pas devoir choisir d'imprimante et d format de papier.

 

Donc je confirme que cela n'est pas possible avec Soldiworks 2014

Merci Bart je connaisais pas le site d'aide API de solid...

Du coup même combat pour ce qui est du choix de l'imprimante : http://help.solidworks.com/2015/English/api/swconst/fileprint.htm  => Not currently available in SOLIDWORKS API

J'avais construit ma macro sur la base d'un enregistrament de macro en manuelle sans trouvez le changement d'imprimante, je comprend mieu pourquoi maintenant.... :'(

1 « J'aime »

En faite, c'est possible, mais que dans certain cas.

 

Certaine imprimante son paramêtrables sous windows pour automatiquement imprimer selon le format voulue.

 

Mais je n'ai jamais rencontré ce cas là...

Bonjour,

A priori c'est possible de choisir l'imprimante par défaut pour un dessin (attention à la casse min MAJ)  :

Gets or sets the default printer for this document.

.NET Syntax

Visual Basic (Declaration) 
Property Printer As System.String
Visual Basic (Usage) 
Dim instance As IModelDoc2
Dim value As System.String
 
instance.Printer = value
 
value = instance.Printer

Source

http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodeldoc2~printer.html

On peut même lancer l'impression directement par la suite :

http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodeldoc2~printdirect.html

 

Et en bonus une macro où a priori il change la mise en page :

https://forum.solidworks.com/thread/60953

Bonjour à tous.je viens ici pour témoigner que tu tentes une mission impossible. Personnellement, je n’ai pas encore trouvé une solution à ce problème mais dès que je trouverais une piste, je reviendrais vers vous pour vous informer.