Aller au contenu

une fonction rectangle


Messages recommandés

Posté(e)

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....

 

Posté(e)

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 @)

Posté(e)

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 OK

pour 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é.

à +

 

 

Posté(e)

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:

RECTANG

Spécifiez le premier coin ou [Chanfrein/Elévation/Raccord/Hauteur/Largeur]: r

Spécifiez le rayon du raccord des rectangles : 0.5

Spécifiez le premier coin ou [Chanfrein/Elévation/Raccord/Hauteur/Largeur]:

Spécifiez un autre coin ou [Aire/Cotes/Rotation]: C

Spé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/

Posté(e)

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 @)

Posté(e)

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

Posté(e)

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 @)

Posté(e)

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

Posté(e)

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ération

est ce réalisable ?

Posté(e)

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 personnaliser

2 créer une nouvelle commande

3 dans la ligne macro j'ouvre le carré avec 3 points et je colle le code que tu as écrit

4 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.

à +

Posté(e)

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 @)

Posté(e)

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é.

Posté(e)

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

Posté(e)

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 à+

Posté(e)

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.

Posté(e)

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 rondes

Si 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

Posté(e)

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.

 

Posté(e)

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 @)

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité