Invité samuelM Posté(e) le 6 mai 2011 Partager Posté(e) le 6 mai 2011 Bonjour, Voici un début de programme mais j'ai besoin de votre aide pour pouvoir le modifier et le finir.Il est similaire à l'outil rectangle car lui aussi trace un rectangle mais je voudrai mais je voudrai pouvoir définir son point de base en indiquant une distance par addition à partir d'un autre point. je serai ravis si quelqu'un pouvait m'aider. (setvar "osmode" 0) (setq p1 (getpoint"\nPoint de Base\n")) (setq longueur (getreal"\nLargeur tableau\n") largeur(getreal"\nLongeur tableau\n")) (setq p2 (list (+ (car p1) longueur) (cadr p1) ) p3 (list (+ (car p1) longueur) (+ (cadr p2) largeur) ) p4 (list (car p1) (+ (cadr p1) largeur) ) ) (command "_pline" p1 p2 p3 p4 "c") (command "_rotate" "d" "" p1 pause "") Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 6 mai 2011 Partager Posté(e) le 6 mai 2011 je voudrai pouvoir définir son point de base en indiquant une distance par addition à partir d'un autre point Je ne comprends pas la demande. Mais je peux te faire quelques propositions pour améliorer ton code : Utiliser getdist au lieu de getreal permet de spécifier la distance à la ligne de commande ou à l'écran avec le pointeur (il vaut donc mieux ne pas désactiver les accrochages). Utiliser la commande "_rectangle" plutôt que "_polyline" pour n'avoir que deux points à spécifier. Utiliser "_non" (pour "auc" ou "aucun") pour désactiver les accrochages temporairement lors de la spécification des points dans (command ...) Utiliser mapcar pour calculer le coin opposé du rectangle. Ce point est un déplacement du point de base à l'aide d'un vecteur 2d dont la coordonnée X est la valeur de longueur et la coordonnée Y celle de largeur.(mapcar '+ p1 (list longueur largeur))applique la fonction + à chacun des éléments correspondants des listes qui lui sont passées en argument et retourne la liste des résultats. ce qui équivaut à :(list (+ (car p1) longueur) (+ (cadr p1) largeur))Ceci répond peut-être en partie à ta demande. (setq p1 (getpoint "\nPoint de Base\n") longueur (getdist p1 "\nLargeur tableau: ") largeur (getdist p1 "\nLongeur tableau: ") p3 (mapcar '+ p1 (list longueur largeur)) ) (command "_rectangle" "_non" p1 "_non" p3) (command "_rotate" "d" "" p1 pause "") Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité samuelM Posté(e) le 9 mai 2011 Partager Posté(e) le 9 mai 2011 Bonjour merci pour ce que tu à fait. en faite c'est surtout getpoint que je voudrai modifier. je voudrai au lieu de pointer son point de base pouvoir lui indiquer une distance par addition à partir d'un point. je ne sais pas comment mettre une image sur le forum pour te montrer le résultat que je voudrai.Ex : je veux cette fonction pour placer les ouvertures d'une fenêtre, représenté par un rectangle, à 10+2100 du sol, puis lui indiquer les dimensions de l'ouverture.longueur tableau = 600 largeur tableau = 1200. ce qui m'importe c'est la position en y. je ne sais pas si c'est mieux là? Lien vers le commentaire Partager sur d’autres sites More sharing options...
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