rimbo Posté(e) le 25 février 2004 Posté(e) le 25 février 2004 J'ai un petit lisp pour tracer une flèche facilement mais il a été fait sous la version 14 et il y a 5 ans que je n'ai plus fais de lisp donc je patauge grave. si quelqu'un peut me dire ou sa plante .De plus je ne comprends rien a l'éditeur visual lisp... (defun c:fleche() (setq memo1 (getvar "cmdecho)) (setvar "cmdecho" 0) (setq cdg (getpoint "\ncoin bas gauche : ")) (setq chd (getpoint "\ncoin haut droit : ")) (setq d (distance cbg chd)) (cond ((and (>an (/pi 2)) ( (setq a chd) (setq chd cbg) (setq cbg a) (setq an (angle cbg chd)) ) ) (setq m (polar cbg an (* 0.75 d))) (setq le (* 0.125 d)) (command "polylign" cbg m "la" le 0 chd "") (setvar "cmdecho" memo1) (princ)) Cordialement Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM
Tramber Posté(e) le 25 février 2004 Posté(e) le 25 février 2004 (setq memo1 (getvar "cmdecho)) Déjà il manque un " après cmdecho Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 25 février 2004 Posté(e) le 25 février 2004 (and (>an (/pi 2)) ( (setq a chd)Cette ligne est à revoir intégralement la aussi, gros pbs: >an ?/ pi et non /pi (setq an (angle cbg chd)) arrive trop tard et puis c'est cdg pas cbg Y a du boulot (command "polylign" cbg m "la" le 0 chd "") cbg ou cdg m ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
rimbo Posté(e) le 25 février 2004 Auteur Posté(e) le 25 février 2004 merci pour ton petit coup de main.Donc pour ceux qui veulent une flèche facile a tracer : (defun c:fleche() (setq memo1 (getvar "cmdecho")) (setvar "cmdecho" 0) (setq cbg (getpoint "\ncoin bas gauche : ")) (setq chd (getpoint "\ncoin haut droit : ")) (setq d (distance cbg chd)) (setq an (angle cbg chd)) (cond ((and (> an (/ pi 2)) (< an (/ (* pi 3) 2))) (setq an chd) (setq chd cbg) (setq cbg an) (setq an (angle cbg chd)) ) ) (setq m (polar cbg an (* 0.75 d))) (setq le (* 0.125 d)) (command "polylign" cbg m "la" le 0 chd "") (setvar "cmdecho" memo1) (princ)) Je l'ai vérifier ça marche bien ouf... Cordialement Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM
Tramber Posté(e) le 25 février 2004 Posté(e) le 25 février 2004 Je te propose un extrait d'une suggestion de Labletech: "Pour le problème de la saisie de points en aveugle j'ai pas bien compris...Connais tu la fonction (setq point-init (getpoint "taratata"))et (setq point-final (getpoint point-init "retaratata"))le 2ème getpoint permet la création d'un élastique qui permet à l'utilisateur de voir les 2 points qu'il est en train de saisir .ensuite un petit (grdraw point-init point-final) laisse une trace du trait (qui s'enlevera au prochain redess ou zoom)." Comme ca, il y aura un élastique entre le premier et le 2ème point. C'est dans le message (command "ligne") de ce forum, http:// http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=1672 (ne pas s'affoler si le lien est un peu bizarre et doublé, c'est à cause de mon navigateur [Opera]) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
rimbo Posté(e) le 25 février 2004 Auteur Posté(e) le 25 février 2004 ben j'suis loin de ce niveau j'ai mal à la tête tout d'un coup bon merci pour le cours Cordialement Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM
Tramber Posté(e) le 25 février 2004 Posté(e) le 25 février 2004 Non, je suis pas d'accord.Tu as d'ailleurs retapé ton lisp très rapidement, et puis là, c'est vraiment pas de haut niveau. Tu dois juste glisser ton cbg dans le 2ème getpoint pour avoir l'elastique qu'on a qd on fait une ligne. (setq chd (getpoint cbg "\ncoin haut droit : ")) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
rimbo Posté(e) le 25 février 2004 Auteur Posté(e) le 25 février 2004 vraiment trop cool merci J'avais du mal avec l'explication vu la ligne que tu m'as donné et comment ça marche c'est cool, faut par contre que je rajoute une commande de rotation car la flèche ne se fait que de la gauche vers la droite ou creer une condition pour aller dans l'autre sens ...je vais voir Cordialement Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM
Tramber Posté(e) le 25 février 2004 Posté(e) le 25 février 2004 C'est l'art de la guerre. Dans tous les petits lisp que j'ai pu écrire, c'est là que les choses s'embrouillent. Si je peux te donner un conseil, c'est de faire suivre le SCU par (command "SCU" "N"...)Ca rend parfois les choses (un peu) + facile.N'oublies pas de faire ensuite (command "SCU" "") pour retourner au général. Genre;(defun ligneu () (command "ligne" "0,0" pause "")(scligne)) (defun scligne () (command "_UCS" "General") (setq SS (entget(ssname (ssget "_l") 0))) (setq PP (cdr (assoc 10 SS))) (setq PP1 (cdr (assoc 11 SS))) (command "_UCS" "N" PP1) (setq orient (* (angle PP PP1) (/ 180 PI))) (command "_UCS" "N" "Z" orient) (command "_UCS" "S" "ABSCU" "O" )) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
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