Invité seb48 Posté(e) le 5 avril 2011 Posté(e) le 5 avril 2011 Bonsoir, J'aimerai savoir si il est possible d'extraire les côtés d'un rectangle.Pour le moment, je n'ai pas la solution et je ne sais pas par où attaquer.( jarrive à extraire la surface, le périmètre mais les côtés) A l'aide Seb48
didier Posté(e) le 6 avril 2011 Posté(e) le 6 avril 2011 bonjour ton rectangle est composé de quoi ? c'est une polyligne close ?ce sont des lignes ?c'est un bloc avec des échelles x et y différentes ? suivant ta réponse je t'orienterai vers la solution amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Invité seb48 Posté(e) le 6 avril 2011 Posté(e) le 6 avril 2011 Bonjour Didier, Le rectangle est composé d'une polyligne close. A plus Seb48
didier Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Coucou je te livre quelque chose de volontairement simplistepour que tu apprennes ar exemple. je te laisse le soin de vérifierque l'entité est bien une polyligneet si c'est bien le casque la polyligne n'a que quatre sommets. (setq ent (car(entsel"poly"))) (setq lis-som (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent)))) (setq cote1 (distance (nth 0 lis-som) (nth 1 lis-som)) cote2 (distance (nth 1 lis-som) (nth 2 lis-som)) ) (alert (strcat "Côté 1 : " (rtos cote1 2 2) "\nCôté 2 : " (rtos cote2 2 2))) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Invité seb48 Posté(e) le 7 avril 2011 Posté(e) le 7 avril 2011 Salut, J'utilise autocad LT 2007 et je n'ai pas de moyen de programmation. Je pensais uiliser les macros et extraire les côtés à l'aide des attributs, mais je ne sais pas si c'est possible et je ne connais pas la fonction qui me permettrait d'y arriver. Si il existe un logiciel gratuit pour voir commnet cela fonctionne, je l'essaierai car je ne sais pas si mon entreprise est prête à acheter un autre logiciel ou une autre version d'autocad. Merci quand même Seb48
didier Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 coucu au temps pour moi ! le forum LT n'est pas clairement défini(genre couleur de fond)et du coup j'ai répondu de travers désolé Éternel débutant... Mon site perso : Programmer dans AutoCAD
bonuscad Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Salut, j'arrive à extraire la surface, le périmètre Dommage que le diesel n'ait pas la fonction des racines carrées, car avec celle-ci, cela aurait était possible. Je te donne la formule au cas ou !... Avec P pour périmètre et S pour Surface L= (-P/2 +ou- (racine (P²/4 - 4*S)) / 2 [Edité le 8/4/2011 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Invité seb48 Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Salut Didier et Bonuscad J' y avais déja penser à utiliser ta formule, mais je ne sais pas comment l'utiliser dans autocad lt. Merci quand même. Je vais essayer en utilisant la mesure entre deux dans une macro puis je vais l'extraire, mais ce n'est pas exactement ce que je veux faire. Seb48
bonuscad Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 mais je ne sais pas comment l'utiliser dans autocad lt. Tout était faisable en macro diesel avec LT, à l'exception que la fonction $(sqrt,"nombre") n'existe pas ! donc cela fout en l'air la possibilité d'appliquer la formule. Est-ce que la commande CALC est disponible sous LT? Il y aurais peut être possibilité de faire quelque chose avec dans une macro. Je n'ai pas de LT pour tester ces possibilités que j’énonce. Autrement revoir ta façon de faire des rectangles.Plutôt faire un bloc de 1 unité X 1 unité (un carré en somme), est lors de l'insertion du donnes les facteurs d'échelle en X et Y qui représenteraient tes longueur de côtés. De ce fait, tu pourrais avoir l'information des longueurs des côtés dans la palette des propriétés (qui correspondrait à l'échelle X et Y, ne pas tenir compte de l'échelle Z).Tu pourrais aussi modifier facilement ces longueurs (toujours dans la palette).Le seul hic, est que si tu doit faire des ajustements ou coupure de ceux-ci, tu devras les décomposer et ainsi perdre ces informations. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bryce Posté(e) le 8 avril 2011 Posté(e) le 8 avril 2011 Bonsoir, La formule en question est utilisable dans un champ, mais il me semble que les champs n'étaient pas dispo dans LT 2007... :( L'idée de bonuscad est bonne (les blocs rectangulaires), ou sinon tu peux toujours télécharger la version d'essai de ZwCAD pour pouvoir utiliser des Lisp. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
vms66 Posté(e) le 6 mai 2011 Posté(e) le 6 mai 2011 bonjour je reviens sur ce sujet qui m'interesse.j'ai testé la réponse de didier du 7 avril et ca correspond a ce que je recherche existe t-il un moyen simple pour avoir les mêmes resultats sur un solide3d de forme "boite", genre une polyligne rectangulaire extrudée sur un axe Z perpendiculaire au plan de dessin de la polyligne. merci
Kris_LC Posté(e) le 6 septembre 2013 Posté(e) le 6 septembre 2013 (setq ent (car(entsel"poly"))) (setq lis-som (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent)))) (setq cote1 (distance (nth 0 lis-som) (nth 1 lis-som)) cote2 (distance (nth 1 lis-som) (nth 2 lis-som)) ) (alert (strcat "Côté 1 : " (rtos cote1 2 2) "\nCôté 2 : " (rtos cote2 2 2))) amicalement Je trouve ça excellent ! Mais à tout hasard, y as t'il un moyen d'avoir ceci, mais qu'il ressorte une liste complète des rectangle sélectionné ?Et à la limite, une extraction excel ...Mais j'en demande peux être un peu trop là.Je ne sais pas si c'est possible. Merci d'avance !
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