-
Compteur de contenus
1 024 -
Inscription
-
Dernière visite
-
Jours gagnés
17
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par -Olivier-
-
Salut X_all et Dinosor, Tout à fait d'accord. Ce bug, existant depuis belle lurette oblige parfois à de multiple sélections. Agaçant ++
-
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+
-
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
-
Modifier temporairement l’affichage des lignes discontinues en continues
-Olivier- a répondu à un(e) sujet de VDH-Bruno dans Routines LISP
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 -
Modifier temporairement l’affichage des lignes discontinues en continues
-Olivier- a répondu à un(e) sujet de VDH-Bruno dans Routines LISP
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 ! -
Modifier temporairement l’affichage des lignes discontinues en continues
-Olivier- a répondu à un(e) sujet de VDH-Bruno dans Routines LISP
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. :) -
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
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 -
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
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 -
[Résolu] Renommer un bloc par un de ses attributs
-Olivier- a répondu à un(e) sujet de gribscad dans AutoCAD 2013
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. -
Bonjour, Sélectionne ton image et regarde dans ses propriétés la ligne Qualité du tracé. Olivier
-
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
-
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
-
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
-
Hello, Tu n'a pas supprimé la définition de bloc initiale. Olivier
-
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
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: <_< :( -
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
Routine modifiée pour tenir compte du problème avec le dernier point. Olivier -
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
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 -
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
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. -
Copie partielle de Pline
-Olivier- a répondu à un(e) sujet de lecrabe dans Suggestions de développements
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 -
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.
-
Minuscules impossibles dans les textes multilignes
-Olivier- a répondu à un(e) sujet de globehugo dans AutoCAD 2013
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 -
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
-
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
-
Sélection de texte en fonction d'une partie du contenu
-Olivier- a répondu à un(e) sujet de barbichette dans AutoCAD 2010
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 -
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.
