jalna Posté(e) le 4 juin 2013 Posté(e) le 4 juin 2013 Bonjour,Il me vient une idée sur une commande AutoCAD,Comme je fais souvent du relevé et que je retranscris mes dimensions prises sur le terrain, j'utilise principalement des droites et des décalements de droites.Quand je prend le relevé d'une porte par exemple je la cote depuis un mur, je me retrouve avec 2 dimensions (dimension prise aussi de l'autre coté du mur) il est sur que je ne vais pas me trouver avec une dimension type (genre 70,80,90,100....) je me retrouve souvent avec 72, 81, 93, 102....Une fois que j'ai ajusté mes droites pour avoir mon trou, je suis obligé de mesurer mon trou avec la commande distance et de faire 2 étiré de chaque coté pour avoir une cote type.Il serait bien que je connaisse cette distance juste après avoir ajusté, sans avoir besoin de mesurer, je pense à un affichage temporaire ou sur la ligne de commande.En fait ce qui m’intéresse c'est la distance entre deux points d'ajustement.Si quelqu'un a une idée, par avance merci. "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
jalna Posté(e) le 10 juin 2013 Auteur Posté(e) le 10 juin 2013 Certainement pas une bonne idée........... "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 10 juin 2013 Posté(e) le 10 juin 2013 Salut, Cela me semble assez simple à traiter.Un truc comme ça par exemple... (defun c:encadrement ( / p1 p2 d1 d2 dx p1p p2p pm) (initget 9) (setq p1 (getpoint "\nPosition de l'origine de la 1ère mesure?: ")) (initget 7) (setq d1 (getdist p1 "\nDistance mesurée?: ")) (initget 9) (setq p2 (getpoint "\nPosition de l'origine de la 2ème mesure?: ")) (initget 7) (setq d2 (getdist p2 "\nDistance mesurée?: ")) (initget 6 "70 80 90 100") (setq dx (getdist "\nEncadrement de porte de [70/80/90/100]? <90>: ")) (if (not dx) (setq dx 90)) (setq p1p (polar p1 (angle p1 p2) d1) p2p (polar p2 (angle p2 p1) d2) pm (list (* (+ (car p1p) (car p2p)) 0.5) (* (+ (cadr p1p) (cadr p2p)) 0.5) (* (+ (caddr p1p) (caddr p2p)) 0.5) ) ) (command "_.line" "_none" p1 "_none" (polar pm (angle p2 p1) (* 0.5 dx)) "") (command "_.line" "_none" p2 "_none" (polar pm (angle p1 p2) (* 0.5 dx)) "") (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 10 juin 2013 Auteur Posté(e) le 10 juin 2013 SalutMerci de penser à moiC'est pas tout à fait ça en faitLa le lisp me demande 2 points et une longueurMalheureusement je ne connais jamais la longueur, c'est une fois que j'ai ajusté que je mesure pour savoir quelle est la longueur, j'aimerais la connaitre lors de l'ajustementC'est un peu dur à expliquer... "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 10 juin 2013 Posté(e) le 10 juin 2013 Malheureusement je ne connais jamais la longueur ??? je la cote depuis un mur, je me retrouve avec 2 dimensions (dimension prise aussi de l'autre coté du mur) Je ne comprends rien à vos énoncés, les gars.... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 10 juin 2013 Auteur Posté(e) le 10 juin 2013 Je ne connais jamais la longueur de l'ouverture quand je dessine depuis mon relevéJe fais toujours mes relevés en cumul....Par exemple si je prend un mur perpendiculaire à un autre avec une porte dans le mur je mesure 225-325-500(500 fin de mon mur)il est assez simple de voir que la porte va faire 100 de large (225-325) mais si j'ai 226-313-500 je ne vais pas savoir quel va être la dimension de ma porte à moins de prendre ma calculette (ou de mesurer) et de faire 313-226 soit 87(cote que je passerais ensuite à 90 en étirant 1.5 de chaque coté afin d'avoir une cohérence avec mon relevé) et c'est les 87 que j'aimerais voir lors de mon ajusté (cela m'évite de mesurer ou de prendre ma calculette) Suis-je plus clair "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 10 juin 2013 Posté(e) le 10 juin 2013 Ce que j'avais compris(dimension prise aussi de l'autre coté du mur)c'est que l'origine de la seconde mesure était prise à l'opposée. Je pense avoir enfin compris l'énoncé, (la démarche dans le lisp serait semblable) le seul point qui me gêne c'est comment tu défini l'orientation de tes mesures: tu t'appuies sur une ligne existante et cette ligne serait coupée à tes mesures intermédiaires (après correction)? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 11 juin 2013 Auteur Posté(e) le 11 juin 2013 SalutSouvent je fais des droites décalées que j'ajuste par la suiteOu des cercles ou j'ajoute des lignes que j'ajuste par la suiteOui la démarche serait semblable "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
alala Posté(e) le 11 juin 2013 Posté(e) le 11 juin 2013 Bonjour, Un bloc dynamique bien foutus ne suffirait pas? C'est en forgeant que l'on devient forgerons.Et c'est en sciant que Léonard DeVinci!
jalna Posté(e) le 11 juin 2013 Auteur Posté(e) le 11 juin 2013 Non je ne pense pas qu'un bloc dyn soit de circonstance.... "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 11 juin 2013 Posté(e) le 11 juin 2013 je mesure 225-325-500(500 fin de mon mur) Donc en sélectionnant un ligne de base (qui sera le mur) et ces 3 distances successives, est ce que ceci te semblerait correct? (defun c:cut_door ( / js ent dxf_ent dxf_10 dxf_11 alpha d1 tmp_10 tmp_11 d2 df k dx p1 p2 pm) (princ "\nChoix de la ligne à couper: ") (while (not (setq js (ssget "_+.:E:S" '((0 . "LINE")))))) (setq ent (ssname js 0) dxf_ent (entget ent) dxf_10 (trans (cdr (assoc 10 dxf_ent)) 0 1) dxf_11 (trans (cdr (assoc 11 dxf_ent)) 0 1) alpha (angle dxf_10 dxf_11) d1 "Origine" tmp_10 dxf_10 tmp_11 dxf_11 ) (while (eq d1 "Origine") (initget 7 "Origine") (setq d1 (getdist dxf_10 "\nDistance du 1er encadrement de porte ou changer [Origine] mesure ?: ")) (if (eq d1 "Origine") (setq dxf_10 tmp_11 dxf_11 tmp_10 alpha (angle dxf_10 dxf_11) tmp_10 dxf_10 tmp_11 dxf_11 ) ) ) (initget 7) (setq d2 (getdist dxf_10 "\nDistance du 2ème encadrement de porte?: ")) (initget 7) (setq df (getdist dxf_10 "\nDistance finale au mur opposé?: ") k (/ df (distance dxf_10 dxf_11)) ) (initget 6 "70 80 90 100") (setq dx (getdist "\nLargeur d'encadrement de porte de [70/80/90/100]? <90>: ")) (if (not dx) (setq dx 90)) (setq p1 (polar dxf_10 alpha (* d1 k)) p2 (polar dxf_10 alpha (* d2 k)) pm (list (* (+ (car p1) (car p2)) 0.5) (* (+ (cadr p1) (cadr p2)) 0.5) (* (+ (caddr p1) (caddr p2)) 0.5) ) ) (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") (assoc 8 dxf_ent) '(100 . "AcDbLine") (cons 10 (trans dxf_10 1 0)) (cons 11 (trans (polar pm (+ alpha pi) (* 0.5 dx)) 1 0)) '(210 0.0 0.0 1.0) ) ) (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") (assoc 8 dxf_ent) '(100 . "AcDbLine") (cons 10 (trans (polar pm alpha (* 0.5 dx)) 1 0)) (cons 11 (trans dxf_11 1 0)) '(210 0.0 0.0 1.0) ) ) (entdel ent) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 11 juin 2013 Auteur Posté(e) le 11 juin 2013 Salut et merciJe fais l'éssai sur une ligne de300cmDistance du 1er encadrement de porte ou changer [Origine] mesure ?: 100Distance du 2ème encadrement de porte?:200Distance finale au mur opposé?: 300Largeur d'encadrement de porte de [70/80/90/100]? 100Ca fonctionneil serait bien de positionner des lignes perpendiculaire au passage créé (en lui renseignant la distance) serait topMerci beaucoup il faut que je le pratique pour pouvoir en dire plus....Mais cela m'a l'air pas mal "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 11 juin 2013 Posté(e) le 11 juin 2013 il serait bien de positionner des lignes perpendiculaire au passage créé (en lui renseignant la distance) serait top Souvent je fais des droites décaléesDonc en s'appuyant sur la variable, tu pourrais rajouter ceci (avant (entdel ent)): (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") (assoc 8 dxf_ent) '(100 . "AcDbLine") (cons 10 (trans (polar pm (+ alpha pi) (* 0.5 dx)) 1 0)) (cons 11 (trans (polar (polar pm (+ alpha pi) (* 0.5 dx)) (+ alpha (* pi 0.5)) (getvar "OFFSETDIST")) 1 0)) '(210 0.0 0.0 1.0) ) ) (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") (assoc 8 dxf_ent) '(100 . "AcDbLine") (cons 10 (trans (polar pm alpha (* 0.5 dx)) 1 0)) (cons 11 (trans (polar (polar pm alpha (* 0.5 dx)) (+ alpha (* pi 0.5)) (getvar "OFFSETDIST")) 1 0)) '(210 0.0 0.0 1.0) ) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 11 juin 2013 Auteur Posté(e) le 11 juin 2013 Super!!Ça commence à être pas mal du tout.......Merci "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
jalna Posté(e) le 12 juin 2013 Auteur Posté(e) le 12 juin 2013 SalutEn réfléchissant (ca m'arrive) je pense que le lisp ne correspond pas tout à fait, car avec le recul je m’aperçois que je dois rentrer la largeur de la porte voulu[70/80/90/100]?Alors que cette valeur quand je dessine depuis mon relevé je ne la connais pas, je ne sais pas encore si cela va être 70/80......Je reviens donc à dire qu'il ne faudrait qu'il me demande la largeur mais qu'il indique en visuel la dimension créée Cela peut se faire sur la ligne de commande du style "largeur créée : 105" et la je sais qu'il faudra que j'étire de chaque coté de 2.5 pour avoir 100.Tout est clair comme le temps................................................. "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 12 juin 2013 Posté(e) le 12 juin 2013 On peut lui faire afficher la valeur approchante par défaut. Remplace (setq df (getdist dxf_10 "\nDistance finale au mur opposé?: ") k (/ df (distance dxf_10 dxf_11)) ) (initget 6 "70 80 90 100") (setq dx (getdist "\nLargeur d'encadrement de porte de [70/80/90/100]? <90>: ")) (if (not dx) (setq dx 90)) Par (setq df (getdist dxf_10 "\nDistance finale au mur opposé?: ") k (/ df (distance dxf_10 dxf_11)) val_default (* (fix (* (- d2 d1) 0.1)) 10) ) (initget 6 "70 80 90 100") (setq dx (getdist (strcat "\nLargeur d'encadrement de porte de [70/80/90/100]? <" (itoa val_default) ">: "))) (if (not dx) (setq dx val_default)) Rajouter la variable val_default en déclaration de variable locale, c'est mieux Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 12 juin 2013 Auteur Posté(e) le 12 juin 2013 Rajouter la variable val_default en déclaration de variable locale, c'est mieux SalutSuper rapide..............Tu peux m'en dire plus stpC'est ce que je veux en tous cas maintenant je connais le percement crééPar contre il est arrondi c'est du à la variable ??Excuse moi pour mon incompétence en la matiere "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
jalna Posté(e) le 12 juin 2013 Auteur Posté(e) le 12 juin 2013 En même temps la routine est géniale......Si les personnes faisant du relevé la découvre ils vont être super content Un grand merci Monsieur...................... "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
bonuscad Posté(e) le 12 juin 2013 Posté(e) le 12 juin 2013 Tu peux m'en dire plus stp Rajouter la variable val_default en déclaration de variable locale: C'est les variables déclarées ici (après defun) (defun c:cut_door ( / [b]js ent dxf_ent dxf_10 dxf_11 alpha d1 tmp_10 tmp_11 d2 df k val_default dx p1 p2 pm[/b]) Ceci permet de remettre les variables déclarées à nil à la fin de l’exécution du programme, autrement elles conservent leur dernières valeurs acquises. Cela peut interféré lors d'une exécution ultérieure ou un autre programme lisp qui aurait (pur hasard) une variable du même nom. En plus cela libère de la mémoire, surtout pour des variables qui serait des listes de taille imposante. L'arrondi à 10 près est calculé avec (* (fix (* (- d2 d1) 0.1)) 10) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
jalna Posté(e) le 12 juin 2013 Auteur Posté(e) le 12 juin 2013 L'arrondi à 10 près est calculé avec (* (fix (* (- d2 d1) 0.1)) 10)Ok mais quelle est la valeur à changer pour avoir un arrondi à 5 unité pres (c'est pas le 10??) "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
VDH-Bruno Posté(e) le 13 juin 2013 Posté(e) le 13 juin 2013 Bonjour,Ok mais quelle est la valeur à changer pour avoir un arrondi à 5 unité pres (c'est pas le 10??) Oui à ceci près que le 0.1 (1/10) devient 0.2 (1/5), petit rappel : Pour arrondir un nombre positif à la précision voulue par défaut, On divise le nombre par la précision souhaité (pour en connaitre le nombre de part) Puis on garde la partie entière (avec la fonction fix) que l’on multiplie par la précision voulue..Dans ton cas (* (fix (/ (- d2 d1) 5)) 5) avec d2>d1 Pour arrondir un nombre positif à la précision voulue, Il suffit d’ajouter 0.5 au résultat de la division du nombre par sa précision. Dans ton cas on obtient (* (fix (+ (/ (- d2 d1) 5) 0.5)) 5) avec d2>d1 A+ Apprendre => Prendre => Rendre
jalna Posté(e) le 13 juin 2013 Auteur Posté(e) le 13 juin 2013 SalutMerci du rappelÇa fonctionne "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/
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