CADxp: Extraction des cotés d\'un rectangle - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Extraction des cotés d\'un rectangle

#1 Guest_seb48_*

  • Groupe : Invités

Posté 05 avril 2011 - 20:39

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
0

#2 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8389
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 06 avril 2011 - 07:11

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 ...
Programmer AutoCAD
0

#3 Guest_seb48_*

  • Groupe : Invités

Posté 06 avril 2011 - 20:08

Bonjour Didier,

Le rectangle est composé d'une polyligne close.

A plus

Seb48
0

#4 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8389
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 07 avril 2011 - 07:07

Coucou

je te livre quelque chose de volontairement simpliste
pour que tu apprennes

ar exemple.

je te laisse le soin de vérifier
que l'entité est bien une polyligne
et si c'est bien le cas
que 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 ...
Programmer AutoCAD
0

#5 Guest_seb48_*

  • Groupe : Invités

Posté 07 avril 2011 - 18:53

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




0

#6 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8389
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 08 avril 2011 - 06:51

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 ...
Programmer AutoCAD
0

#7 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4684
  • Inscrit(e) : 20-juin 03

Posté 08 avril 2011 - 10:37

Salut,

Citation

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
0

#8 Guest_seb48_*

  • Groupe : Invités

Posté 08 avril 2011 - 20:25

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

0

#9 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4684
  • Inscrit(e) : 20-juin 03

Posté 08 avril 2011 - 23:15

Citation

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
0

#10 L'utilisateur est en ligne   bryce 

  • ceinture noire 4em dan
  • Groupe : Membres
  • Messages : 2161
  • Inscrit(e) : 03-mars 06
  • Location68 Mulhouse

Posté 08 avril 2011 - 23:46

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

#11 L'utilisateur est hors-ligne   vms66 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 02-mai 09

Posté 06 mai 2011 - 10:02

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
0

#12 L'utilisateur est hors-ligne   Kris_LC 

  • ceinture verte
  • Groupe : Membres
  • Messages : 72
  • Inscrit(e) : 13-janvier 10

Posté 06 septembre 2013 - 09:27

Voir le messagedidier, le 07 avril 2011 - 07:07 , dit :




(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 !
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)