Nous allons créer un code en VBA sur AutoCAD pour insérer un texte sur un dessin.

Ouvrir l’éditeur Visual Basic

Sur AutoCAD, dans l’onglet Gérer, cliquer sur le bouton Éditeur Visual Basic pour ouvrir l’éditeur.

Création de la macro pour ajouter un texte

Initialisation de la macro

Tout d’abord, il faut créer les variables qui nous seront utiles dans la macro.

  • Text correspond à la zone de texte
  • Texteaecrire correspond au texte que nous souhaitons insérer
  • Pointinsertion correspond au point d’insertion de la zone de texte
  • Hauteur correspond à la hauteur de texte que nous souhaitons avoir
Dim Text As AcadText
Dim Texteaecrire As String
Dim PointInsertion(0 To 2) As Double
Dim Hauteur As Double

Ensuite, nous créons les boîtes de dialogue qui permettront de saisir le texte à insérer ainsi que la hauteur de ce texte.

Pour cela, on utilise la commande InputBox comme ci-dessous

Texteaecrire = InputBox("Que souhaitez vous écrire ?", "Texte à écrire", "Mon texte")
Hauteur = InputBox("Quelle hauteur de texte souhaitez-vous ?", "Hauteur de texte", 100)

Le premier paramètre de la commande sera le texte de la boîte de dialogue, le deuxième sera le titre de la boîte de dialogue et le troisième sera une valeur prédéfinie de réponse comme nous pouvons le voir ci-dessous.

Création et positionnement de la zone de texte

Après cela, nous définissons le point d’insertion de la zone de texte avec le code suivant.

PointInsertion(0) = 1000 'coordonnée x
PointInsertion(1) = 1000 'coordonnée y
PointInsertion(2) = 0 'coordonnée z

Pour insérer le texte, nous utilisons la ligne de code ci-dessous :

Set Text = ThisDrawing.ModelSpace.AddText(Texteaecrire, PointInsertion, Hauteur)

Le premier paramètre de cette commande sera le texte à écrire, le deuxième sera le point d’insertion et le troisième sera la hauteur du texte.

Fin de la macro

Enfin, nous faisons apparaître une message dans une boîte de dialogue qui confirme la bonne exécution du programme à l’aide de la commande MsgBox :

Messagedereussite = MsgBox("Votre texte a bien été inséré", 0, "Succès !")

Le premier paramètre est le message de la boîte de dialogue, le deuxième est le type de boîte de dialogue à utiliser et le troisième est le titre de la boîte de dialogue.

On obtient la boîte de dialogue suivante :

Au final, nous obtenons le code suivant et nous pouvons exécuter la macro :

Sub AjoutText()
Dim Text As AcadText
Dim Texteaecrire As String
Dim PointInsertion(0 To 2) As Double
Dim Hauteur As Double
' Création de l'objet texte
Texteaecrire = InputBox("Que souhaitez vous écrire ?", "Texte à écrire", "Mon texte")
Hauteur = InputBox("Quelle hauteur de texte souhaitez-vous ?", "Hauteur de texte", 100) ' Hauteur du texte
PointInsertion(0) = 1000 'coordonnée x
PointInsertion(1) = 1000 'coordonnée y
PointInsertion(2) = 0 'coordonnée z
Set Text = ThisDrawing.ModelSpace.AddText(Texteaecrire, PointInsertion, Hauteur)
Messagedereussite = MsgBox("Votre texte a bien été inséré", 0, "Succès !")
End Sub

Exécution de la macro

Une présentation de l’exécution de la macro est réalisée ci-dessous :

Utilisation de la macro AjoutTexte

Catégories : CADTutorielVBA

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *