Aller au contenu

Définir un rectangle par 1 côté + sa surface


Messages recommandés

Posté(e)

J'aimerais mettre au point un lisp qui permette de créer un rectangle d'une surface donnée en indiquant la longueur d'un de ses côtés. Tous les archis me comprendront : c'est hyperfastidieux, en phase esquisse, de dessiner des rectangles en étant à chaque fois obligé de passer par la calculette pour extraire la 2è dimension qu'on souhaite donner au rectangle.

 

Encore plus fort, pour que cette méthode s'applique à d'autres cas qu'aux rectangles, ce serait génialissime (voire même carrément génialissississime) de pouvoir lancer la commande ETIRER sur une polyligne composée de lignes parallèmes ou perpendiculaires entre elles, en indiquant

à AutoCad la surface à atteindre quand ETIRER aura été réalisé (du genre: étirer pour que cette polyligne atteigne une aire de 53,5 m2).

 

Problème, à part bidouiller à partir de lisps existants, je suis pas un lispeux très aguerri.

 

Y a-t-il des judoCads tentés par ce(s) défi(s) ?

Posté(e)

Utilises l'option Aire après avoir cliqué le premier coin, puis spécifie la largeur ou la longueur. Testé dans la 2006.

Posté(e)

 

Bonjour

 

Tout à fait d'accord avec toi Grand Maître Patrick (et Vénérable Gardien du Temple CADXP)

mais cette option n'est DISPONIBLE qu'à partir des versions 2006 !!! :o :(

 

Donc il faudra un petit Lisp ... :exclam:

 

Le Decapode "airant"

 

Autodesk Expert Elite Team

Posté(e)

Donc il faudra un petit Lisp ...

 

Un voici un très simple.

Pour définir le sens du rectangle, inverser l'entrée des points de la base.

(defun c:rect_by_surf ( / p1 p2 surf p3 p4)
(initget 9)
(setq p1 (getpoint "\n1er coin: "))
(initget 41)
(setq p2 (getpoint p1 "\n2ème coin adjacent: "))
(grdraw p1 p2 7)
(initget 7)
(setq
	surf (getreal "\nSurface souhaitée: ")
	p3 (polar p2 (+ (angle p1 p2) (/ pi 2)) (/ surf (distance p1 p2)))
	p4 (polar p3 (angle p2 p1) (distance p2 p1))
)
(redraw)
(setvar "cmdecho" 0)
(command "_.PLINE" "_none" p1 "_none" p2 "_none" p3 "_none" p4 "_CLOSE")
(setvar "cmdecho" 1)
(prin1)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

  • 2 mois après...
Posté(e)

Merci à vous tous, ô grands judoCads ! (désolé pour le temps écoulé depuis vos réponses, j'avais oublié mon post initial et pas eu de retour dans ma boîte mail).

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é