cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
1 mars 2010 à 21:50
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 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
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 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