VB6 Tracer une poliligne dans Autocad 2002 - J'y arrive mais... [Résolu]

Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- - Dernière réponse : cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- 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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pile_poil
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
Merci beaucoup ca fonctionne...
Commenter la réponse de cs_JeffC1977