Aller au contenu

comment dessiner une spirale en 3d


Messages recommandés

Posté(e)

Salut

 

Je cherche le moyen de dessiner une spirale en 3d, pour faire soit des ressorts, des pas de vis

 

Merci d'avance

michael

Posté(e)

Dans un script, avec des coordonnées cylindriques :

 

poly3D
100100100100......

 

Si tu ne maitrises pas bien Excel et la fonction CONCATENER pour batir des scripts, suis mon lien.

 

Ensuite, tu n'as plus qu'à placer un scu AxeZ sur les 2 premiers points, dessiner un cercle et extruder ;)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

arrrgh

 

Je me suis fait doublé par du lisp :mad:

 

;)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

desolé je ne sias pas faire de lisp et script pour l'instant

mais c'est grave qu'il n'y a pas un moyen par les outils ou par consruction

 

Il faut que je trouve

Et il faut que je me mette au lisp ou vba

 

michael

Posté(e)
qu'il n'y a pas un moyen par les outils ou par consruction

 

Là t'exagères, le code que je t'ai mis sous les yeux et parfait pour ton besoin.

 

Ce sont les coordonnées cylindriques (distance

 

Mais quand tu auras compris que ce que tu tapes au clavier peut-être écrit aussi bien dans un vulgaire bloc-notes enregistré avec l'extension .scr et lancer dans AutoCAD avec la commande SCRIPT, tu diras, ben mince, c'était si bête.

 

Si tu ne fais pas l'effort de suivre mon lien ou autre qui parle de script, tu n'en feras jamais et tu te tartineras ta spirale à la main.

 

:casstet:

 

En toute amitié, tu en as pour une heure ou deux, poses les questions que tu veux dans ce message. Je suis là ces jours-ci.

 

Quand au lisp, bien sur je suis pour puisque j'en fais mon métier, mais chaque chose en son temps.

 

La spirale que je te propose tourne autour du point zéro, tu l'auras compris.

 

 

[Edité le 11/8/2005 par Tramber]

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut,

 

Si d'aventure tu t'essayais au Lisp, je te propose çà pour le ressort et de regarder pour l'hélicoïde. Dans les deux cas il ne s'agit pas d'une "vraie hélice" mais d'une approche avec des arcs ellliptiques jointifs dont le nombre par spire définit la "résolution" de l'hélicoïde.

Posté(e)

merci beaucoup gile

maintenant je vais dechiffrer tout ca , Hé oui si je veux m'y mettre il comprendre donc c'est parti pour la formation perso

michael

Posté(e)

Salut

 

Ce lisp est génial pour creer de rampes d'escalier (colimaçon) en 3D.

Il faut une polyligne, utilisé la commande rectangle par exemple pour un profil de rampe.

 

 

 

; Objet: Génération d'hélice en 3D.

 

; SPIR_REVOL : Génére un maillage "spiralique" suivant l'axe Z du SCU courant

; P1 : Premier point de l'arête (SCU)

; P2 : deuxième point de l'arête (SCU)

; NS : Nombre de spires

; HS : Hauteur d'une spire

; NP : Nombre de points par tour

 

(defun SPIR_REVOL (P1 P2 NS HS NP / P3 P4 NPG i P5 P6 D1 D2 Z1 Z2 AncOsm)

(setq

NPG (* NS NP) ; Nombre de couple de points à générer

Ang (/ (* PI 2) NP)

P3 (list (nth 0 P1) (nth 1 P1)) ; Projection de P1 sur XY

P4 (list (nth 0 P2) (nth 1 P2)) ; Projection de P2 sur XY

D1 (distance '(0 0) P3)

D2 (distance '(0 0) P4)

HS (/ HS 1.0 NP)

i 0

AncOsm (getvar "OSMODE")

)

(if (not (setq Z1 (nth 2 P1))) (setq Z1 0))

(if (not (setq Z2 (nth 2 P2))) (setq Z2 0))

(setvar "OSMODE" 0) ; Désactive l'accrochage aux objets

(command "_3DFACE")

(while (<= i NPG)

(setq

P5 (polar '(0 0) (* Ang i) D1)

P5 (append P5 (list (+ Z1 (* i HS))))

P6 (polar '(0 0) (* Ang i) D2)

P6 (append P6 (list (+ Z2 (* i HS))))

i (1+ i)

)

(if (= (rem i 2) 0)

(command P6 P5) ; i pair

(command P5 P6) ; i impair

)

)

(command "")

(setvar "OSMODE" AncOsm)

(princ)

)

 

(defun GET_POLY_PTS (Ent / Lst Result Elt)

(setq Lst (entget Ent))

(if (= (cdr (assoc 0 Lst)) "POLYLINE")

(while (= (cdr (assoc 0 (setq Lst (entget (setq Ent (entnext Ent)))))) "VERTEX")

(setq Result (cons (cdr (assoc 10 Lst)) Result))

)

)

(if (= (cdr (assoc 0 Lst)) "LWPOLYLINE")

(progn

(foreach Elt Lst

(if (= (car Elt) 10) (setq Result (cons (cdr Elt) Result)))

)

(if (/= (boole 1 (cdr (assoc 70 Lst)) 1) 0)

(setq Result (cons (cdr (assoc 10 Lst)) Result)) ; Polyligne fermée

)

)

)

Result

)

 

(defun c:SPR ( / P1 P2 Ent NS HS NP Points PtsSCU Pt i P3 P4)

(setq

P1 (getpoint "\nPremier point sur l'axe : ") ; Point SCU

P2 (getpoint P1 "\nDeuxième point sur l'axe : ") ; Point SCU

Ent (car (entsel "\nSélectionnez un profil (polyligne) : "))

NS (getint "\nNombre de spires : ")

HS (getdist "\nHauteur d'une spire : ")

NP (getint "\nNombre de points par tour : ")

AncCmd (getvar "CMDECHO")

i 0

)

(setvar "CMDECHO" 0)

(command "_UNDO" "_BE") ; Groupe les opérations pour UNDO

(command "_UCS" "_ZA" P1 P2) ; Oriente le SCU

(setq Points (GET_POLY_PTS Ent)) ; Récupère les points de la polyligne (SC0 si 2D, SCG si 3D)

(foreach Pt Points

(setq PtsSCU (cons (trans Pt Ent 1) PtsSCU)) ; SCO -> SCU

)

(while (< i (1- (length PtsSCU )))

(SPIR_REVOL (nth i PtsSCU) (nth (1+ i) PtsSCU) NS HS NP)

(setq i (1+ i))

)

(command "_UCS" "_P") ; Restaure le SCU de départ

(command "_UNDO" "_E")

(setvar "CMDECHO" AncCmd)

(princ)

)

 

; Dessin d'un filetage M6 (10 filets)

(defun c:TEST ()

(SPIR_REVOL '(2.144 0 0) '(3 0 0.5) 10 1 16)

(SPIR_REVOL '(2.144 0 1) '(3 0 0.5) 10 1 16)

)

 

(prompt "Tout sur AutoCAD - SpiRevol.lsp chargé. Tapez SPR pour réaliser des révolutions \"spiraliques\".")

(princ)

 

 

  • 2 mois après...
Posté(e)

Pour la spirale, type colimaçon, je dessine un cercle que je divise en x points, je fais ensuite un réseau 3d du cercle sur l'axe Z. Ensuite je trace une spline en reliant les points en suivant cette procédure:

cercle 1, point 1

cercle 2 point 2

ect.

C'est artisanal mais pas mal.

 

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é