VBA Aligner un texte Autocad 2002

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 4 mars 2010 à 16:10
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 4 mars 2010 à 17:30
Bonjour à tous

Je débute à coder avec du VBA et Autocad 2002.

À ma grandre surprise j'arrive à faire quelque truc sans trop de problème.

Je code pour tracer une ligne dans autocad 2002 et de mesurer cette ligne. Jusqu'ici ca va très bien. J'entre la distance de la ligne dans un textebox. L'utilisateur a le choix de modifier cette valeur. Ensuite je veux inscrire la mesure sur la ligne.
Je réussi à inscrire une mesure au centre de la ligne mais je n'arrive pas à l'orienter avec la ligne.

Selon moi je dois récupérer les coordonnées des deux sommets de la ligne et ensuite aligner le texte à partir de ces coordonnée mais je trouve rien. ca fais 5-6 heures que je cherche et là, j'arrive dans un impasse.


Si quelqu'un peu me donner un coup de main

merci d'avance

'Variables qui ont les coordonnées des deux sommets de la ligne
'BasePnt1() 
'BasePnt2() 
    
    Dim textObj As AcadText
    Dim textString As String
    Dim insertionPoint(0 To 2) As Double, alignmentPoint(0 To 2) As Double
    Dim height As Double
    Dim oldPDMODE As Integer
    Dim pointObj As AcadPoint
    
    'Trouver le centre de l'insertion
    Dim CentreX As Double
    Dim CentreY As Double
    
    CentreX = (BasePnt1(0) + BasePnt2(0)) / 2
    CentreY = (BasePnt1(1) + BasePnt2(1)) / 2
    '*******************************************
    
        
    ' Define the new Text object
    textString = txtMesure.Text
    
    insertionPoint(0) CentreX: insertionPoint(1) CentreY: insertionPoint(2) = 0
    alignmentPoint(0) CentreX: alignmentPoint(1) CentreY: alignmentPoint(2) = 0
    
    height = 1.5
    
    ' Create the Text object in model space
    Set textObj = ActiveDocument.ModelSpace.AddText(textString, insertionPoint, height)
    textObj.Alignment = acAlignmentBottomCenter
    textObj.TextAlignmentPoint = alignmentPoint
    ActiveDocument.Regen acActiveViewport

1 réponse

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
4 mars 2010 à 17:30
J'ai fini par trouver...

merci quand même...

je me concentrais juste sur aligment mais c'est la fonction Rotation qui règle le problème
0
Rejoignez-nous