atiq Posté(e) le 19 janvier 2009 Posté(e) le 19 janvier 2009 Bonsoir Je fais avec autocad un dessin simple mais qui revient très souvent , il s'agit d'un rectangle (les dimensions ne sont pas toujours les mêmes) avec dans les quatres angles un cercle tangent de diamètre : 0.5 mm.Ce que je voudrais c'est créer une fonction qui se comporte comme la fonction rectangle : on indique deux points d'accrochage pour former le rectangle, (qui aurait des dimensions variables) avec quatres cercles dans les angles qui garderont toujours le diamètre de 0.5 mm.Je me demande si c'est réalisable....
rebcao Posté(e) le 19 janvier 2009 Posté(e) le 19 janvier 2009 Bonsoir, Je dirais que OUI c'est réalisable ! Une simple Macro DIESEL Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
atiq Posté(e) le 19 janvier 2009 Auteur Posté(e) le 19 janvier 2009 je vais creuser de ce côté , merci pour le renseignement
rebcao Posté(e) le 20 janvier 2009 Posté(e) le 20 janvier 2009 Bonjour, ça peut ressembler à ça : ^C^Cpickstyle;1;"Coin bas gauche du rectangle : "^cid;\"Longueur du rectangle : "^cuserr1;\"Largeur du rectangle : "^cuserr2;\_rectang;@;@$m=$(getvar,userr1),$m=$(getvar,userr2);select;d;;_circle;@;0.5;select;d;P;;_circle;@0,-$m=$(getvar,userr2);;select;d;P;;_circle;@-$m=$(getvar,userr1),0;;select;d;P;;_circle;@0,$m=$(getvar,userr2);;-groupe;C;*;;D;p;; Attention au COPIER COLLER, il n'y a pas de retour à la ligne tout doit se trouver sur la même ligne. Essayes. Christian [Edité le 20/1/2009 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
lovecraft Posté(e) le 20 janvier 2009 Posté(e) le 20 janvier 2009 Ah on le reconnait le roi de la macro..... ;) @plus LB http://www.youtube.com/user/CADMINATOR?feature=mhee
atiq Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 J'ai essayé la solution proposée qui apporte une soltuion partielle et j'aimerai apporter quelques modifications si c'est possible. pour entrer le 1er point du rectangle je clique sur un point du dessin.c'est OKpour le 2 ème point la commande me demande des longueurs de segments, alors que je ne les connais pas.En fait j'ai un dessin en fond d'écran et je redessine par dessus un rectangle avec des trous.Ce que je voudrais c'est dessiner un rectangle par 2 points d'accrochage. Ensuite les cercles doivent être tangents aux côtés et non centrés sur les coins du rectangle. Et pour finir il y a un cercle aux quatre coins du rectangle.Ca fait beaucoup je ne le reconnais, mais j'aimerai mieux comprendre le fonctionnement de ces macros, j'ai bien essayé de modifier le code mais je n'ai pas eu le résultat recherché.à +
lili2006 Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Bonjour à toutes et tous, Une petite image de compréhension via ce site, par exemple ? Sinon, pour les arrondis du rectangle, tu as la fonction raccord => rayon =0.5, par exemple => Commande:RECTANGSpécifiez le premier coin ou [Chanfrein/Elévation/Raccord/Hauteur/Largeur]: rSpécifiez le rayon du raccord des rectangles : 0.5Spécifiez le premier coin ou [Chanfrein/Elévation/Raccord/Hauteur/Largeur]:Spécifiez un autre coin ou [Aire/Cotes/Rotation]: CSpécifiez la longueur des rectangles :Spécifiez la largeur des rectangles :Spécifiez un autre coin ou [Aire/Cotes/Rotation]: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
rebcao Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 Bonjour, Tu auras dans ce cas 2 MACROS : La première si les 2 cotes sont connues et la 2e nouvelle ci-dessous : ^C^Cpickstyle;1;"Coin bas gauche du rectangle : "^cid;\"Longueur du rectangle : "^cuserr1;\\"Largeur du rectangle : "^cuserr2;\\_rectang;@;@$m=$(getvar,userr1),$m=$(getvar,userr2);select;d;;_circle;@;0.5;select;d;P;;_circle;@0,-$m=$(getvar,userr2);;select;d;P;;_circle;@-$m=$(getvar,userr1),0;;select;d;P;;_circle;@0,$m=$(getvar,userr2);;-groupe;C;*;;D;p;; Il faut obligatoirement saisir chaque longueur par 2 POINTS ! Christian [Edité le 21/1/2009 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
atiq Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Bonjour J'ai fait un essai avec le 2 ème code et je peux maintenant dessiner le rectangle par 2 points d'accrochage.par contre je n'ai que 2 cercles de dessinés et ils ne sont pas tangents mais centrés sur le coin du rectangle.J'ai mis une image qui représente ce que je voudrais obtenir.merci et à +http://www.hiboox.fr/go/images/divers/essai-2-cadxp,9bbe1e93aa3b8e5b5a1c2e8da65c8734.jpg.html http://
atiq Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 Si je ne trouve pas la réponse à ma question ,j'aurais appris à mettre une image sur le forum.La voila :http://images2.hiboox.com/images/0409/9041d1dea596bbe6f931ad69824cfd73.jpg
bonuscad Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 J'ai essayé une macro, mais elle ne fonctionne pas :( Pourtant la démarche me semblait bonne, mais l'évaluation est aléatoire Enfin voici ce que j'ai tenté, si ça peut donner des idées: ^C^C_.UCS;_Origin;\_.ID;\_.USERR1;$M=$(-,$(index,0,$(getvar,LASTPOINT)),0.25);_.USERR2;$M=$(-,$(index,1,$(getvar,LASTPOINT)),0.25);_.RECTANG;_Fillet;0.0;_Chamfer;0.0;0.0;_Elev;0.0;_none;$(getvar,LASTPOINT);_none;0.0,0.0;_.CIRCLE;_none;0.25,0.25,0.0;0.25;_.CIRCLE;_none;0.25,$(getvar,USERR2),0.0;0.25;_.CIRCLE;_none;$(getvar,USERR1),0.25,0.0;0.25;_.CIRCLE;_none;$(getvar,USERR1),$(getvar,USERR2),0.0;0.25;_.UCS;_Previous;^Z J'ai mis des retour de lignes pour la clarté, il faut les supprimer. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
atiq Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 J'ai essayé ta proposition mais on obtient qu'un rectangle. à suivre...
rebcao Posté(e) le 21 janvier 2009 Posté(e) le 21 janvier 2009 en attendant la réponse voici la suite : ^C^Ccirclerad;0.25;pickstyle;1;"Coin bas gauche du rectangle : "^cid;\"Longueur du rectangle : "^cuserr1;\\"Largeur du rectangle : "^cuserr2;\\_rectang;@;@$m=$(getvar,userr1),$m=$(getvar,userr2);select;d;;_circle;@-$m=$(getvar,circlerad),-$(getvar,circlerad);;select;d;P;;_circle;@0,-$m=$(-,$(getvar,userr2),$(*,2,$(getvar,circlerad)));;select;d;P;;_circle;@-$m=$(-,$(getvar,userr1),$(*,2,$(getvar,circlerad))),0;;select;d;P;;_circle;@0,$m=$(-,$(getvar,userr2),$(*,2,$(getvar,circlerad)));;-groupe;C;*;;D;p;; à quoi va servir cette forme ? Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
atiq Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 je découpe ces pièces sur une fraiseuse CN, le rectangle est en fait une découpe intérieure (un trou carré, mais qui ne l'est pas à cause du diamètre de la fraise de diam 1mm,le cercle de diamètre 0.5 mm me permet de réduire le rayon de la découpe intérieure.Ces pièces représente une fenêtre parmi tant d'autres d'une maquette d'un immeuble. Je suis maquettiste volume.Je regarde pour la macro merci
atiq Posté(e) le 21 janvier 2009 Auteur Posté(e) le 21 janvier 2009 pour répondre à rebcao j'ai maintenant le rectangle qui se crée avec 2 points d'accrochage, puis on me demande le centre du cercle et son rayon, jusque là s'est OK.mais je suis obligé de recommencer pour mettre un cercle aux quatre angles.J'aurai aimé que les cercles se disposent d'eux mêmes aux angles du rectangle sans sélectionner les 2 côtés de tangences du cercle ( comme j'ai quatre cercle cela me fait faire quatre fois l'opérationest ce réalisable ?
rebcao Posté(e) le 24 janvier 2009 Posté(e) le 24 janvier 2009 Bonsoir, Bizarre !!! A part entrer les cotes du rectangle c'est tout ! J'avais testé et ça avait marché !!!! Faut que je regarde où ça coince ? Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
atiq Posté(e) le 24 janvier 2009 Auteur Posté(e) le 24 janvier 2009 Bonjour j'ai refait un essai mais il se passe des choses plutôt bizarres quand je crée le bouton. J'explique comment je fais: 1 personnaliser2 créer une nouvelle commande3 dans la ligne macro j'ouvre le carré avec 3 points et je colle le code que tu as écrit4 je renomme la commande et je la place dans une barre d'outils.5 je clique sur OK Ensuite quand je teste le bouton j'ai d'abord la fenêtre personnaliser qui s'ouvre, donc je reclique sur OK afin qu'elle se ferme.Je rentre ensuite les côtes pour créer le rectangle, en même temps un grand cercle apparait.On me demande ensuite le centre du cercle et son rayon, mais une seule fois alors que je dois créer un cercle à chaque angle.Et la commande s'arrête.Voilà ce qui se passe, mais si ta macro marche chez toi, c'est peut-moi qui ne m'y prends pas correctement.à +
rebcao Posté(e) le 24 janvier 2009 Posté(e) le 24 janvier 2009 Bonsoir, Finalement, c'est toujours le même problème lorsqu'on se contente de COPIER COLLER une Macro dans un message... Des ESPACES s'intercallent !!!!!!!!!!! :( A MARCHE MOINS BIEN !!! :casstet: Tu trouveras ce fichier TXT avec la MACRO en copiant toute la ligne (de la macro), j'ai testé ça marche ! :exclam: DIZi nous si ça marche ! ;) Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
atiq Posté(e) le 27 janvier 2009 Auteur Posté(e) le 27 janvier 2009 Bonjour J'ai été un peu long à répondre mais j'ai été pris par mon travail et bref le temps passe.J'ai pu refaire un essai et cette fois ça marche. Bravo à toi! Je vais être un peu pénible et je me suis peut être mal expliqué, en fait j'aurai voulu que les cercles soient tangents aux côtés (comme sur l'image) et non centrés sur les angles Est ce possible de le modifier ? [imghttp://images2.hiboox.com/images/0509/ff97cab8ddecdbaf0f176069fb39991a.jpg] [/img] Encore plus pénible : je donne au logiciel de DAO des indications de découpe suivant un code de couleurs.J'ai donc besoin de deux couleurs différentes car utilise deux fraises de diamètre different. Est ce possible d'avoir le rectangle en magenta et le cercle en cyan ? Autrement c'est tout à fait ce que je cherchais à faire.Encore merci pour ce temps passé.
bonuscad Posté(e) le 27 janvier 2009 Posté(e) le 27 janvier 2009 j'aurai voulu que les cercles soient tangents aux côtés Essayes simplement en désactivant ton accroche objet.La macro dans l'état n'est pas prévue pour gérer le mode "osnap".Des "_none" bien placés dans la macro peuvent résoudre ce problème. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
atiq Posté(e) le 27 janvier 2009 Auteur Posté(e) le 27 janvier 2009 Essayes simplement en désactivant ton accroche objet. Bien vu , ça marche avec l'accrochage désactivée.Par contre les _none je ne sais pas ce que sait ?Et est ce possible d'avoir une couleur différente pour les cercles et le rectangle? Là ça serait parfait.Sinon je peux ne sélectionner que les cercles et changer leur couleur.Merci beaucoup à+
atiq Posté(e) le 27 janvier 2009 Auteur Posté(e) le 27 janvier 2009 Je suis allé un peu trop vite car j'ai besoin de l'accrochage pour créer mon rectangle et je dois désactiver l'accrochage pour que la macro fonctionne !!! Y a un problème.
bonuscad Posté(e) le 27 janvier 2009 Posté(e) le 27 janvier 2009 Et est ce possible d'avoir une couleur différente pour les cercles et le rectangle? Là ça serait parfait. Je dirais que OUI c'est réalisable ! Une simple Macro DIESEL En théorie je dirais aussi oui. En pratique.... oui/non Le diesel a le gros inconvénient d'être limité en longueur de chaine a évaluer.Ici, avec tout ce que tu veux faire, tu atteint les limites. Par exemple la macro modifiée selon tes souhaits (accrochage et couleur) ^C^Cuserr3;0.25;pickstyle;1;"Coin bas gauche:"^Cid;\"Longueur:"^Cuserr1;\\"Largeur:"^Cuserr2;\\_rectang;@;@$m=$(getvar,userr1),$m=$(getvar,userr2);_select;_l;;_color;1;_circle;_non;@-$m=$(getvar,userr3),-$m=$(getvar,userr3);0.25;_select;_l;_p;;_circle;_non;@0,-$m=$(-,$(getvar,userr2),$(*,$(getvar,userr3),2));;_select;_l;_p;;_circle;_non;@-$m=$(-,$(getvar,userr1),$(*,$(getvar,userr3),2)),0;0.25;_select;_l;_p;;_circle;_non;@0,$m=$(-,$(getvar,userr2),$(*,$(getvar,userr3),2));0.25;_-group;_c;*;;_l;_p;; Rappel enlever tous les espaces indésirables. Elle marchera bien si les valeur stockées dans userr1 et userr2 sont rondesSi ces valeurs sont "picker" à l'écran, il risque d'y avoir beaucoup de décimales et celles ci vont "bouffer" le peu d'espace de chaine disponible restant et la macro va être tronquée à la longueur maximale de chaine, ce qui va la faire avorter avant la fin des instructions. La seule solution est de scinder en plusieurs boutons qui seront à exécuter les uns après les autres. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
atiq Posté(e) le 27 janvier 2009 Auteur Posté(e) le 27 janvier 2009 Y a pas à dire ils sont forts sur CADxp.Ca marche comme je le voulais, je peux faire un rectangle avec les quatre cercles tangent de couleur différente.Seul bémol, la commande ne s'arrête pas, elle veut refaire un cercle ? Je fais echap et c'est bon...Bravo et merci encore, cette commande va bien me simplifier le travail.
rebcao Posté(e) le 27 janvier 2009 Posté(e) le 27 janvier 2009 Bonsoir, Je viens de comprendre ! Depuis le début ma MACRO était fonctionnelle... Mais les paramètres d'environnement sont incorrect !!! [surligneur] OSNAPCOORD doit être à 1[/surligneur] ! Une vieille galère que beaucoup ont du connaitre lorsque la priorité d'un point était donné AUX ACCROCHAGES et non ses coordonnées !!!! :( Voilà la nouvelle Version de cette MACRO.... Christian [Edité le 27/1/2009 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
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