Bonjour,
Je travail sous solidworks 2011, j'ai déjà une macro qui m'enregistre mon plan actif, le plan de ma pièce active ou alors l'ensemble des plans de l'assemblage actif, le tout à l'emplacement qui va bien.
Cette macro utilise tout simplement la fonction "enregistrer sous" au format PDF de solidworks (pas d'imprimantes virtuelles type Bullzip ou PDFcréator!)
Mon problème est que j'aimerai faire apparaitre un texte dans mon fond de plan avec écrit "POUR CONSULTATION" si je le souhaite lors du lancement de ma macro PDF.
j'ai tout d'abord pensé à créer un bloc incliné avec la bonne police, la bonne taille, et j'ai essayé de l'ajouter à mon fond de plan par macro. Le problème est que, vu qu'il y a plusieur format de plan a différents formats, la position de bloc inséré ainsi que la taille n'est pas des plus facile a gérer.
J'ai ensuite pensé à tout simplement faire une note sur mon fond de plan (déjà bien positionnée et à la bonne taille) et à tout simplement la faire afficher puis cacher lors lors de l'execution de ma macro si je decide que cette version de plan sera uniquement pour consultation.
Avec un enregistrement j'arrive à cacher ma zone de texte :
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Objet de détail1988@Fond de plan", "NOTE", 0.2884716463644, 0.1501347778362, 0, False, 0, Nothing, 0)
Part.HideDimension
End Sub
Ca marche bien et ce bout de code me donne par la même occasion l'ID de ma zone de texte. Ce qui me permet d'écrire un autre bout de code pour reselectionner ma note.
En revanche, j'ai beau chercher, je ne trouve pas la fonction qui permet de réafficher cette note!!!!!
La selection de la note m'amène à une autre question :
Comment puis-je faire pour controler l'ID d'un objet? car suivant mes différents fonds de plan, l'ID de ma note ne sera surement pas toujours la même (Objet de détail1988@Fond de plan" dans mon exemple ci-dessus)
Désolé, je pose peut-être des questions basiques en VBA SolidWorks mais j'en fait depuis très peu de temps.
Merci d'avance!
Yves