sechanbask Posté(e) le 29 juin 2007 Posté(e) le 29 juin 2007 Je cherche à comprendre pourquoi je me retrouve avec un point en 0,0 avec cette création de spline (ça vire un peu au cauchemar si on veut faire un getpoint....) Sub spline() Dim splineObj As AcadSpline Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim pins As Variant Dim fitPoints(0 To 11) As Double startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0.5 endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0.5 pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "premier point:") fitPoints(0) = pins(0): fitPoints(1) = pins(1) pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "deuxième point:") fitPoints(2) = pins(0): fitPoints(3) = pins(1) pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "troisième point:") fitPoints(4) = pins(0): fitPoints(5) = pins(1) 'pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "quatrième point:") 'fitPoints(6) = pins(0): fitPoints(7) = pins(1) 'pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "quatrième point:") 'fitPoints(8) = pins(0): fitPoints(9) = pins(1) 'pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "quatrième point:") 'fitPoints(10) = pins(0): fitPoints(11) = pins(1) Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan) End Sub Merci d'avance ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
winfield Posté(e) le 30 juin 2007 Posté(e) le 30 juin 2007 Dim fitPoints(0 To [surligneur] 11[/surligneur] ) As Double Tu t'arrêtes à 5 Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
sechanbask Posté(e) le 30 juin 2007 Auteur Posté(e) le 30 juin 2007 Je ne comprends pas tout car avec : Sub spline() ' This example creates a spline object in model space. ' Create the spline Dim splineObj As AcadSpline Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim pins As Variant Dim fitPoints(0 To 5) As Double startTan(0) = 0.5: startTan(1) = 0.5: startTan(2) = 0.5 endTan(0) = 0.5: endTan(1) = 0.5: endTan(2) = 0.5 pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "premier point:") fitPoints(0) = pins(0): fitPoints(1) = pins(1) pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "deuxième point:") fitPoints(2) = pins(0): fitPoints(3) = pins(1) pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "troisième point:") fitPoints(4) = pins(0): fitPoints(5) = pins(1) 'pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "quatrième point:") 'fitPoints(6) = pins(0): fitPoints(7) = pins(1) 'pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "quatrième point:") 'fitPoints(8) = pins(0): fitPoints(9) = pins(1) 'pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "quatrième point:") 'fitPoints(10) = pins(0): fitPoints(11) = pins(1) Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan) End Sub ça ne me dessine que 2 points qui ne correspondent pas à mes getpoint... je pense que j'ai pas fini d'en baver avec ça... ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
winfield Posté(e) le 30 juin 2007 Posté(e) le 30 juin 2007 PointsArray Variant (array of doubles); input-onlyAn array of 3D WCS coordinates defining the spline curve. At least two points (six elements) are required for constructing a Spline object. The array size must be in multiples of three. Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
sechanbask Posté(e) le 30 juin 2007 Auteur Posté(e) le 30 juin 2007 C'est là que le bât blesse, comment dois-je m'y prendre pour faire une spline de 3 points ?2 points ça fait 6 éléments (????)3 points ça fait 9 éléments ??(???) Je suis un peu coincé...Je ne vois pas comment faire pour les coordonnées du point 1, 2, et 3, car pour moi ça ne représente que 6 valeurs. ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
winfield Posté(e) le 30 juin 2007 Posté(e) le 30 juin 2007 Variant (array of doubles) 1 point (dans l'array=2)Pt1 (0) =XPt1 (1) =YPt1 (2) =Z At least two points 2 Pts (par ex cliqués à l'écran)Pt1=2 élémentsPt2=2 élémentsCe qui fait : 1e) Pt1 (0) =X2e) Pt1 (1) =Y3e) Pt1 (2) =Z4e) Pt2 (0) =X5e) Pt2 (1) =Y6e) Pt2 (2) =ZTotal= 6 éléments et multiple de 3 Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
sechanbask Posté(e) le 2 juillet 2007 Auteur Posté(e) le 2 juillet 2007 bon sang mais c'est bien sûr, j'avais pas pensé à la 3D...merci je testerai ça sous peu.. Merci tu es un chef, chapeau bas, en tout cas je crois que je ne sais pas lire. Voilà le code pour tracer une spline avec 3 points choisis par l'utilisateur via la méthode getpoint :Sub spline() ' This example creates a spline object in model space. ' Create the spline Dim splineObj As AcadSpline Dim startTan(0 To 2) As Double Dim endTan(0 To 2) As Double Dim pins As Variant Dim fitPoints(0 To 8) As Double startTan(0) = 0: startTan(1) = 0 endTan(0) = 0: endTan(1) = 0 pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "premier point:") fitPoints(0) = pins(0): fitPoints(1) = pins(1): fitPoints(2) = 0 pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "deuxième point:") fitPoints(3) = pins(0): fitPoints(4) = pins(1): fitPoints(5) = 0 pins = ThisDrawing.Utility.GetPoint(, vbCrLf & "troisième point:") fitPoints(6) = pins(0): fitPoints(7) = pins(1): fitPoints(8) = 0 Set splineObj = ThisDrawing.ModelSpace.AddSpline(fitPoints, startTan, endTan) End Sub [Edité le 2/7/2007 par sechanbask] ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant