Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

Ce que j’ai lu sur ce site et plus particulièrement sur le forum AutoCAD 2004, les différentes discussions avec les autres membres et des gens comme Patrick_35, Tramber, bonuscad, Krynn, … et j’en oublie (qu’il me pardonnent), m’ont donné envie « d’essayer » d’apprendre la programmation LISP. :casstet:

Pouvez-vous me conseiller par quel bout commencer, quel documentation me procurer, etc.

Merci bien d’avance.

" Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres "

Posté(e)

Ou encore un autre dans lequel j'évoque un bouquin en francais.

 

Eyrolles prévoie d'en sortir un sur la prog dans la série du dernier ouvrage AutoCAD3D

A suivre

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)
Tramber va venir chez toi te donner des cours particuliers :o :o :D

 

Surtout si tu es jolie ;)

humhmhm

 

Mais je programme beaucoup sans être un champion. Plutôt lourdau même, faut pas croire.

 

Si tu lis l'anglais, j'ai d'autres livres à te conseiller. C'est le cas ?

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)
avec les autres membres et des gens comme Patrick_35, Tramber, bonuscad, Krynn, … et j’en oublie (qu’il me pardonnent),

 

Parmis les stars du lisp, ya aussi Gile :D

Posté(e)

Merci Boris, mais "star" ... :red:

 

... n'exagérons rien, juste ex-débutant passionné et bavard.

 

À propos de star, pour salvanorigatore, un de mes premiers LISP, auquel j'ai rajouté force commentaires, il est très facile à comprendre. Si je peux rajouter un conseil, ne pas hésiter à consulter l'aide sur les fonction AutoLISP, en plus, çà pousse à se remettre à l'anglais:

 

;;; C:STAR Crée une étoile à 5 branches - 10/04/05 -

(defun c:star (/ v c a d s1 s2 s3 s4 s5 s6 s7 s8 s9 s10)

 ;; Enregistrement de la valeur initiale de OSMODE
 (setq v (getvar "osmode"))

 ;; Début du groupe UNDO
 (command "_undo" "_begin")

 ;; Entrées utilisateur
 (initget 1)
 (setq c (getpoint "\nSpécifiez le centre de l'étoile: "))
 (initget 1)
 (setq s1 (getpoint c "\nSpécifiez le sommet d'une des branches: "))

 ;; Désactivation des accrochages aux objets
 (setvar "osmode" 0)

 ;; Calcul des sommets
 (setq	a   (angle c s1)
d   (distance c s1)
s3  (polar c (+ a (/ (* 2 pi) 5)) d)
s5  (polar c (+ a (/ (* 4 pi) 5)) d)
s7  (polar c (+ a (/ (* 6 pi) 5)) d)
s9  (polar c (+ a (/ (* 8 pi) 5)) d)
s2  (inters s3 s9 s1 s5)
s4  (inters s1 s5 s3 s7)
s6  (inters s3 s7 s5 s9)
s8  (inters s5 s9 s1 s7)
s10 (inters s1 s7 s3 s9)
 )

 ;; Création de la polyligne
 (command "_pline" s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 "_close")

 ;; Fermeture du groupe UNDO
 (command "_undo" "_end")

 ;; Restauration de la valeur initiale de OSMODE
 (setvar "osmode" v)

 ;; Fin "silencieuse"
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)
Parmis les stars du lisp, ya aussi Gile :D

 

Star, star,...attends si ca tombe c'est un autre avec un second pseudo (pfff).

Il était où il y a un an, chez la concurrence (pfff pfff) !? C'est peut-être juste une étoile filante. Un homme de scène comme un autre (clin d'oeil). Fais-nous une étoile qui clignote et on en reparle. Ici c'est pas la télé non mais.

 

Et Didier, et Serge et Rimbo qui a quand même livré des cours qui sont dans la rubriquetéléchargement alors que c'était un débutant en arrivant ici. Christian aussi en a créé (des cours) mais je sais plus où on les trouve.

 

Des lispeurs, y en a + qu'on croit.

 

Y a aussi Oli553 a qui j'ai vendu (pour une somme modique) le bouquin de personnalisation de la R13. On attend toujours qu'il s'y mette remarquez. :cool:

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

Bonjour à tous,

Je savais que j’en oubliais mais j’avais prévenu… :yltype:

Bon merci beaucoup quand même les gars, je regarderais tout ça ce week-end.

J’espère seulement que connaître l’anglais n’est pas « indispensable » pour apprendre le lisp sinon je suis mal barré… :mad2:

Ciao.

" Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres "

Posté(e)

Y a aussi Oli553 a qui j'ai vendu (pour une somme modique) le bouquin de personnalisation de la R13. On attend toujours qu'il s'y mette remarquez. :cool:

 

Gnagnagna....et je t'en remerci encore

Remarque (aussi) : Un licenciement pour cause économique, un mois actif de recherche d'emploi (en plein juillet) et un redémarrage sur les chapeau de roue depuis aout... :P durdur de trouvé le temps de si mettre. Mais c'est promit, je m'y met dés que je trouve le temps de lancé la machine pour la formation continue...

Vous connaitriez pas de bon formateur en Lisp, VBA...et reconnu par le centre de formation dont je doit dépendre (Paris et Idf)

 

Pour Gile : merci pour ton lisp, comme cela, c facile de comprendre, aprés il faut juste s'entrainé et en faire. ;)

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Posté(e)

Bjr,

 

alors moi, toutes les petites routines que je développe (grand mot) sont souvent éditées comme Gile avec des commentaires.

Pour ma part, j'ai pris des petits progs existants que j'ai décripté et étudié le language en me référant au guide lisp autocad et à l'aide. Puis modifs de ces progs pour voir les divers résultats.

J'avoue cela fut laborieux car j'étais tout seul à m'intéresser à ce sujet dans cet ex-entreprise à l'époque.

 

Bon courage.

 

un petit exemple pour la route...

 

; CRAY3P.LSP

 

;COTATION D'UNE DEVELOPPEE D'UN ARC PAR

;LA COMMANDE COTATION ANGULAIRE

;SELECTION DU 1ER SOMMET

;SELECTION DU 2EME SOMMET

;SELECTION DU CENTRE

 

(defun DEVE2 ()

(setq attri nil)

(setq ent1 nil)

;selection du premier sommet

(setq p1 (getpoint "\n\t 1er sommet : "))

;selection du second sommet

(setq p2 (getpoint "\n\t 2eme sommet : "))

;selection du centre

(setq pc (getpoint "\n\t Centre : "))

;calcul du gisement

(setq gisem (angle p1 p2))

(setq val2 (* 63.66197724 gisem))

(setq val1 (- 300 val2))

;trace de l'arc qui sera effacer a la fin

(command "arc" p1 "F" p2 pc)

(setq attri (entlast))

;attribution des caracteristiques de la liste de l'arc a ent1

(setq ent1 (entget attri))

;attribution de la valeur du rayon en recherche dans liste ent1

(setq rayon (cdr (assoc 40 ent1)))

;attribution de la valeur de l'angle de depart en recherche dans liste ent1

(setq alpha1 (cdr (assoc 50 ent1)))

;attribution de la valeur de l'angle de fin en recherche dans liste ent1

(setq alpha2 (cdr (assoc 51 ent1)))

;calcul de l'angle de l'arc

(setq alpha (- alpha2 alpha1))

;test

(setq test1 (- alpha2 alpha1))

(if (< test1 0)

(progn

(setq alpha (- alpha1 alpha2))

(setq alpha (- 6.28318531 alpha))

)

)

;calcul de la developpe

(setq val (* alpha rayon))

(princ "\ COTATION DE LA DEVELOPPEE ")

(command "effacer" (entlast) "")

(command "cot" "ang" "" pc p1 p2 pause (rtos (abs val) 2 3) "")

(command "_trotate" val1 "dernier" "" "sortie")

(princ)

(command "redess")

)

 

(defun c:c3 ()

(setq sblip (getvar "blipmode"))

(setq scmde (getvar "cmdecho"))

(setvar "blipmode" 0)

(setvar "cmdecho" 0)

(DEVE2)

; (command "scu" "o" pori)

(setvar "blipmode" sblip)

(setvar "cmdecho" scmde)

(princ)

)

 

(princ "\n LA COMMANDE EST CHARGEE. TAPER \"c3\" ")

 

 

Posté(e)

Fais-nous une étoile qui clignote et on en reparle. Ici c'est pas la télé non mais.

 

Et bien, voilà, LA PISTE AUX ÉTOILES ...

 

Attention ce LISP n'est pas du tout un bon exemple pour les débutants, le style est particulièrement lourdingue, mais c'est le moyen employé pour avoir des clignotements.

 

J'ai quand même fait l'effort de le commenter, puisque d'aucuns apprécient.

 

Charger le code, taper STARS et attendre que çà finisse (c'est pas trop long).

 

(defun c:stars (/ draw_star icon color star_lst ang col star n)

 ;; sous-routine pour la création d'une étoile
 (defun draw_star (cen ang dist / s1 s2 s3 s4 s5 s6 s7 s8 s9 s10)
   (setq s1  (polar cen ang dist)
  s3  (polar cen (+ ang (/ (* 2 pi) 5)) dist)
  s5  (polar cen (+ ang (/ (* 4 pi) 5)) dist)
  s7  (polar cen (+ ang (/ (* 6 pi) 5)) dist)
  s9  (polar cen (+ ang (/ (* 8 pi) 5)) dist)
  s2  (inters s3 s9 s1 s5)
  s4  (inters s1 s5 s3 s7)
  s6  (inters s3 s7 s5 s9)
  s8  (inters s5 s9 s1 s7)
  s10 (inters s1 s7 s3 s9)
   )
   (command "_.pline" s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 "_close")
 )					; fin de defun

 ;; Fonction principale

 ;; Début du groupe UNDO
 (command "_.undo" "_begin")

 ;; Sauvegarde des valeurs initiales de CECOLOR et UCSICON
 (setq	color (getvar "cecolor")
icon  (getvar "ucsicon")
 )

 ;; Désactivation de l'accrochage aux objets
 (setvar "osmode" (+ (getvar "osmode") 16384))

 ;; Suppressin de l'affichage de l'icone SCU
 (setvar "ucsicon" 0)

 ;; Définition de l'angle et de la couleur de départ
 (setq	ang (/ pi 2)
col 1
 )

 ;; Réglage du zoom
 (command "_.zoom" "_w" '(-120 -80) '(120 80))

 ;; 50 tours
 (repeat 50

   ;; Création des 10 étoiles en cercle
   (repeat 10
     (command "_.-color" col)		; Changement de couleur
     (draw_star (polar '(0 0) ang 50.0) ang 10.0); Création d'une étoile
     (setq star_lst (cons (entlast) star_lst)); Récupération de l'entité créée
     (command "_.hatch" "_s" (entlast) "") ; Hachurage "solide"
     (setq star_lst (cons (entlast) star_lst))
     (setq ang	(+ ang (/ pi 5))	; Incrémentation de l'angle,
    col	(cond			; et de la couleur
	  ((zerop (rem (+ col 1) 6))
	   6
	  )
	  (T (rem (+ col 1) 6))
	)			; fin de cond
     )					; fin de setq
   )					; fin de repeat 10

   ;; Efface les entité créées (clignotement)
   (repeat (setq n 20)
     (command "_.erase" (nth (setq n (1- n)) star_lst) "")
   )
   (setq star_lst nil)

   ;; Crée ou efface l'étoile centrale (1 tour sur 2)
   (cond
     (star
      (command "_.erase" star "")
      (setq star nil)
     )
     (T
      (draw_star '(0 0) (/ pi 2) 20.0)
      (setq star (entlast))
      (command "_.hatch" "_s" star "")
      (command "_.erase" star "")
      (setq star (entlast))
     )
   )					; fin de cond
 )					; fin de repeat 50

 ;; Restauration de l'environnement initial
 (command "_.erase" (entlast) "")
 (command "_.undo" "_end")
 (setvar "osmode" (- (getvar "osmode") 16384))
 (setvar "cecolor" color)
 (setvar "ucsicon" icon)
)					; fin de defun

 

[Edité le 27/2/2006 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

J'ai trouvé, Patrick en parle ici et le téléchargement c'est

 

Mais chez moi la fonction ne marche pas vraiment, à l'écran, je ne vois ni clignotement ni changement de couleur et la fenêtre d'AutoCAD (F2) affiche 292 "Commande: _.redraw" :casstet:

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é