Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. Comme je travaille encore dans l'urgence, j'ai fais un petit Lisp pour faire ça, mais j'eusse aimé le faire en Diésel... Car mon lisp déplace la polyligne entièrement en Z alors que j'aimerais ne déplacer qu'un sommet... Denis...
  2. Waouw... Celui là, je ne l'avais pas vu... Merci encore Olivier...
  3. Bonjour à tous, Voilà, j'ai un petit souci aujourd'hui... Je dois recalculer des sommets de polylignes 3D. Voici la méthodologie : 1. cliquer sur la polyligne 3D pour activer les grippes, 2. cliquer sur un gripe pour en modifier le Z, 3. cliquer sur le Z à attribuer au sommet, 4. demander à l'utilisateur la constante à ajouter au Z précédemment cliqué, 5. attribution du nouveau Z au sommet de la polyligne... Voilà en grous ce que je souhaitrais faire, mais seul le n°4 me pose problème, comment demander à l'utilisateur une variable numérique pour l'attribué au Z cliqué. Là, je pense qu'il va falloir un peu de diésel... Voilà, si quelqu'un a une astuce, une idée ou un conseil, je suis preneur...
  4. Il fallait les trouver xyof et zof...! Voici mes trois petites formules : 1 point en XY et moyenne entre 2 Z 'cal xyof(_nod)+zof(_nod+_nod)/2; Moyenne entre 2 XY et 1 point en Z 'cal xyof(_nod+_nod)/2+zof(_nod); Moyenne entre 2XY et moyenne entre 2 Z 'cal xyof(_nod+_nod)/2+zof(_nod+_nod)/2;Encore merci à tous...
  5. Olivier : Les deux solutions font la même chose... Comprend pô...
  6. Merci Olivier pour ton aide. J'ai donc ça en code : ;;; Moyenne en XY et moyenne en Z ****** (defun Pt_2XY_2Z (/ P1 P2 P3 P4 PT) (if (and (setq P1 (getpoint "\n1er XY")) (setq P2 (getpoint "\n2ème XY")) (setq P3 (getpoint "\n1er Z")) (setq P4 (getpoint "\n2ème Z"))) (setq PT (list (* 0.5 (+ (car P1) (car P2))) (* 0.5 (+ (cadr P1) (cadr P2))) (* 0.5 (+ (caddr P3) (caddr P4))))) ) PT ) Et ça en ligne de commande : (Pt_2XY_2Z);_nod;\_nod;\_nod;\_nod\ Mais ça boucle sur le dernier point sans jamais cliquer... Même en ajoutant un ; à la fin de la ligne de commande...
  7. J'ai modifier ton code car j'en ai besoin pour d'autres utilités, j'ai donc fais 3 lisp : ;;; 1 point en XY et moyenne en Z ****** (defun c:Pt_1XY_2Z (/ P1 P2 P3 PT) (if (and (setq P1 (getpoint "\nPoint en XY")) (setq P2 (getpoint "\n1er Z")) (setq P3 (getpoint "\n2ème Z"))) (setq PT (list (car P1) (cadr P1) (* 0.5 (+ (caddr P2) (caddr P3))))) ) PT (princ) ) ;;; Moyenne en XY et 1 point en Z ****** (defun c:Pt_2XY_1Z (/ P1 P2 P3 PT) (if (and (setq P1 (getpoint "\n1er XY")) (setq P2 (getpoint "\n2ème XY")) (setq P3 (getpoint "\nPoint Z"))) (setq PT (list (* 0.5 (+ (car P1) (car P2))) (* 0.5 (+ (cadr P1) (cadr P2))) (caddr P3))) ) PT (princ) ) ;;; Moyenne en XY et moyenne en Z ****** (defun c:Pt_2XY_2Z (/ P1 P2 P3 P4 PT) (if (and (setq P1 (getpoint "\n1er XY")) (setq P2 (getpoint "\n2ème XY")) (setq P3 (getpoint "\n1er Z")) (setq P4 (getpoint "\n2ème Z"))) (setq PT (list (* 0.5 (+ (car P1) (car P2))) (* 0.5 (+ (cadr P1) (cadr P2))) (* 0.5 (+ (caddr P3)(caddr P4))))) ) PT (princ) ) Je lance donc ma première macro avec : (Pt_1XY_2Z);_nod;\_nod;\_nod;\ Mais j'obtiens ça dans AutoCAD : Mais il ne termine pas la commande et continu de me demander un point... Si t'as une idée... Ou autre, je suis preneur...
  8. Re, Ok... C'est bien ce que j'avais fais quand je saisissais l'XY avant le Z Ca deviens plus complex pour changer "simplement" une extrémité de polyligne 3D. Je pensais faire vite-fait une petite macro, avec .xy;_m2p....et puis .z Mais ça m'a l'aire vachement plus ardu que juste un filtre sur l'XY et le Z...
  9. Salut Olivier et merci pour ton aide. Justement, je souhaitais faire un peu de Diésel pour une fois, car je pensais que c'était super simple... Merci pour ton lisp, je vais devoir faire comme-ça...
  10. Merci Tramber, en suivant ton idée, voici ma formule : .z _nod \.xy 'cal (_nod+_nod)/2 Et voici le résultat : Comme on peut le constater, après la demande de XY, la commande s'arrête et reprend en .xy C'est à n'y rien comprendre...
  11. Salut bonuscad, et merci de me répondre... En fait, je clique un grip d'une polyligne 3D pour le déplacer et seulement après, je clique sur le bouton comprenant ma formule.
  12. Salut didier, et oui, je suis bien dans l'aide ;) , mais elle est super light. J'ai effectivement toujours un point là où je dois cliquer, c'est un semis de points de levé topo. Pour ce qui est de ma nouvelle formule, j'ai maintenant ça : .xy;'cal;(_nod+_nod)/2;_nod; Ca qui me donne dans AutoCAD : Le dernier _nod est saisie avec le clique droit, AutoCAD ne comprend pas le dernier _nod de ma formule...
  13. Tu veux parler de l'ancienne méthode ? 'cal (_nod+_nod)/2 Dommage que le _m2p ,e fonctionne pas... Curieux... Merci encore Tramber...
  14. Salut Tramber, et merci de me répondre. C'est corrigé, mais en fait, AutoCAD me demande le premier _nod, mais pas le deuxième, et donc, le troisième non plus...
  15. Bonjour à tous, Voilà, je cherche à déplacer des sommets de polylignes 3D tel que : - je clique deux points pour récupérer l'X et l'Y du milieu de ces deux points, - je clique sur un point pour récupérer son Z. Voici ma "formule" qui ne fonctionne pas : .xy;_m2p;_nod;\_nod;\_nod;\; Si quelqu'un a une astuce, un conseil ou une idée, je suis preneur... Denis...
  16. Salut à tous, et merci à tous... @Patrick_35 : ça ne fonctionne pas, mais l'erreur venait de moi... @(gile) : c'est exactement ça... J'avais une échelle de bloc en trop, ce qui décalait tout... @didier : partager ses connaissances n'implique pas de se prendre pour un "professeur"... C'est plus de la transmition de savoir, et tu remplis bien cette noble tache... Et merci encore à vous...
  17. Re Vincent, Voici les dialogues d'AutoCAD lors de l'insertion du bloc :
  18. Salut zebulon_, et merci pour ton aide, mais rien n'y fait... J'avais déjà essayé, mais je t'ai suivi et ai ajouté "_non", ce qui donne : (command "-inserer" Bloc "_non" Pt_Ins echBlk echBlk "_non" Pt_Dir) Et même problème, AutoCAD me répond : Vraiment, je m'y perd...
  19. Salut (gile), et merci pour ton aide... Mais c'est bien ce que je dis, les angles, c'est la galère ! ! J'ai essayé ça : (command "-inserer" Bloc Pt_Ins echBlk echBlk (angtos (angle Pt_Ins Pt_Dir)))Et ça aussi : (command "-inserer" Bloc Pt_Ins echBlk echBlk (angtos (angle Pt_Ins Pt_Dir) (getvar "AUNITS") 16)) Mais le problème reste le même, mon angle est de 1.00000gr. AutoCAD me répond : Je n'y comprend rien...
  20. Bonjour à tous, Voilà, j'ai un petit souci avec une macro, surtout avec un angle... En voici l'extrait concerné du code : ... (setvar "osmode" 0) (setvar "angbase" 0) (setvar "angdir" 0) (setvar "attreq" 0) (setvar "attdia" 0) (setvar "cmdecho" 0) (setvar "aunits" 2) ..... (setq Pt_Ins (getpoint "\tInsertion du block : ")) (setq Pt_Dir (getpoint Pt_Ins "\tDirection du block : ")) (setq Pt_Ins (list (car Pt_Ins) (cadr Pt_Ins) 0.0)) (setq Pt_Dir (list (car Pt_Dir) (cadr Pt_Dir) 0.0)) (command "-inserer" Bloc Pt_Ins echBlk echBlk (angle Pt_Ins Pt_Dir)) ..... Mais mon bloc s'insert systématiquement avec un angle de 1 grade... J'ai essayé beaucoup d'autres façons de faire, avec getorient, getangle, transformé l'angle (en radian) en grade... Bref, j'y ai passé l'après-midi et je tourne toujours en rond... Si quelqu'un a une astuce, une idée ou un conseil, je suis preneur... Denis...
  21. Salut à tous, et merci pour vos réponses... J'ai aussi trouvé dans l'aide (tu vois didier que je m'y rend de temps en temps ;) ) la commande nth qui m'a l'air plus facile d'utilisation, à mes yeux... Merci encore à tous... Denis...
  22. DenisHen

    Lisps de gile

    Salut (gile), et merci pour cette réponse... Ça fonctionne nikel...
  23. Je pense que je démarre bien : (setq Pt_Ins (getpoint "\tInsertion du block : ")) (setq Pt_Ins_X (car Pt_Ins)) (setq Pt_Ins_Y (cadr Pt_Ins)) Mais comment réattribuer à Pt_Ins l'X, l'Y et un Z à 0...? Et surtout, comment obtenir l'orientation d'un point obtenu avec une orientation 3D pour l'exploiter de façon 2D... En gros, je clique sur le milieu d'une polyligne 3D et ensuite, sur une de ses extrémité 3D pour insérer un bloc en 2D... j'ai fais déjà ça : (setq Pt_Ins (getpoint "\tInsertion du block : ")) (setq Pt_Dir (getorient Pt_Ins "\tDirection du block : ")) Pour finir par insérer un bloc avec toutes l'altimétrie à zéro...
  24. Bonsoir à tous, car à cette heure là, c'est le début de la soirée... Juste une petite question, je cherche à connaitre juste l'X et l'Y d'un point en 3D En gros, je demande à l'utilisateur de cliquer sur une polyligne 3D le milieu, mais je dois ne retenir que le point "2D", sans le Z... Pour insérer un bloc "à plat". Genre : Insérer un bloc avec l'X et l'Y du milieu d'une polyligne 3D... Je cherche mais n'arrive pas vraiment à séparer les (car, cdr, caddr et cadrdaddrdcadd d'un point... :P Si quelqu'un a une astuce, un conseil ou une idée... Je suis preneur... Aller, encore un efferalgan et au lit... Il est tant... ;)
  25. DenisHen

    Lisps de gile

    Bonjour (gile)... Voilà, j'ai RadicalPurge (RP) sur mon Tocad au boulo depuis belles lurettes... Mais voilà, quand je tente de l'installer chez moi, j'ai ceci...: Puis, ceci : Et ensuite... Oops, parti, rien n'est installé... C'est "chiant", car ton RadicalPurge, je l'utilise des centaines de fois par jour ! ! ! Tellement il est radicalement mieux que le "Purge" d'AutoCAD... Si tu as une solution ou une idée... Je suis preneur... Denis...
×
×
  • 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é