Aller au contenu

richard-c

Membres
  • Compteur de contenus

    232
  • Inscription

  • Dernière visite

Tout ce qui a été posté par richard-c

  1. richard-c

    Incrémenter des suffixes

    bonjour (gille) incsuf fonctionne bien, il faut penser à mettre incsuff dans le premier pour que cela fonctionne. une petite case de dialogue (avec un exemple) au lancement pour régler les paramètres serait peut être la bienvenue, car certains utilisateurs (qui ne font pas de lisp ) ne vont jamais dans un programme ou ne lisent pas les info que tu donnes. (exmple : moi, je ne les ai pas lu la 1ère fois que j'ai lancé le lisp.) c'est super. A+
  2. richard-c

    Pack and GO

    Bonjour, avec la V2002, j'utilise [surligneur] e transmit[/surligneur] Fichier => etransmit... A+
  3. çà ne marche pas voici la réponse d'AutoCAD 2002 : [surligneur] Commande: (mid-pl) ; erreur: nombre d'arguments insuffisants[/surligneur] A+
  4. Bonjour à tous, suite à une suppression des connexions internet dans nos services depuis noel . . . j' ai réussi à avoir une connexion sur CADxp, ouf. et à 2 mois de partir en retraite . . . voilà, je cherche un lisp pour V2002, qui me donnerais le milieu d'une polyligne et d'y insèrer un bloc ou un texte. J'ai bien bricolé un lisp qui divise par 2 la polyligne , cherche le X et Y du point, efface le point . . . etc mais c'est hard. Bonne journée.
  5. bonjour, est ce que la variable PICKSTYLE n'est pas à 0 (zéro) ? A+
  6. richard-c

    TEXTE + COTE en avant

    je pense que les lisps de (gile) sont meilleurs que celui envoyé ci-avant, mais je n'ai que V2002, et les prgrammes de (gile) ne fonctionne pas toujours avec ma version, ce qui est normal. A quand une nouvelle version d'AutoCAD pour pouvoir tout gouter . . . A+
  7. richard-c

    TEXTE + COTE en avant

    j'ai placé (et j'ai oublié de le signaler) WIPEOUT.arx (de express) sous un chemin reconnu par AutoCAD A+
  8. richard-c

    TEXTE + COTE en avant

    au fait, tu lances box_text_att pour lancer le programme A+
  9. richard-c

    TEXTE + COTE en avant

    bonjour, voilà un petit programme que j'avais bricolé avec BonusCAD (BonusCAD y était pour beaucoup) il masque les textes et les attributs cela peut être itérressant pour toi (defun transpts (apt matrix / ) (list (+ (* (car (nth 0 matrix)) (car apt)) (* (car (nth 1 matrix)) (cadr apt)) (* (car (nth 2 matrix)) (caddr apt)) (cadddr (nth 0 matrix)) ) (+ (* (cadr (nth 0 matrix)) (car apt)) (* (cadr (nth 1 matrix)) (cadr apt)) (* (cadr (nth 2 matrix)) (caddr apt)) (cadddr (nth 1 matrix)) ) (+ (* (caddr (nth 0 matrix)) (car apt)) (* (caddr (nth 1 matrix)) (cadr apt)) (* (caddr (nth 2 matrix)) (caddr apt)) (cadddr (nth 2 matrix)) ) ) ) (defun v_matr (dpt alphax alphay alphaz echx echy echz / ) (list (list (* echx (cos alphaz) (cos alphay)) (- (sin alphaz)) (sin alphay) (car dpt) ) (list (sin alphaz) (* echy (cos alphaz) (cos alphax)) (- (sin alphax)) (cadr dpt) ) (list (- (sin alphay)) (sin alphax) (* echz (cos alphax) (cos alphay)) (caddr dpt) ) (list 0.0 0.0 0.0 1.0) ) ) (defun nettoyer ( / ok choix) (setvar "cmdecho" 0) (foreach n (arx) (if (wcmatch "wipeout.arx" n) (setq ok T))) (if (not ok) (arxload "wipeout")) (command "_.regen") (command "_.wipeout" "_frame" "_off") (setq choix (entlast)) (command "_.wipeout" "_new" choix "_yes" ) (setvar "cmdecho" 1) (princ) ) (defun c:box_text_att ( / ent_txt dxf_ent ins_point ht_txt lg_box ht_box ang_box pt_just lst_box transform diag_box sv_osm sv_cmd sv_blp cur_col mask_txt) (while (setq ent_txt (nentsel "\n Choix d'un TEXTE ou d'un ATTRIBUT : ")) (command "_.UCS" "_new" "_object" ent_txt);;;non (setq dxf_ent (entget (car ent_txt))) (cond ((and (equal (assoc 210 dxf_ent) '(210 0.0 0.0 1.0)) (eq (cdr (assoc 0 dxf_ent)) "MTEXT")) (setq ins_point (cdr (assoc 10 dxf_ent)) ht_txt (/ (cdr (assoc 40 dxf_ent)) 5.0) lg_box (cdr (assoc 42 dxf_ent)) ht_box (cdr (assoc 43 dxf_ent)) ang_box (cdr (assoc 50 dxf_ent)) pt_just (cdr (assoc 71 dxf_ent)) ) (setq lst_box (list (list (- ht_txt) ht_txt 0.0) (list (+ lg_box ht_txt) ht_txt 0.0) (list (+ lg_box ht_txt) (- 0.0 ht_box ht_txt) 0.0) (list (- ht_txt) (- 0.0 ht_box ht_txt) 0.0) ) ) (cond ((eq pt_just 1) (setq transform (v_matr (list 0.0 0.0 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 2) (setq transform (v_matr (list (- (/ lg_box 2.0)) 0.0 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 3) (setq transform (v_matr (list (- lg_box) 0.0 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 4) (setq transform (v_matr (list 0.0 (+ (/ ht_box 2.0)) 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 5) (setq transform (v_matr (list (- (/ lg_box 2.0)) (/ ht_box 2.0) 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 6) (setq transform (v_matr (list (- lg_box) (/ ht_box 2.0) 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 7) (setq transform (v_matr (list 0.0 ht_box 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 8) (setq transform (v_matr (list (- (/ lg_box 2.0)) ht_box 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ((eq pt_just 9) (setq transform (v_matr (list (- lg_box) ht_box 0.0) 0.0 0.0 0.0 1.0 1.0 1.0)) ) ) (setq lst_box (mapcar '(lambda (x) (transpts x transform)) lst_box)) (setq transform (v_matr (trans ins_point 0 1) 0.0 0.0 (- ang_box) 1.0 1.0 1.0)) (setq lst_box (mapcar '(lambda (x) (transpts x transform)) lst_box)) ) ((or (and (equal (assoc 210 dxf_ent) '(210 0.0 0.0 1.0)) (eq (cdr (assoc 0 dxf_ent)) "TEXT")) (and (equal (assoc 210 dxf_ent) '(210 0.0 0.0 1.0)) (eq (cdr (assoc 0 dxf_ent)) "ATTRIB")) ) (setq diag_box (textbox dxf_ent) ins_point (cdr (assoc 10 dxf_ent)) ht_txt (/ (cdr (assoc 40 dxf_ent)) 10.0) ang_box (cdr (assoc 50 dxf_ent)) ) (setq lst_box (list (list (- (caar diag_box) ht_txt) (- (cadar diag_box) ht_txt) 0.0) (list (+ (caadr diag_box) ht_txt) (+ (cadadr diag_box) ht_txt) 0.0) (list (- (caar diag_box) ht_txt) (+ (cadadr diag_box) ht_txt) 0.0) (list (+ (caadr diag_box) ht_txt) (+ (cadadr diag_box) ht_txt) 0.0) ) ) (setq transform (v_matr ins_point 0.0 0.0 (- ang_box) 1.0 1.0 1.0)) (setq lst_box (mapcar '(lambda (x) (transpts x transform)) lst_box)) (setq lst_box (mapcar '(lambda (x) (trans x 0 1)) lst_box)) ) (T (princ "\nN'est pas un TEXTE ou un ATTRIBUT , ou non parallèle au SCG.") (setq lst_box nil) ) ) (cond (lst_box (setq sv_osm (getvar "osmode") sv_cmd (getvar "cmdecho") sv_blp (getvar "blipmode") cur_col (getvar "CECOLOR") ) (setvar "cmdecho" 0) (setvar "blipmode" 0) (setvar "osmode" 0) (setvar "CECOLOR" "DuCalque") (command "_.rectang" (car lst_box)) (setq lst_box (cdr lst_box)) (repeat 3 (command (car lst_box)) (setq lst_box (reverse (cdr lst_box))) ) (command "") (nettoyer) (command "_.draworder" ent_txt "" "AV" ) (command "_.UCS" "P") ) (setvar "cmdecho" sv_cmd) (setvar "blipmode" sv_blp) (setvar "osmode" sv_cmd) ) ) (princ) ) A+
  10. merci, et poutant je savais (et l'avais dejà fait) qu'il falait ajouté cette fonction. A+
  11. 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+
  12. bonjour, pour complèter la réponse de yw22 AJOUTER : AutoCAD permet d'ajouter une Xrèf à un dessin, c'est à dire de l'intégrer à celui-ci de manière permanente. Elle ne constitue plus alors un fichier externe. Les informations sur les références externes deviennent un bloc. Les calques sont précédés du nom de la Référence Externe. INSERER : AutoCAD permet d'ajouter une Xrèf à un dessin, c'est à dire de l'intégrer à celui-ci de manière permanente. Elle ne constitue plus alors un fichier externe. Les informations sur les références externes deviennent un bloc. Les calques de la Xréf sont intégrés à la liste des calques du dessin hôte (les calques de même nom sont regroupés) A+
  13. richard-c

    objet OLE excel

    Bonjour, c'est vrais, j'ai le même problème (avec V2002), j'ai fais l'essai ctrl C sous excel puis ctrl V dans AutoCAD, çà fonctionne, j'ai ma page complète, par contre si je double clic dans ma page excel pour l'ouvrir, la page s'ouvre bien, mais quand je la ferme (la page), mon fichier excel redevient comme si je j'avais inseré en objet OLE classique. voilà ce que je constate. A+
  14. lili2006, non je n'ai pas covadis, et c'est pas à mon age (- de 2 ans)que je prendrai covadis, je le laisse aux jeunes ( on attend une 2ème version bientôt ), j'ai demandé que çà soit ma jeune collègue qui l'ai, mais entre nous j'aimerais bien quand même. Bon week end. A+
  15. pour (gile), je suis d'accord, le programme n'est pas de toi mais tu dépannes tellement souvent. pour lili2006, je n'ai pas trouver de différence entre les 2 programmes, dans celui que j'ai modifoé suivant tes désirs, (enfin je pense), il y avais un petit bug, il ne fonctinnait qu'une seule fois, il fallait fermer le dessin et le rouvrir pour que cela fontionne de nouveau. voilà ma nouvelle alchimie (je ne suis pas programmeur comme nos amis. par contre je n'en vois pas une utilité personnelle (poutant je fais du VRD) mais avec le temps, je changerai surement d'idée. (defun c:pnt2blk (/ ss ct len e eb bname pt attreqhold echohold) ;;;get command echo setting and store it (setq echohold (getvar "CMDECHO")) ;;;set command echo off (setvar "CMDECHO" 0) ;;;get attribute request setting and store it (setq attreqhold (getvar "ATTREQ")) ;;;set attribute request off (setvar "ATTREQ" 0) ;;;get name of block to insert ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;Choix du calque courrant (princ "\n Sélection du calque destination ") (setq OBJ (car (entsel))) (setq OBJ1 (entget obj)) (setq CALQ (assoc '8 obj1)) (setq calq_cour (cdr calq)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq bname (getblock "\n Choix du bloc: ")) ;;;;;(setq bname (getstring "\nBlock name: ")) ;;;check that the block is defined in the current drawing (if (tblsearch "block" bname) (progn ;;;prompt for point selection (princ "\n Sélectionner ler points:") ;;;if point objects were selected (if (setq ss (ssget '((0 . "POINT")))) (progn ;;;walk through point objects (setq len (sslength ss)) (setq ct 0) (while (< ct len) ;;;for each point (setq e (ssname ss ct)) (setq ct (+ ct 1)) (setq eb (entget e)) ;;;get insert point (setq pt (cdr (assoc 10 eb))) ;;;insert block (command "_insert" bname pt "" "" "") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (command "_.CHANGE" (entlast) "" "PR" "CA" calq_cour "") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ) ) (princ "\nNo point objects selected.") ) ) (princ "\nInvalid, block not defined in drawing.") ) ;;;restore command echo setting to stored value (setvar "CMDECHO" echohold) ;;;restore attribute request setting to stored value (setvar "ATTREQ" 0) (princ) ) A+
  16. j'ai essayé la dernière version de (gile) je n'ai pas vu de différence avec la version précédente, j'avais bidouillé çà : on choisi le calque destination on choisi le bloc à insèrer avec getblock les lignes ajoutées sont entre les ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:pnt2blk (/ ss ct len e eb bname pt attreqhold echohold) ;;;get command echo setting and store it (setq echohold (getvar "CMDECHO")) ;;;set command echo off (setvar "CMDECHO" 0) ;;;get attribute request setting and store it (setq attreqhold (getvar "ATTREQ")) ;;;set attribute request off (setvar "ATTREQ" 0) ;;;get name of block to insert ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;Choix du calque courrant (calq_cour) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq bname (getblock "\n Choix du bloc: ")) ;;;;;(setq bname (getstring "\nBlock name: ")) ;;;check that the block is defined in the current drawing (if (tblsearch "block" bname) (progn ;;;prompt for point selection (princ "\n Sélectionner ler points:") ;;;if point objects were selected (if (setq ss (ssget '((0 . "POINT")))) (progn ;;;walk through point objects (setq len (sslength ss)) (setq ct 0) (while (< ct len) ;;;for each point (setq e (ssname ss ct)) (setq ct (+ ct 1)) (setq eb (entget e)) ;;;get insert point (setq pt (cdr (assoc 10 eb))) ;;;insert block (command "_insert" bname pt "" "" "") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (command "_.CHANGE" (entlast) "" "PR" "CA" calq_cour "") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ) ) (princ "\nNo point objects selected.") ) ) (princ "\nInvalid, block not defined in drawing.") ) ;;;restore command echo setting to stored value (setvar "CMDECHO" echohold) ;;;restore attribute request setting to stored value (setvar "ATTREQ" 0) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;Choix du calque courrant (defun calq_cour () (princ "\n Sélection du calque destination ") (setq OBJ (car (entsel))) (setq OBJ1 (entget obj)) (setq CALQ (assoc '8 obj1)) (setq calq_cour (cdr calq)) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. bonjour, en associant getblock.lsp de (gille) à ton programme, tu as un peu plus de convivialité. tu remplaces ;;;get name of block to insert (setq bname (getstring "\nBlock name: ")) par [surligneur] (setq bname (getblock "\nBlock name: "))[/surligneur] A+
  18. Bonjour, ou alors utiliser [surligneur] ssfilter.LSP[/surligneur] de (gile) A+
  19. bonjour, j'ai rajouté 2 petites ligne pour passer en EO flottant et revenir en EP après, çà évite de faire un zoom intempestif das la fenêtre quand elle n'est pas vérrouillée (defun c:gel_fen2 () (foreach l (getlayers "Calque à geler dans la fenêtre courante" nil) (command "_mspace" "") (command "_.vplayer" "_freeze" l "" "") (command "_pspace" "") ) (princ) ) qu'en pense (gile) ? A+
  20. OK, c'est vais ce n'est pas une boite polyvalente, je révise et poserai ma question dans un noveau message plus tard A+
  21. OK, merci (gile), dans le même principe, peut on avoir une commande qui décale une ligne la 1ère fois de X la suivante de X la suivante de X etc et ceci avec une boite de dialogue qui comprendrais un dizaine de lignes, ceci afin de faire faire rapidement des profils en travers merci et a+
  22. bonjour, sur V2002, quand je lance test.lsp, (getlayers est chargé), AutoCAD me retourne : [surligneur] ; erreur: nombre d'arguments insuffisants[/surligneur] autre question : dans : (if (setq lay (getlayer "Calque à rendre courant")) ne faut t'il pas dire : (if (setq lay ( [surligneur] getlayers[/surligneur] "Calque à rendre courant")) car on dit : [surligneur] (defun getlayers[/surligneur] A+
  23. salut (gile) je viens d'essayer getblock sous AutoCAD 2002, il faut supprimer la ligne [surligneur] :column{:button{label=\"Parcourir...\";key=\"wbl\";alignment=right;fixed_wi dth=true;}}[/surligneur] car j'ai le message : ligne5 => attribut incorrect => symbole "dth" A+
  24. bonjour, c'est le coin bas gauche de l'entité la plus à gauche et capturée pour être copiée qui est pris en compte, si c'est un cercle, c'est le coin bas gauche du carré fictif qui enveloppe le cercle qui est pris en compte, moi, j'aime mieux prendre 0,0,0 A+
  25. peut être qu'un message d'alerte serait le bienvenu si des calques sont gelés dans l'espace objet, car il faut lancer gelobj.lsp pour les dégeler, (si on les dégèle à la manière habituelle, on passe dans une présentation ,ils sont visibles, on revient en objet ils sont encore gelé. par contre j'ai fai l'essai sur un poste qui n'a pas gelobj.lsp, les calques sont gelé à l'ouverture et on les dégèle de la manière habituelle. A+
×
×
  • 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é