Aller au contenu

-Olivier-

Membres
  • Compteur de contenus

    1 024
  • Inscription

  • Dernière visite

  • Jours gagnés

    17

Tout ce qui a été posté par -Olivier-

  1. Salut X_all et Dinosor, Tout à fait d'accord. Ce bug, existant depuis belle lurette oblige parfois à de multiple sélections. Agaçant ++
  2. Bonjour philsogood, La commande Filter permet de mettre plusieurs conditions pour un même filtre là où avec Quick select, il faut faire la sélection en plusieurs étapes. Mais surtout, les filtres sont enregistrables et réutilisables pour les autres dessins. Donc, lorsque tu as des filtres que tu utilisent régulièrement... A+
  3. -Olivier-

    gestion des calques

    Bonjour bluesnote, Suivant sur quelle entête de colonne tu sélectionne (Nom, Actif, Geler, Ver..) le tri sera différent. Tu peux aussi te créer des fitres de groupes où de propriété (partie gauche). Olivier
  4. Salut, VDH-BRUNO Je n'ai pas encore testé la mise à jour mais merci d'avoir tenu compte de mon commentaire. philsogood Pour répondre à ta question, utiliser le lisp en transparence permet de l'utiliser pendant l'exécution d'une autre commande. Comme par exemple la commande 'cal pour pouvoir calculer une distance au moment ou autocad là demande. Lance la commande ligne sélectionne ton premier point puis tape 'ldis, l'affichage des types de lignes sera modifié pour pouvoir sélectionner le second point. Lorsque termine ta commande ligne, l'affichage reviens automatiquement à l'origine. Magique !! B) Olivier
  5. Super, Effectvement cela marche tout seul... Bon, eh bien je crois que je rentre en bonne place dans le classement du boulet du jour. :D Merci encore !
  6. Bonjour VDH-BRUNO, Je viens de tester la fonction en transparence et elle fonctionne parfaitement. En revanche lorsque je lance la commande normalement, je ne parviens pas à faire revenir l'affichage initiale, autrement qu'avec annulation. Un second appel ne change rien. Je doit avoir loupé quelques chose. Sinon ta commande correspond exactement à une demande que j'avais faites dernièrement. Mon lien La réponse de Christian posait un problème pour les objets courbes. Merci encore. :)
  7. Bonjour Lecrabe, Escuse-moi je n'ai pas reçu ton message, l'adresse que tu indiques ne correspond en rien à celle enregistrée. Essaye celle-ci : Si tu as encore la version 1.0, peut-tu me la retransmettre. Je comprend pas pourquoi cela ne fonctionne plus chez toi. Olivier
  8. Bonjour à tous, Dans l'attente du résultat des tests du Crabe, (ça doit être la marée haute... de boulot) voici la version 1.5 qui tient compte des polylignes fermées. ;;; COMMANDE CPOLYPART v1.5 ;;; EFFECTUE UNE COPIE D'UNE PARTIE DE POLYLIGNE ENTRE LES POINTS SELECTIONNES SUR LE CALQUE COURRANT ;;; PAR -Olivier- le 15/07/2012 (defun c:cpolypart (/ *error* echo accro pt1 pt2 ent_dxf pt_dxf deb_dxf pt1_dxf pt2_dxf pt3_dxf rpt_dxf fin_dxf) (vl-load-com) (defun *error* (errmsg) (setvar "cmdecho" echo) (setvar "osmode" accro) (princ errmsg) ) (setq echo (getvar 'cmdecho) accro (getvar 'osmode)) (setvar "cmdecho" 0) (initget 1) (setq pt1 (reverse (cdr (reverse (getpoint "\n Sélectionnez le 1er point de la polyligne"))))) (initget 1) (setq pt2 (reverse (cdr (reverse (getpoint "\n Sélectionnez le 2nd point de la polyligne"))))) (setvar "osmode" 0) (if (and (= (sslength (ssget "_C" pt1 pt2)) 1) (= (cdr (assoc 0 (entget (ssname (ssget "_C" pt1 pt2) 0)))) "LWPOLYLINE") (/= (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) (entget (ssname (ssget "_C" pt1 pt2) 0))) nil) (/= (vl-member-if '(lambda (x) (equal (cdr x) pt2 1e-009)) (entget (ssname (ssget "_C" pt1 pt2) 0))) nil) ) (progn (if (equal pt1 pt2 1e-009) (command "_copytolayer" (ssget "_C" pt1 pt2) "" (getvar 'clayer) "Q") (progn (command "_copytolayer" (ssget "_C" pt1 pt1) "" (getvar 'clayer) "Q") (setq ent_dxf (entget (entlast))) (if (= (cdr (assoc 70 ent_dxf)) 1) (progn (setq pt_dxf (vl-member-if '(lambda (x) (= (car x) 10)) ent_dxf) pt1_dxf (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) pt_dxf) deb_dxf (reverse (vl-member-if '(lambda (x) (= (car x) 39)) (reverse ent_dxf))) pt0_dxf (reverse (cdr (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) (reverse pt_dxf)))) ent_dxf (append deb_dxf pt1_dxf pt0_dxf) ent_dxf (subst (cons 70 0) (assoc 70 ent_dxf) ent_dxf) ) ) ) (setq pt_dxf (vl-member-if '(lambda (x) (= (car x) 10)) ent_dxf) deb_dxf (reverse (vl-member-if '(lambda (x) (= (car x) 39)) (reverse ent_dxf))) pt1_dxf (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) pt_dxf) pt2_dxf (vl-member-if '(lambda (x) (equal (cdr x) pt2 1e-009)) pt_dxf) ) (if (> (length pt1_dxf) (length pt2_dxf)) (progn (setq fin_dxf (vl-member-if '(lambda (x) (= (car x) 10)) (cdr pt2_dxf)) rpt_dxf (reverse pt1_dxf) pt3_dxf (reverse (repeat (length fin_dxf) (setq rpt_dxf (cdr rpt_dxf)) ) ) ent_dxf (append deb_dxf (if (= pt3_dxf nil) pt1_dxf pt3_dxf)) ) ) (progn (setq fin_dxf (vl-member-if '(lambda (x) (= (car x) 10)) (cdr pt1_dxf)) rpt_dxf (reverse pt2_dxf) pt3_dxf (reverse (repeat (length fin_dxf) (setq rpt_dxf (cdr rpt_dxf)) ) ) ent_dxf (append deb_dxf (if (= pt3_dxf nil) pt1_dxf pt3_dxf)) ) ) ) (entmod ent_dxf) ) ) ) (princ) ) (setvar "osmode" accro) (setvar "cmdecho" echo) (princ) ) Olivier
  9. Bonjour, Dans tes blocs, il n'y aurait pas dans tes blocs, plusieurs dont les champs renvoient la même valeur. Dans ce cas, après une rapide lecture du lisp de Bryce, il me semble que le programme tente de créer un bloc avec un nom déjà utilisé provoquant donc une erreur. Olivier.
  10. Bonjour, Sélectionne ton image et regarde dans ses propriétés la ligne Qualité du tracé. Olivier
  11. En fait non, elle ne fonctionne pas à tous les coups. J'ai toujours le problème avec les traits d'axe de charpente (cf. mon premier lien) Lorsque l'on est zoomé sur une partie restreinte d'une ligne en trait d'axe avec une échelle de type de ligne importante. L'accrochage devient compliqué. Olivier
  12. Bonjour, Non, non, tu as très bien compris l'énoncé et ta solution fonctionne parfaitement. Cependant lorsque qu'il y a un grand nombre d'objet à tracer à la suite, (la dernière fois que j'ai eu le soucis, j'avais plusieurs centaines de cotes à tracer). Entrée manuellement des options à chaque fois n'est pas très efficace à mon goût. Tout à fait d'accord, l'icône est une espèce en voie de disparition sur mes écrans. Olivier
  13. -Olivier-

    Copie point de base

    Bonjour Siha et bienvenue parmis nous, Si tu pouvais juste mettre les liens vers les postes concernés pour éviter de te faire des réponses en doublon. Olivier
  14. -Olivier-

    renommer bloc

    Hello, Tu n'a pas supprimé la définition de bloc initiale. Olivier
  15. Heureusement que les cadxpiens étaient là sinon je n'aurais pas encore ouvert ma première parenthèse. Cela faisait longtemps que je voulais automatiser certaine tâches au boulot mais avec l'aide au programmeur d'Autocad :unsure: :blink: <_< :(
  16. Routine modifiée pour tenir compte du problème avec le dernier point. Olivier
  17. Hello, Une copie de l'objet en passant par les fonctions vlisp que je métrise pas changera peut-être le résultat. Je n'ai pas de problème avec les polylignes contenants des segements. Curieux, j'ai simplement ajouté 4 conditions pour le fonctionnement : - Un et un seul objet sélectionné. - Cet objet est une LWPOLYLIGNE - Le point 1 est un des points de la polyligne - Le point 2 est un des points de la polyligne Supprime les 2 lignes suivantes (correspond au 2 dernières conditions) pour voir si cela s'arrange. (/= (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) (entget (ssname (ssget "_C" pt1 pt2) 0))) nil) (/= (vl-member-if '(lambda (x) (equal (cdr x) pt2 1e-009)) (entget (ssname (ssget "_C" pt1 pt2) 0))) nil) Comme je l'ai dit lors du premier message je suis encore débutant (j'ai commencé le lisp il y a 4 mois en amateur). :D
  18. J'ai modifié le lisp ci-dessus pour supprimer les problèmes d'erreurs lorsque les points ne sont pas bien sélectionnés. J'ai repéré aussi que lorsque l'on sélectionne le dernier point de la polyligne, la commande ne fonctionne pas. Je suis ouvert à tous commentaires sur ce lisp.
  19. Bonjour lecrabe, Comme personne n'a encore répondu, voici un petit essai : (defun c:cpolypart (/ *error* echo accro pt1 pt2 ent_dxf pt_dxf deb_dxf pt1_dxf pt2_dxf pt3_dxf rpt_dxf fin_dxf) (vl-load-com) (defun *error* (errmsg) (setvar "cmdecho" echo) (setvar "osmode" accro) (princ errmsg) ) (setq echo (getvar 'cmdecho) accro (getvar 'osmode)) (setvar "cmdecho" 0) (initget 1) (setq pt1 (reverse (cdr (reverse (getpoint "\n Sélectionnez le 1er point de la polyligne"))))) (initget 1) (setq pt2 (reverse (cdr (reverse (getpoint "\n Sélectionnez le 2nd point de la polyligne"))))) (setvar "osmode" 0) (if (and (= (sslength (ssget "_C" pt1 pt2)) 1) (= (cdr (assoc 0 (entget (ssname (ssget "_C" pt1 pt2) 0)))) "LWPOLYLINE") (/= (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) (entget (ssname (ssget "_C" pt1 pt2) 0))) nil) (/= (vl-member-if '(lambda (x) (equal (cdr x) pt2 1e-009)) (entget (ssname (ssget "_C" pt1 pt2) 0))) nil) ) (progn (if (equal pt1 pt2 1e-009) (command "_copytolayer" (ssget "_C" pt1 pt2) "" (getvar 'clayer) "Q") (progn (command "_copytolayer" (ssget "_C" pt1 pt1) "" (getvar 'clayer) "Q") (setq ent_dxf (entget (entlast)) pt_dxf (vl-member-if '(lambda (x) (= (car x) 10)) ent_dxf) deb_dxf (reverse (vl-member-if '(lambda (x) (= (car x) 39)) (reverse ent_dxf))) pt1_dxf (vl-member-if '(lambda (x) (equal (cdr x) pt1 1e-009)) pt_dxf) pt2_dxf (vl-member-if '(lambda (x) (equal (cdr x) pt2 1e-009)) pt_dxf) ) (if (> (length pt1_dxf) (length pt2_dxf)) (progn (setq fin_dxf (vl-member-if '(lambda (x) (= (car x) 10)) (cdr pt2_dxf)) rpt_dxf (reverse pt1_dxf) pt3_dxf (reverse (repeat (length fin_dxf) (setq rpt_dxf (cdr rpt_dxf)) ) ) ent_dxf (append deb_dxf (if (= pt3_dxf nil) pt1_dxf pt3_dxf)) ) ) (progn (setq fin_dxf (vl-member-if '(lambda (x) (= (car x) 10)) (cdr pt1_dxf)) rpt_dxf (reverse pt2_dxf) pt3_dxf (reverse (repeat (length fin_dxf) (setq rpt_dxf (cdr rpt_dxf)) ) ) ent_dxf (append deb_dxf (if (= pt3_dxf nil) pt1_dxf pt3_dxf)) ) ) ) (entmod ent_dxf) ) ) ) (princ) ) (setvar "osmode" accro) (setvar "cmdecho" echo) (princ) ) Ce lisp fonctionne sur les LWPOLYLIGNE et conserve les XDATA. Je n'ai pas testé pour ODs n'ayant pas MAP. Je suis encore débutant donc il reste quelques soucis. Je n'ai pas encore réussi à mettre une sortie propre si les points ne sont pas sur une polyligne ou sur une polyligne différente. Enfin, je ne sais pas faire les boucles automatiques donc... Je pense que d'autres feront beaucoup mieux, il reste encore du (command...) ! Olivier Edité le 12/07/2012 à 17h12
  20. -Olivier-

    réduire un plan

    Ma réponse ne me parraissait pas sarcastique, si tel est le cas, c'était involontaire de ma part et j'en suis désolé. Cette réponse te conviens t'elle où non. :unsure: PS : Au passage un petit Bonjour, Salut,... au début du premier poste ne coûte rien.
  21. Bonjour, Tu as l'option MAJ Auto d'activée. Les options de l'éditeur de texte sont accessibles à partir de la flèche tout à droite de la barre de l'éditeur. Olivier
  22. -Olivier-

    réduire un plan

    Hello, Dans ce cas, allez dans le gestionnaire de mise en page, puis : Choisir le format A1 Dans aire de tracé , choisir fenêtre. Dans échelle de tracé, cocher à la taille du papier. Olivier
  23. Bonjour, Concernant ton premier souhait, j'avais soulevé le problème il y a peu. REBCAO avait trouvé une première solution avec la variable RESVUE à passer de 1000 à 1 mais qui ne fonctionne malheureusement pas pour les objets non linéaires. Voir ce sujet Je suis d'accord qu'Autodesk pourrais créer un commutateur plus efficace. Olivier
  24. Bonjour Barbichette, Pour la sélection rapide, choisis "texte" ou "texmult" comme type d'objet puis propriété "index" et enfin mes ta chaîne de caractères. Si certaines chaines reviennent fréquemment, utilise la commande filter et enregistre ton filtre. La sélection de filtre doit être sur "valeur de texte". Olivier
  25. J'ai Autocad 2011 et la commande NCPOY est présente uniquement dans les express tool. La commande n'est sans doute plus la même. Sur l'ancienne, il n' y a pas d'option.
×
×
  • 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é