Aller au contenu

besoin de verifier un lisp FX


TPS001

Messages recommandés

Bonjour à toutes et à tous.

 

je ne connais rien sur la programmation lisp et Comme indiqué en titre, j'ai trouvé ce lisp dans une forum c'est un lisp qui créer des gaines flexibles et quand je le charger ,je dessine un ligne et je fais le choix d'objet et quand je selectionne la ligne il me demande duct size et il indique sur la boite de commande les erreurs suivantes :

hoix des objets:

 

Duct size : 100

Commande inconnue "PLINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "PLINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "FX". Appuyez sur F1 pour obtenir de l'aide.

Commande inconnue "LINE". Appuyez sur F1 pour obtenir de l'aide.

; erreur: Fonction annulée

le lisp :

 

(defun dtr(d)

(/ (* d pi) 180)

)

 

(defun rtd®

(/ (* r 180) pi)

)

 

(defun C:FX ()

(setvar "osmode" 0)

(command "ucs" "w")

(setq ar_ents (ssget))

(setq d_sz (getreal "\nDuct size : "))

(setq flex_ctr 0 flex_len (sslength ar_ents))

(repeat flex_len

(setq ar_ent (ssname ar_ents flex_ctr))

(setq ar_data (entget ar_ent)

e_typ (cdr (assoc 0 ar_data)) j_d 50 pt1_lst '() pt2_lst '())

(if (= e_typ "ARC") (progn

(setq ar_rad (cdr (assoc 40 ar_data))

ar_cpt (cdr (assoc 10 ar_data))

s_ang (rtd (cdr (assoc 50 ar_data)))

e_ang (rtd (cdr (assoc 51 ar_data)))

ar_ang (+ (- e_ang s_ang) 360))

(if (>= ar_ang 360) (setq ar_ang (- ar_ang 360)))

(setq a_len (/ (* 2 pi ar_rad ar_ang) 360.0))

(setq n_jo (atoi (rtos (/ a_len j_d) 2 0)))

(setq di_ang (/ ar_ang n_jo 2.0) st_ang s_ang)

(repeat n_jo

(setq pt_1 (polar ar_cpt (dtr st_ang) (- ar_rad (/ d_sz 2.0))))

(setq pt1_lst (append pt1_lst (list pt_1)))

(setq pt_2 (polar ar_cpt (dtr st_ang) (+ ar_rad (/ d_sz 2.0))))

(setq pt2_lst (append pt2_lst (list pt_2)))

(setq st_ang (+ st_ang di_ang))

(setq pt_3 (polar ar_cpt (dtr st_ang) (+ (- ar_rad (/ d_sz 2.0)) (/ j_d 2.0) )))

(setq pt1_lst (append pt1_lst (list pt_3)))

(setq pt_4 (polar ar_cpt (dtr st_ang) (- (+ ar_rad (/ d_sz 2.0)) (/ j_d 2.0) )))

(setq pt2_lst (append pt2_lst (list pt_4)))

(setq st_ang (+ st_ang di_ang))

) (setq pt_1 (polar ar_cpt (dtr st_ang) (- ar_rad (/ d_sz 2.0))))

(setq pt1_lst (append pt1_lst (list pt_1)))

(setq pt_2 (polar ar_cpt (dtr st_ang) (+ ar_rad (/ d_sz 2.0))))

(setq pt2_lst (append pt2_lst (list pt_2)))

))

(if (= e_typ "LINE") (progn

(setq l_stpt (cdr (assoc 10 ar_data))

l_enpt (cdr (assoc 11 ar_data))

l_leng (distance l_stpt l_enpt)

n_jo (atoi (rtos (/ l_leng j_d) 2 0))

j_dis (/ l_leng n_jo 2.0)

f_ang (angle l_stpt l_enpt) lpt_1 l_stpt)

(repeat n_jo

(setq jpt_1 (polar lpt_1 (+ (dtr 90) f_ang) (/ d_sz 2.0)))

(setq pt1_lst (append pt1_lst (list jpt_1)))

(setq jpt_2 (polar lpt_1 (+ (dtr 270) f_ang) (/ d_sz 2.0)))

(setq pt2_lst (append pt2_lst (list jpt_2)))

(setq lpt_1 (polar lpt_1 f_ang j_dis))

(setq jpt_3 (polar lpt_1 (+ (dtr 90) f_ang) (- (/ d_sz 2.0) (/ j_d 2.0))))

(setq pt1_lst (append pt1_lst (list jpt_3)))

(setq jpt_4 (polar lpt_1 (+ (dtr 270) f_ang) (- (/ d_sz 2.0) (/ j_d 2.0))))

(setq pt2_lst (append pt2_lst (list jpt_4)))

(setq lpt_1 (polar lpt_1 f_ang j_dis)))

(setq jpt_1 (polar lpt_1 (+ (dtr 90) f_ang) (/ d_sz 2.0)))

(setq pt1_lst (append pt1_lst (list jpt_1)))

(setq jpt_2 (polar lpt_1 (+ (dtr 270) f_ang) (/ d_sz 2.0)))

(setq pt2_lst (append pt2_lst (list jpt_2)))))

(command "pline" (foreach n pt1_lst (command n)))

(command "pline" (foreach n pt2_lst (command n))) (setq l_ctr 0)

(repeat (+ (* n_jo 2) 1)

(command "line" (nth l_ctr pt1_lst) (nth l_ctr pt2_lst) "")

(setq l_ctr (1+ l_ctr)))

(setq flex_ctr (1+ flex_ctr))

);repeat

)

 

 

est ce qu'il y a quelqu'un qui peut m'aider et merci pour touts

Lien vers le commentaire
Partager sur d’autres sites

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é