kermitos Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Bonjour,est-il possible de réaliser un lisp qui permet de calculer la longueur d'un arc, (otre que la commande dans Autocad)en donnant un point de départ puis le choix d'un deuxiéme point puis un otre sin on veut (kom le cumul de cotation linéaire)merci d'avance pour vos réponse. Avant de savoir courir if faut savoir marcher
Bred Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Salut,si tu as déjà un arc :(defun c:larc (/ e) (while (not e) (setq e (entsel "\n Choix de l'arc :")) (command) (if e (if (equal (vla-get-objectname (setq e (vlax-ename->vla-object (car e)))) "AcDbArc") (progn (princ (strcat "\n Longueur Arc : " (rtos (vla-get-arclength e))))) (setq e nil)) ) ) (princ) ) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
kermitos Posté(e) le 1 juillet 2008 Auteur Posté(e) le 1 juillet 2008 merci bred, pour ta réponse cependant je voulais pouvoir faire une cotation cumulé d'un arc!j'me suis mal exprimé!!! Avant de savoir courir if faut savoir marcher
(gile) Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Salut, Quelque chose comme ça ? (defun c:arclen (/ arc p0 p1 d0 d1) (vl-load-com) (if (and (setq arc (car (entsel "\nSélectionnez un arc: "))) (= (cdr (assoc 0 (entget arc))) "ARC") ) (if (and (setq p0 (getpoint "\nSélectionnez le point de départ: ")) (setq d0 (vlax-curve-getDistAtpoint arc (trans p0 1 0))) (not (draw-pt p0)) ) (while (and (setq p1 (getpoint "\nSélectionnez un point sur l'arc: ")) (setq d1 (vlax-curve-getDistAtpoint arc (trans p1 1 0))) ) (redraw) (draw-pt p0) (draw-pt p1) (princ (strcat "\nDistance depuis le point départ : " (rtos (abs (- d1 d0))) ) ) ) (princ "\nLe point spécifié n'est pas sur l'arc.") ) (princ "\nEntité non valide.") ) (redraw) (princ) ) (defun draw-pt (pt / len) (setq len (/ (getvar 'viewsize) 40.0)) (grvecs (list (polar pt (* pi 1.25) len) (polar pt (* pi 0.25) len) (polar pt (* pi 0.75) len) (polar pt (* pi 1.75) len) ) ) ) [Edité le 2/7/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 1 juillet 2008 Posté(e) le 1 juillet 2008 Si tu veux pouvoir inverser ton point de départ pour un arc pour effectué ta mesure, tu peux regarder cette réponse (la deuxième proposition) Par contre pas de cumulée ! En mixant avec la réponse de (gile) devrait pouvoir se faire... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
kermitos Posté(e) le 2 juillet 2008 Auteur Posté(e) le 2 juillet 2008 merci pour vos réponse,gile, kan j je copie ton lisp:je peux choisir l'arc, juste aprés lors de la sélection du pt de départ voilà le message"Sélectionnez le point de départ: nil" ca coince! :( Avant de savoir courir if faut savoir marcher
(gile) Posté(e) le 2 juillet 2008 Posté(e) le 2 juillet 2008 Salut, C'est que le point spécifié n'est pas sur l'arc (utilise les accrochages aux objets). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
kermitos Posté(e) le 2 juillet 2008 Auteur Posté(e) le 2 juillet 2008 re,m^m en me servant des accrochage, ca coince juste aprés la sélectionc pas grave; j'me suis arrangé otrement je commence a prendre gout à vos travaux sur le lispc'est trés intérréssant, j'ai plein d'objectifs à mettre en place pour gagner du temps,je pense que je reviendrai te demander de l'aide d'ici peu. Avant de savoir courir if faut savoir marcher
(gile) Posté(e) le 2 juillet 2008 Posté(e) le 2 juillet 2008 Peut-être un problème de SCU différent du SCG ?Je modifie le code ci-dessus : ajout d'expression (trans ...), de points temporaires et de message d'erreur. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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