grandss Posté(e) le 18 décembre 2020 Posté(e) le 18 décembre 2020 Bonjour, Je cherche un lisp me permettant de faire des raccords à 45° sur des schémas d'eaux usées.Nous utilisons un petit addin (CADPROFI) mais il crée des raccords en TE.J'ai donc besoin d'un lisp qui me permet de sélectionner une ligne 1 qui se raccorde à une ligne 2 et qui insère une ligne à 45° sans couper la ligne 2 (voir image)J'ai bien lisp qui s'appelle RRX mais il ne fonctionne pas. Merci. Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
lecrabe Posté(e) le 18 décembre 2020 Posté(e) le 18 décembre 2020 Hello SVP tu peux nous copier/coller ton Lisp RRX ?! La Santé, Bye, lecrabe Autodesk Expert Elite Team
grandss Posté(e) le 18 décembre 2020 Auteur Posté(e) le 18 décembre 2020 Le voila : (defun c:rrx (/ sel1 sel2 *error* dxfpline marque) (defun *error* (msg) (ai_sysvar nil) (if msg (princ (strcat "\n*Abandon* " msg)) ) (princ) ) (or *ecart* (setq *ecart* (getvar 'CHAMFERA))) (setq *ecart* (cond ((getdist (strcat "\nSpécifiez l'écart à conserver entre les objets <" (rtos *ecart*) ">: "))) (*ecart*) ) ) (ai_sysvar (list '("CMDECHO" . 0) '("TRIMMODE" . 0) '("CHAMMODE" . 0) (cons "CHAMFERA" *ecart*) (cons "CHAMFERB" *ecart*) ) ) (if (setq sel1 (entsel "\nSélectionnez l'objet à prolonger: ")) (if (setq sel2 (entsel "\nSélectionnez le second objet: ")) ;; si le second objet est une pline => svg pline (progn (if (= "LWPOLYLINE" (cdr (assoc 0 (setq dxfpline (entget (car sel2)))))) (progn (setq marque (entlast)) (command-s "_explode" sel2 "") (setq sel2 (nentselp (osnap (cadr sel2) "_near"))) ) ) (command-s "chamfer" sel1 sel2) (ai_sysvar '(("TRIMMODE" . 1) ("FILLETRAD" . 0))) (command-s "fillet" sel1 "" (entlast)) ;; si marque => restore pline (if marque (progn ((if (= "LWPOLYLINE" (cdr (assoc 0 (entget (car sel1))))) list entdel ) (while (setq marque (entnext marque)) (entdel marque)) ) (entmake dxfpline) ) ) ) ) ) (*error* nil) ) Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
lecrabe Posté(e) le 18 décembre 2020 Posté(e) le 18 décembre 2020 Hello Voir ta routine RRX ( Avec 2 micro-corrections ) ci-dessous qui fait qq chose en effet ... Mais je ne sais pas exactement quel resultat tu desires ? LA SANTE, Joyeux Noel, Bye, lecrabe ;; ;; https://cadxp.com/topic/49500-lisp-pour-raccord-a-45/page__pid__297377 ;; ;; grandss >>> ;; Je cherche un lisp me permettant de faire des raccords à 45° sur des schémas d'eaux usées. ;; Nous utilisons un petit addin (CADPROFI) mais il crée des raccords en TE. ;; J'ai donc besoin d'un lisp qui me permet de sélectionner une ligne 1 qui se raccorde à une ligne 2 ;; et qui insère une ligne à 45° sans couper la ligne 2 (voir image) ;; J'ai bien lisp qui s'appelle RRX mais il ne fonctionne pas. ;; (defun c:RRX (/ sel1 sel2 *error* dxfpline marque) (defun *error* (msg) (ai_sysvar nil) (if msg (princ (strcat "\n*Abandon* " msg)) ) (princ) ) (or *ecart* (setq *ecart* (getvar 'CHAMFERA))) (setq *ecart* (cond ((getdist (strcat "\nSpecifiez l'ecart a conserver entre les objets <" (rtos *ecart*) ">: "))) (*ecart*) ) ) (ai_sysvar (list '("CMDECHO" . 0) '("TRIMMODE" . 0) '("CHAMMODE" . 0) (cons "CHAMFERA" *ecart*) (cons "CHAMFERB" *ecart*) ) ) (if (setq sel1 (entsel "\nSelectionnez l'objet a prolonger: ")) (if (setq sel2 (entsel "\nSelectionnez le second objet: ")) ;; si le second objet est une pline => svg pline (progn (if (= "LWPOLYLINE" (cdr (assoc 0 (setq dxfpline (entget (car sel2)))))) (progn (setq marque (entlast)) (command-s "_explode" sel2 "") (setq sel2 (nentselp (osnap (cadr sel2) "_near"))) ) ) (command-s "_chamfer" sel1 sel2) ;; --> "_chamfer" (ai_sysvar '(("TRIMMODE" . 1) ("FILLETRAD" . 0))) (command-s "_fillet" sel1 "" (entlast)) ;; --> "_fillet" ;; si marque => restore pline (if marque (progn ((if (= "LWPOLYLINE" (cdr (assoc 0 (entget (car sel1))))) list entdel ) (while (setq marque (entnext marque)) (entdel marque)) ) (entmake dxfpline) ) ) ) ) ) (*error* nil) ) Autodesk Expert Elite Team
grandss Posté(e) le 18 décembre 2020 Auteur Posté(e) le 18 décembre 2020 J'ai testé, mais sans succès.J'ai les messages suivants : Sélectionnez le second objet: ERREUR d'application: Liste entité/point incorrecte. *Abandon* Erreur inconnue de (command-s). Pour le résultat à obtenir, voir les images jointes avec mon premier message. Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
lecrabe Posté(e) le 18 décembre 2020 Posté(e) le 18 décembre 2020 Hello OK desole mais ca fait qq chose ! J ai donc dessine une polyligne 2D horizontale ...Puis j ai dessine une autre polyligne montant a la verticale depuis UN point PROCHE ... Commande: RRXCLIC sur la polyligne verticale montante ...CLIC sur la polyligne horizontale juste avant l intersection ... LA SANTE, Joyeux Noel, Bye, lecrabe Autodesk Expert Elite Team
Maxime063 Posté(e) le 18 décembre 2020 Posté(e) le 18 décembre 2020 J'ai testé, mais sans succès.J'ai les messages suivants : Pour le résultat à obtenir, voir les images jointes avec mon premier message. Il suffit de supprimer dans "command-s" le "-s"Je viens de le tester chez moi ça fonctionne après avoir fait ça aux 3 endroits
lecrabe Posté(e) le 18 décembre 2020 Posté(e) le 18 décembre 2020 Hello +1 avec Maxime063 ! Tu as quelle version de AutoCAD ?? ---- RAPPEL (Merci Mr hmsilva) ---- Command-s was introduced in AutoCAD 2012, also *push-error-using-command*, *push-error-using-stack* and *pop-error-mode* were introduced in AC2012 La Sante, Bye, lecrabe Autodesk Expert Elite Team
grandss Posté(e) le 21 décembre 2020 Auteur Posté(e) le 21 décembre 2020 Salut,Alors autocad mep 2018.J'ai supprimé les -s, mais maintenant il me dit que la commande CHAMFER est inconnu !!! Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
lecrabe Posté(e) le 21 décembre 2020 Posté(e) le 21 décembre 2020 Hello SVP utilises ma version ! La Santé, Bye, lecrabe Autodesk Expert Elite Team
grandss Posté(e) le 21 décembre 2020 Auteur Posté(e) le 21 décembre 2020 Salut lecrabe, Je suis bien parti de ta version mais ca ne fonctionnait pas.Mais j'y suis arrivé.J'ai donc pour cela supprimé le -s de command-s et ensuite j'ai rajouté un point aux commande chamfer et fillet, mais je n'ai pas compris pourquoi :o (defun c:RRX (/ sel1 sel2 *error* dxfpline marque) (defun *error* (msg) (ai_sysvar nil) (if msg (princ (strcat "\n*Abandon* " msg)) ) (princ) ) (or *ecart* (setq *ecart* (getvar 'CHAMFERA))) (setq *ecart* (cond ((getdist (strcat "\nSpecifiez l'ecart a conserver entre les objets <" (rtos *ecart*) ">: "))) (*ecart*) ) ) (ai_sysvar (list '("CMDECHO" . 0) '("TRIMMODE" . 0) '("CHAMMODE" . 0) (cons "CHAMFERA" *ecart*) (cons "CHAMFERB" *ecart*) ) ) (if (setq sel1 (entsel "\nSelectionnez l'objet a prolonger: ")) (if (setq sel2 (entsel "\nSelectionnez le second objet: ")) ;; si le second objet est une pline => svg pline (progn (if (= "LWPOLYLINE" (cdr (assoc 0 (setq dxfpline (entget (car sel2)))))) (progn (setq marque (entlast)) (command "_explode" sel2 "") (setq sel2 (nentselp (osnap (cadr sel2) "_near"))) ) ) (command "_.chamfer" sel1 sel2) ;; --> "_chamfer" (ai_sysvar '(("TRIMMODE" . 1) ("FILLETRAD" . 0))) (command "_.fillet" sel1 "" (entlast)) ;; --> "_fillet" ;; si marque => restore pline (if marque (progn ((if (= "LWPOLYLINE" (cdr (assoc 0 (entget (car sel1))))) list entdel ) (while (setq marque (entnext marque)) (entdel marque)) ) (entmake dxfpline) ) ) ) ) ) (*error* nil) ) Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
lecrabe Posté(e) le 21 décembre 2020 Posté(e) le 21 décembre 2020 Hello À mon avis command ou command-s, ce n'est pas le problème ! Sans doute que les commandes FILLET & CHAMFER ont été redéfinis dans ton MEP ! Et donc le POINT force la commande originale !Et le Souligné / Underscore force la commande US/English ! La Santé, Bye, lecrabe Autodesk Expert Elite Team
grandss Posté(e) le 21 décembre 2020 Auteur Posté(e) le 21 décembre 2020 Le SOULIGNE je connaissais, mais pas le POINT.Le command-s m'envoie bien un message d'erreur.Mais de toute façon, le lisp ne réagit pas correctement à chaque fois. Peut-être dû à CadProfi, je ne sais pas.Il me mets les raccords un peu n'importe comment. Parfois bien, parfois mal. Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
grandss Posté(e) le 21 décembre 2020 Auteur Posté(e) le 21 décembre 2020 Le problème vient de la commande FILLET, lorsque j'utilise plusieurs fois le lisp Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
lecrabe Posté(e) le 21 décembre 2020 Posté(e) le 21 décembre 2020 Hello Desole mais pour moi, c incomprehensible !command ou command-s (dans ce micro-Lisp) avec un AutoCAD MEP 2018 ...command-s existe depuis la version 2012 ... En attente de l'explication d'un Pro: Gilles, Bruno, Didier, Tramber, VDH-Bruno, Luna, etc ... LA SANTE, Joyeux Noel, Bye, lecrabe Autodesk Expert Elite Team
grandss Posté(e) le 21 décembre 2020 Auteur Posté(e) le 21 décembre 2020 merci de ton aide ;) On va voir la réaction des pro ! Modeler Revit MEP - Référent BIMRevit MEP - Navisworks - MagicadAutocad MEP 2018 (mais plus beaucoup)
zebulon_ Posté(e) le 22 décembre 2020 Posté(e) le 22 décembre 2020 BonjourUn problème qui pourrait être résolu parinitcommandversion ?AmicalementVincent C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
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