VB6 Tracer une poliligne dans Autocad 2002 - J'y arrive mais...

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 1 mars 2010 à 21:50
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 2 mars 2010 à 13:50
Bonjour

J'ai récupérer un code sur ce site qui trace une poliligne avec des coordonnées alétoires.

J'ai modifié le code afin de lui donne des coordonnées et de pouvoir tracer une polyligne qui se dessine par rapport aux coordonnées entrée par l'utilisateur.

Mon problème est que je réussi à tracer une poliligne mais mon aussitot que j'ai deux segment de dessinné, les polylignes se refermnent pour former un polygone.

Ma question est comment faire pour que les popylignes ne se ferme pas.

Voici mon code... et merci de votre aide


Mon erreur se produit sur la ligne où il y a ce début de code Set AcadPol


Private Sub ExecuterTLBPolyligne_Click()

Dim AzimutDMS As Double
Dim AcadPol As AcadPolyline
Dim pt(0 To 8) As Double

pt(0) = CDbl(txtCoordX_Depart.Text)  'x1
pt(1) = CDbl(txtCoordY_Depart.Text)  'y1
pt(2) = 0 'z1

Degres__ = CDbl(Fix(txtGisement.Text))
Minutes__ = CDbl(Fix((txtGisement.Text - Degres__) * 100))
Secondes__ = CDbl(CDbl((((txtGisement.Text - Degres__) * 100) - Minutes__) * 100))
Etape1 = (((Secondes__ / 60) + Minutes__) / 60) + Degres__
Etape2_Dx = Sin((Etape1 * 3.14159265358979) / 180) * (CDbl(txtDistance.Text))
Etape2_Dy = Cos((Etape1 * 3.14159265358979) / 180) * (CDbl(txtDistance.Text))

pt(3) = CDbl(txtCoordX_Depart.Text) + Etape2_Dx  'x2
pt(4) = CDbl(txtCoordY_Depart.Text) + Etape2_Dy  'y2
pt(5) = 0 'z2

'crée la polyligne
Set AcadPol = autocad.AcadApplication.ActiveDocument.ModelSpace.AddPolyline(pt)
'AcadPol.Color = Int(MyValue1)
'AcadPol.Color = red  'colore la polyligne
'AcadPol.ConstantWidth = Int(MyValue1) / 10 'largeur globale
'###############FIN-code pour la Polyligne##############

'######code pour assurer la visibilité dans Autocad
'zoom etendu dans l application active
autocad.AcadApplication.ZoomExtents
autocad.AcadApplication.Update
'######FIN-code pour assurer la visibilité dans Autocad

Label2.Caption = "Coord X"
Label1.Caption = "Coord Y"
txtCoordX_Depart.Text = pt(3)
txtCoordY_Depart.Text = pt(4)

End Sub

2 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
2 mars 2010 à 10:59
bonjour
tu déclares pt(0 to 8) as long
ce qui signifie que tu vas dessiner une polyline de deux segments
pt(0)à pt(2) origine du premier segment
pt(3)à pt(5) fin du premier segment et origine du second
pt(6)à pt(8) fin du second

et dans ton code tu ne donnes de valeurs qu'aux pt(0) à pt(5)
donc les pt(6) à pt(8) ont pour valeur 0 et donc en toute logique le second segment se finit aux coordonnées 0,0,0

si c'est la solution, penser : REPONSE ACCEPTEE
3
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
2 mars 2010 à 13:50
Merci beaucoup ca fonctionne...
0
Rejoignez-nous