Aller au contenu

Spline ou spleen...


Messages recommandés

Posté(e)

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 Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

  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.

Posté(e)

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 Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

PointsArray

 

Variant (array of doubles); input-only

An 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.

Posté(e)

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 Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

Variant (array of doubles)

1 point (dans l'array=2)

Pt1 (0) =X

Pt1 (1) =Y

Pt1 (2) =Z

 

At least two points

2 Pts (par ex cliqués à l'écran)

Pt1=2 éléments

Pt2=2 éléments

Ce qui fait :

1e) Pt1 (0) =X

2e) Pt1 (1) =Y

3e) Pt1 (2) =Z

4e) Pt2 (0) =X

5e) Pt2 (1) =Y

6e) Pt2 (2) =Z

Total= 6 éléments et multiple de 3

 

Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.

Posté(e)

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 Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité