gillespj Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Bonjour, Par une fonction ou un lisp, est-il possible de remplacer un point par un bloc ? et vice versa ? ex :Sur un fichier il y a 100 arbres représentés par 100 points. Je souhaite remplacer chaque point par un bloc "ARBRE" Peut-on déplacer automatiquement des points vers une polyligne par un accrochage objet "perpendiculaire" et ce en définissant la périmétre de recherche par le point ? Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Matt666 Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Est-ce que tes points sont dans un calque précis ? Ou tous les points existants doivent être remplacés ? "Chacun compte pour un, et nul ne compte pour plus d'un." Lien vers le commentaire Partager sur d’autres sites More sharing options...
gillespj Posté(e) le 12 décembre 2007 Auteur Partager Posté(e) le 12 décembre 2007 Oui, le fichier est bien organisé. Les points et les polylignes sont dispatchés dans chaque calque bien définis. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Salut,Par une fonction ou un lisp, est-il possible de remplacer un point par un bloc ? et vice versa ?;;; Remplace Nodal par Bloc demandé (defun c:pt-blc (/ sel i nb) (vl-load-com) (princ "\n Choix des points :") (or (setq sel (ssget '((0 . "POINT")))) (setq sel (ssget "_X" '((0 . "POINT"))))) (setq nb (getstring T (strcat "\n Entrez le nom du bloc <"(getvar "INSNAME")">:"))) (if (equal nb "") (setq nb (getvar "INSNAME"))) (repeat (setq i (sslength sel)) (command "_insert" nb (cdr (assoc 10 (entget (ssname sel (setq i (1- i)))))) 1 1 0) (vla-delete (vlax-ename->vla-object (ssname sel i))) ) (princ (strcat "\n " (rtos (sslength sel)) " Points remplacé par Bloc "(getvar "INSNAME")"")) (princ) ) ;;;Remplace Bloc Selectionné par Nodal (defun c:bloc-pt (/ sel i) (vl-load-com) (princ "\n Choix des Blocs :") (or (setq sel (ssget '((0 . "INSERT")))) (setq sel (ssget "_X" '((0 . "INSERT"))))) (repeat (setq i (sslength sel)) (command "_point" (cdr (assoc 10 (entget (ssname sel (setq i (1- i))))))) (vla-delete (vlax-ename->vla-object (ssname sel i))) ) (princ (strcat "\n " (rtos (sslength sel)) " Blocs remplacé par Point.")) (princ) ) [Edité le 13/12/2007 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Peut-on déplacer automatiquement des points vers une polyligne par un accrochage objet "perpendiculaire" et ce en définissant la périmétre de recherche par le point ?Est-ce que ce lisp de (gile) ne te conviendrais pas ? (Ecrire une demande par post !!!) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gillespj Posté(e) le 12 décembre 2007 Auteur Partager Posté(e) le 12 décembre 2007 Le lisp de gile créé une ligne entre le point et la polyligne alors que j'aimerais que le point se déplace sur la polyligne. Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Peut-on déplacer automatiquement des points vers une polyligne par un accrochage objet "perpendiculaire" et ce en définissant la périmétre de recherche par le point ? J'ai répondu à cette question dans l'autre sujet. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
gillespj Posté(e) le 12 décembre 2007 Auteur Partager Posté(e) le 12 décembre 2007 Merci, ça fonctionne. Peut-on rajouter dans le script une "fonction" requête (nom du bloc ?) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Re,Peut-on rajouter dans le script une "fonction" requête (nom du bloc ?)je pense que c'est de mon code que tu veux parler... (et oui, c'est le problème avec plusieurs demande dans un même message ... ;) )C'est fait, j'ai modifié le code pour qu'un nom de bloc soit demandé (ou par défaut le bloc insérer précedement) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
richard-c Posté(e) le 13 décembre 2007 Partager Posté(e) le 13 décembre 2007 bonjour, je suis sous V2002. voila ce que me retourne AutoCAd après avoir lancé pt-arb : [surligneur] Commande: ; erreur: no function definition: VLAX-ENAME->VLA-OBJECT[/surligneur] il a quand même dessiné le 1er bloc. A+ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bred Posté(e) le 13 décembre 2007 Partager Posté(e) le 13 décembre 2007 Salut Richard-c,Sous 2002 les fonctions visual-lisp ne doivent pas être chargé automatiquement.Il faut donc lui demander de le faire.Il faut rajouter (vl-load-com) en début de code.J'ai modifié les codes ci-dessus en conséquence. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose... Lien vers le commentaire Partager sur d’autres sites More sharing options...
richard-c Posté(e) le 13 décembre 2007 Partager Posté(e) le 13 décembre 2007 merci,et poutant je savais (et l'avais dejà fait) qu'il falait ajouté cette fonction. A+ 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