La Lozère Posté(e) le 30 juillet 2008 Posté(e) le 30 juillet 2008 Bonjour,Quelqu'un serait-il capable de faire une commande qui ressemblerai à "distance" mais à la place de renvoyer la distance, le dX, le dY, le dZ, les angles suivant XY.J'aimerai avoir toujours la distance, le dX, dY, et en plus, la pente entre les deux points en %.En faite je travail sur des profils en travers et je suis obligé de faire le dY/dX pour avoir la pente.J'espère avoir été clair.Merci www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
bonuscad Posté(e) le 30 juillet 2008 Posté(e) le 30 juillet 2008 Salut, Une réponse de ma part. Sur le site d'autre ont déjà certainement proposé des solutions, as-tu cherché? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 30 juillet 2008 Posté(e) le 30 juillet 2008 Salut, Quelqu'un serait-il capable C'est un défi ?! Un petit truc vite fait (defun c:penteXY (/ p1 p2 h) (and (setq p1 (getpoint "\nSpécifiez le premier point: ")) (setq p2 (getpoint p1 "\nSpécifiez le deuxième point: ")) (setq h (- (car p2) (car p1))) (princ (if (zerop h) "\nVerticale" (strcat "\nPente = " (rtos (abs (* 100 (/ (- (cadr p2) (cadr p1)) h)))) "%" ) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
La Lozère Posté(e) le 31 juillet 2008 Auteur Posté(e) le 31 juillet 2008 Salut,Je me doutais bien qu'il y avait du monde pour un truc aussi simple.Gile et Bonuscad (première partie du message), les deux solution vont dans le bon sens. La solution de Gile, résultat en ligne de commande, me plais plus.Mais serait-il possible d'y ajouter, la distance réel, le dX, et le dY. En gros je cherche à remplacer la commande "distance" qui me fourni des angles que je n'ai pas besoin.Merci pour la promptitude des réponses. www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
(gile) Posté(e) le 31 juillet 2008 Posté(e) le 31 juillet 2008 Voilà, (defun c:pente (/ p1 p2 dX dY) (and (setq p1 (getpoint "\nSpécifiez le premier point: ")) (setq p2 (getpoint p1 "\nSpécifiez le deuxième point: ")) (setq dX (abs (- (car p2) (car p1)))) (setq dY (abs (- (cadr p2) (cadr p1)))) (princ (strcat "\nDistance = " (rtos (distance p1 p2)) "\t Delta X = " (rtos dX) "\t Delta Y = " (rtos dY) (if (zerop dX) "\tVerticale" (strcat "\tPente = " (rtos (abs (* 100 (/ dY dX)))) "%" ) ) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 31 juillet 2008 Posté(e) le 31 juillet 2008 Si ce n'est qu'une histoire de présentation... (defun C:DIST-PENTE ( / pt_o pt_f dxf_11 dev dev_z) (initget 8) (setq pt_o (getpoint "\nSpécifiez le point de départ: ")) (if (null pt_o) (setq pt_o (getvar "lastpoint"))) (cond (pt_o (initget 41) (setq pt_f (getpoint pt_o "\nChoix du point final: ")) (cond (pt_f (setq dxf_11 (trans (mapcar '(lambda (x / ) (/ x (distance (trans pt_o 1 0) (trans pt_f 1 0)))) (mapcar '- (trans pt_f 1 0) (trans pt_o 1 0))) 0 1 T) ) (if (zerop (car dxf_11)) (setq dev "infini") (setq dev (rtos (* (/ (cadr dxf_11) (car dxf_11)) 100.0))) ) (if (= (caddr dxf_11) 1.0) (setq dev_z "infini") (if (zerop (caddr dxf_11)) (setq dev_z (rtos 0.0)) (setq dev_z (rtos (* (sqrt (/ 1.0 (- (/ 1.0 (* (caddr dxf_11) (caddr dxf_11))) 1.0))) 100.0))) ) ) (princ (strcat "\nDistance = " (rtos (distance pt_o pt_f)) ",\tPente dans le plan XY = " dev " %,\tPente avec le plan XY = " dev_z " %" "\nDelta X = " (rtos (- (car pt_f) (car pt_o))) ",\tDelta Y = " (rtos (- (cadr pt_f) (cadr pt_o))) ",\tDelta Z = " (rtos (- (caddr pt_f) (caddr pt_o))) ) ) ) ) ) ) (prin1) ) L'affichage s'appuie sur le mode choisi avec la commande UNITES Arff... à la micro-seconde [surligneur]16:04 [/surligneur] [Edité le 31/7/2008 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
La Lozère Posté(e) le 4 août 2008 Auteur Posté(e) le 4 août 2008 Salut,Merci à tous les deux. C'est exactement ce que je voulais.Peut-on compliquer un peu le truc :) Je voudrais que lorsque on clic une pente descendante, la valeur est un chiffre négatif, et si c'est une pente ascendante, la valeur est normale.A plus [Edité le 4/8/2008 par adat-btp] www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
didier Posté(e) le 4 août 2008 Posté(e) le 4 août 2008 Bonjour, je suis conscient que ma réponse risque de passer inaperçuecar le sujet est considéré comme SOLUTIONNEil ne l'est pas à mes yeux car les profils n'ont pas toujours des echellesde distance et d'altimétrie équivalentes.rarement les profils en travers mais les profils en long, souvent voilà de quoi y parer : (setq echx (getreal "\nEchelle Horizontale : \n") echy (getreal "\nEchelle verticale : \n") rapportHZ (/ echx echy) pd (getpoint "\nIndiquez le Point de base\n") pa (getpoint pd"\nIndiquez le Point de base, ou la direction\n") deltaxBrut (- (car pd) (car pa)) deltayBrut (- (cadr pd) (cadr pa))) (cond ((= 0.0 deltaxbrut) (alert "Vertical")(quit)) ((= 0.0 deltaybrut) (alert "Horizontal")(quit)) ((= 1.0 rapporthz) (setq pente (* 100 (/ deltaybrut deltaxbrut))) (if ( ) ((> rapporthz 0) (setq pente (* 100 (/ deltaybrut (* rapporthz deltaxbrut)))) (if ( ) ( (if ( ))(alert (strcat "Pente : "(rtos pente ) " %\n Echelle Horizontale :" (rtos echx 2 0)"\n Echelle Verticale:"(rtos echy 2 0))) amicalement [Edité le 4/8/2008 par didier] Éternel débutant... Mon site perso : Programmer dans AutoCAD
lili2006 Posté(e) le 4 août 2008 Posté(e) le 4 août 2008 Bonjour à toutes et tous, Bien vu didier ! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bonuscad Posté(e) le 4 août 2008 Posté(e) le 4 août 2008 Je voudrais que lorsque on clic une pente descendante, la valeur est un chiffre négatif, et si c'est une pente ascendante, la valeur est normale. Ma fonction travaille bien avec des positifs ou négatifs.... et même en 3D. :casstet: Cependant il est vrai que la fonction ne travaille que dans les 2 quadrants trigonométrique de droite. Le point extrême gauche représentant l'origine 0 et l'extrême droite le sens de la pente, et ce quelque soit l'ordre de saisie des points. Didier... ta remarque est pertinente, mais dans le cas absolu peu envisageable, je ne pense pas que beaucoup de gens dessinent des profils en long déformés avec Autocad de base.Après avec Covadis c'est une autre histoire, mais celui ci dispose des outils nécessaires.Mais je reconnais que la possibilité existe. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
La Lozère Posté(e) le 4 août 2008 Auteur Posté(e) le 4 août 2008 Bien vu Didier,Dans mon cas, je ne travail qu'avec des profil en travers à l'échelle 1/1 donc pas de soucis.D'autre part, j'ai Covadis, et il me semble que cette commande n'existe pas. Est-ce que je me trompe? Bonuscad, il est vrai que ta commande travail bien en négatif et en positif, mais dès que je saisie une distance dans les 2 autres quadrants cela ne marche plus. Et c'est là mon "très petit" soucis.Sur le prog de Gile cela fais la même chose si on supprime "abs" au résultat. Merci à vous. [Edité le 4/8/2008 par adat-btp] www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
didier Posté(e) le 5 août 2008 Posté(e) le 5 août 2008 Bonjour, oui, tu te trompes,(adat-btp)je confirme que la possibilité d'écrire des pentes avec Covadis existe je ne savais pas que adat-btp possédait Covadis je pensais qu'il recevait des fichiersde bureaux d'études extérieurset que dans ce cas la possibilitéd'avoir des échelles différentes s'avérait. toujours amicalement. Éternel débutant... Mon site perso : Programmer dans AutoCAD
La Lozère Posté(e) le 5 août 2008 Auteur Posté(e) le 5 août 2008 Salut,Didier, on peu écrire des pentes lorsque l'on crée un profil en travers, mais es-ce que l'on peut mesurer une pente sur un profil en travers pour une simple vérification sans faire de cotation?Car on utilise Covadis pour la conception, mais dans le cas présent, tu avais raison, on a reçu des fichiers extérieurs que l'on doit vérifier. Et comme ils ont été fait avec mensura, les profil sont pas bien lisible.Merci www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
La Lozère Posté(e) le 7 août 2008 Auteur Posté(e) le 7 août 2008 Salut,J'ai modifié le prog de Gile pour avoir ce que je voulais quelque soit le quadrant.Il y avais peut-être plus simple avec une meilleur syntaxe, mais sa marche. (defun c:pente (/ p1 p2 dX dY) (and (setq p1 (getpoint "\nSpécifiez le premier point: ")) (setq p2 (getpoint p1 "\nSpécifiez le deuxième point: ")) (setq dX (- (car p2) (car p1))) (setq dY (- (cadr p2) (cadr p1))) (princ (strcat "\nDistance = " (rtos (distance p1 p2)) "\t Delta X = " (rtos dX) "\t Delta Y = " (rtos dY) (if (zerop dX) "\t Verticale" (strcat "\t Pente = " (rtos (if (< dX 0) (if (> dY 0) (abs (* 100 (/ dY dX))) (* -100 (/ dY dX))) (* 100 (/ dY dX)))) "%" ) ) ) ) ) (princ) ) Merci à vous, cela ma permis de regarder comment fonctionné certains trucs basic en lisp. Il faut dire que pour moi c'est vieux (15 ans). A plus. www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
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