Aller au contenu

VtKp

Membres
  • Compteur de contenus

    88
  • Inscription

  • Dernière visite

Tout ce qui a été posté par VtKp

  1. VtKp

    Pente le long d\'un axe

    Bonjour a tous Bryce le lien n'est plus disponible Peux tu le ré-initialiser ? Merci Pourquoi vexe pierrevigneux ? Attention ? Merci encore de ton aide Bryce
  2. VtKp

    Pente le long d\'un axe

    Le texte doit si possible se positionnier au milieu de la ligne a z 0 et selon l'orientation des lignes Projeter Merci encore
  3. VtKp

    Pente le long d\'un axe

    Bonjour Merci Bryce c'est exactement ce qu'il me faut Les blocs se projettent parfaitement dans un nouveau calque nickel et les interpolations se font nickel aussi Vraiment merci Il ne manque plus que le calcul de pEnte et l'insertion des textes dans un nouveau calque si possible Merci encore de ton aide
  4. VtKp

    Pente le long d\'un axe

    Je n'y ai pas pensé de mettre mon dwg dans un zip tout simplement voici le lien en espérant que cela vous aidera http://www.cijoint.fr/cjlink.php?file=cj201102/cijDcczE5l.zip Merci encore de votre aide.
  5. VtKp

    Pente le long d\'un axe

    Bonjour à tous, Merci pour vos réponses. Merci vincentp010 pour ton lisp mais lorsque je l'utilise, les blocs origines ne bougent pas, j'ai essayé avec une version ci-dessous que je me suis permis de modifer ; Retourne les sommets d'une polyline3D sous forme de liste ((x y z) (x y z)) (defun listSomP3d (pl / lst nb pts ptsl) (setq lst (vlax-safearray->list (vlax-variant-value (vla-get-coordinates pl)))) (setq nb 0) (while (<= nb (length lst)) (if (< (length pts) 3) (progn (setq pts (append pts (list (nth nb lst)))) (setq nb (+ nb 1)) ) (progn (setq ptsl (append ptsl (list pts))) (setq pts nil) ) ) ) (print ptsl) ) (defun c:proj (/ acc ss pl coords zmin zmax count blk ptins nb lst pt ptint dis zproj blkproj attr AttName) (setvar "CMDECHO" 0) (command "annuler" "m") (setq acc (getvar "OSMODE")) (setvar "OSMODE" 0) (prompt "\nProjection de Blocs sur Polyligne 3D") (prompt "\nSelectionner les blocs a projeter") (setq ss (ssget)) (setq pl (car (entsel "\nPointez la polyligne 3D"))) (setq pl (vlax-ename->vla-object pl)) (if (/= (vla-get-objectname pl) "AcDb3dPolyline") (exit 1)) (setq coords (listSomP3d pl)) ; Trouve l'altitude min et max de la poly3d (setq zmin (nth 2 (nth 0 (vl-sort coords (function (lambda (e1 e2) (< (nth 2 e1) (nth 2 e2)))))))) (setq zmax (nth 2 (nth 0 (vl-sort coords (function (lambda (e1 e2) (> (nth 2 e1) (nth 2 e2)))))))) (setq count 0) (while (< count (sslength ss)) (setq blk (ssname ss count)) (setq ptins (cdr (assoc 10 (entget blk)))) ; Calcul la distance la plus courte jusqu'a la polyligne en fonction de l'altitude du point entre zmin et zmax (setq nb zmin lst nil) (while (< nb zmax) (setq pt (list (car ptins) (cadr ptins) nb)) (setq ptint (vlax-curve-getClosestPointTo pl pt)) (setq dis (distance pt ptint)) (setq lst (append lst (list (list dis nb)))) ; On teste tous les cm (setq nb (+ nb 0.005)) ) (setq zproj (nth 1 (nth 0 (vl-sort lst (function (lambda (e1 e2) (< (car e1) (car e2)))))))) ; Creation du nouveau bloc (command "_copy" blk "" ptins (list (car ptint) (cadr ptint) zproj)) (entmod (subst (cons 8 "BLOC_PROJETES") (assoc 8 (entget (entlast))) (entget (entlast)))) ; Modification de l'atribut altitude (setq blkproj (vlax-ename->vla-object (entlast))) (setq attr (vlax-invoke blkproj 'getattributes)) (foreach a attr (setq AttName (vla-get-TagString a)) (if (= AttName "ALTITUDE") (vla-put-TextString a (rtos zproj 2 2))) ) (setq count (+ count 1)) ) (setvar "OSMODE" acc) (prin1) ) Il faudrait si possible sélectionner les blocs qui se trouvent à une certaine distance de l'axe 3D et non pas les sélectionner les uns après les autres, d'autre part, les blocs doivent si possible être projetés perpendiculairement à l'axe 3D avec une altitude au mm près. Bien sur si c'est possible. Je vous joins comme le conseille bryce un exemple de mon fichier plus parlant. http://www.cijoint.fr/cjlink.php?file=cj201102/cijGo2KGTY.jpg j'essaie de trouver un hébergeur gratuit de mon dwg sur lequel vous pourrait le télécharger mais en vain, je continue et je reviens vers vous Merci encore de votre aide.
  6. VtKp

    Pente le long d\'un axe

    Bonjour a tous, Je ne m'en sors toujours pas pour faire ce lisp qui projette en 3d les blocs sur mon axe. Quelqu'un aurait-il une idée ? Merci d'avance
  7. VtKp

    Pente le long d\'un axe

    Bonjour a tous Merci chris_mtp pour ce lisp qui certes n'est pas tout a fait ce que je souhaite mais reste un bon début Il ne me reste qu'à essaye de programmer un truc pour interpoler en z un point connu en xy qui serait sur mon axe polyligne 3D Si quelqu'un pourrait m'aider pour commencer ? Merci encore de votre aide
  8. VtKp

    Pente le long d\'un axe

    Oui Didier les blocs ont un z connu et ne sont pas a z 0 Les blocs origines ne doivent pas bouger en X Y Il faudrait interpoler une copie de ces blocs perpendiculairement sur l'axe 3d Merci encore de ton attention
  9. VtKp

    Pente le long d\'un axe

    Merci de vos réponses Mes points topo sont des blocs avec attribut Le z du bloc ou l'altitude du point est la première étiquette de mes attributs intitule ALTITUDE Et mon bloc point se nomme POINTS Je veux projeter ces blocs sur mon axe 3D et déterminer les pentes des blocs projetés par rapport aux blocs D'origine et non par rapport aux sommets de la polyligne 3D L'altitude des blocs projetés doit donc changer par rapport blocs d'origines et être interpoles sur mon axe 3D Peux t-on le faire en lisp ? Merci encore de votre aide
  10. VtKp

    Pente le long d\'un axe

    Bonjour a tous Personne ne peut m'aider vraiment sur ce problème.
  11. Je n'ai pas bien compris la demande Tu veux renseigner des attributs de. Blocs automatiquement !? Un fichier serait le bienvenu pour éclaircir ta demande
  12. VtKp

    Pente le long d\'un axe

    Bonjour Lilli Non je n'ai pas Covadis mais attention de ne pas confondre, je ne veux pas de ma polyligne 3D entre les sommets de mon axe en plan mais les pentes entre les blocs projetés sur la polyligne 3D et les blocs origines De plus les pentes calculees devront s'écrire dans Autocad Est ce possible avec Autocad ? J'ai déjà trouve un lisp de gile apparement qui projette les blocs sur un axe mais pour les pentes ? Je ne sais pas programmer d'où ma question. Merci D' avance pour vos réponses
  13. VtKp

    Pente le long d\'un axe

    Bonjour a tous Il y a eu un bug au premier message Je viens vers vous car je voudrais savoir s'il est possible en lisp de sélectionner des blocs qui se trouvent a une certaine distance d'un axe en plan 2D de manière a calculer des pentes entre ces blocs points topo et l'axe 3D. Je précise que sous l'axe en plan 2D se trouve une polyligne 3D avec des z variables. Il faudrait je pense Projeter les blocs sur l'axe puis calculer et écrire les pentes entre les blocs origines et les blocs projetés J'espère ne pas trop embrouiller l'esprit par contre je précise que je n'ai pas de MNT dans mon fichier. Merci par avance de votre aide
×
×
  • 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é