Aller au contenu

bonuscad

Membres
  • Compteur de contenus

    5 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    56

Tout ce qui a été posté par bonuscad

  1. bonuscad

    Enlever Surbrillance

    Pour les grips ce n'est pas identiques. Si tu mets simplement ceci en fin de ton exemple, tu n'as plus de problème :P (sssetfirst nil nil) Y a t-il un équivalent en vla ? J'ai pas regardé... [Edité le 10/7/2007 par bonuscad]
  2. Comme la dit Pieroka REDIR est peut être la solution la plus simple (équivalent a ma proposition) Par contre je ne sais pas si cela fonctionne avec des chemins UNC, pas testé...
  3. extrait depuis wikipedia Pour en revenir au lisp le re-voici avec une modif (defun c:rxref ( / cmd bl ch rc nw_ch tot) (setq cmd (getvar "cmdecho") tot 0 ; ch (getvar "dwgprefix") ch "\\\\serveur\\partage\\chemin\\" bl (tblnext "block" t) ) (setvar "cmdecho" 0) (command "_.undo" "_group") (princ "\nTravail en cours...")(princ) (while bl (if (= (logand (cdr (assoc 70 bl)) 4) 4) (progn (setq rc (cdr (assoc 1 bl))) (while (and (not (zerop (strlen rc))) (/= (substr rc (strlen rc) 1) "\\")) (setq rc (substr rc 1 (1- (strlen rc)))) ) (if (/= rc "") (progn (setq nw_ch (vl-string-subst ch rc (cdr (assoc 1 bl)))) (if (findfile nw_ch) (progn (command "_.xref" "_path" (cdr (assoc 2 bl)) (vl-string-left-trim (getvar "dwgprefix") nw_ch)) (setq tot (1+ tot)) ) ) ) ) ) ) (setq bl (tblnext "block")) ) (command "_.undo" "_end") (setvar "cmdecho" cmd) (princ (strcat "\nModification de " (itoa tot) " chemin(s)")) (princ) ) il faut juste que tu adapte la ligne suivante (qui reprend l'exemple de wikipedia) ch "\\\\serveur\\partage\\chemin\\" en mettant le chemin de ton réseau. (penser à bien doubler les anti-slash") Donc une fois que tu a fais cette modif dans le bloc-note ou tu auras copié-collé le code que je t'ai fourni. Pour tester si ca fonctionne tu peux faire simplement un copier-coller du bloc-note (avec ta modif) directement en ligne de commande d'autocad. Tu devrais avoir un retour C:RXREF si tu as bien valider aprés la dernière parenthèse du copier-coller. RXREF et donc une nouvelle commande autocad que tu devra taper au clavier. Si cela fonctionne, enregistre le fichier avec une extension LSP pour pouvoir t'en reservir plus tard. Cherche sur le forum, il y a un tuto pour charger des lisps (lsp)
  4. Nos réponses ce sont croisées. Donc j'ai bien compris, c'est le fichier accueillant les xrefs qui est passé d'un dossier situé sur le réseau à un dossier situé par exemple sur ta machine. Les chemins réseau sont de forme UNC ou un lecteur virtuel a été associé au chemin du réseau? J'ai fais un lisp pour redéfinir le chemin des xrefs depuis un chemin absolu vers une position relative, bien qu'il ne réponde pas à ta demande, cela peut être un point de départ pour réécrire tes chemins. (defun c:rxref ( / cmd bl ch rc tot) (setq cmd (getvar "cmdecho") tot 0 ch (getvar "dwgprefix") bl (tblnext "block" t) ) (setvar "cmdecho" 0) (command "_.undo" "_group") (princ "\nTravail en cours...")(princ) (while bl (if (= (logand (cdr (assoc 70 bl)) 4) 4) (progn (setq rc (cdr (assoc 1 bl))) (while (and (not (zerop (strlen rc))) (/= (substr rc (strlen rc) 1) "\\")) (setq rc (substr rc 1 (1- (strlen rc)))) ) (if (/= rc "") (progn (setq ch (vl-string-subst ch rc (cdr (assoc 1 bl)))) (if (findfile ch) (progn (command "_.xref" "_path" (cdr (assoc 2 bl)) (vl-string-left-trim (getvar "dwgprefix") ch)) (setq tot (1+ tot)) ) ) ) ) ) ) (setq bl (tblnext "block")) ) (command "_.undo" "_end") (setvar "cmdecho" cmd) (princ (strcat "\nModification de " (itoa tot) " chemin(s)")) (princ) )
  5. Là, je ne comprends pas, si le chemin des xrefs était correct et bien enregistré, et que ceux-ci n'ont pas bouger de leur dossier d'origine, il ne devrait y avoir aucun problème même si le fichier accueillant les xrefs a bougé de dossier. Le problème ce pose généralement dans l'autre sens: quand les xrefs sont déplacés vers un autre dossier.
  6. bonuscad

    Enlever Surbrillance

    Bred, Sur quel type d'entité travaille tu? Car en fait, moi je n'ai aucun problème avec la surbrillance, que ce soit avec (redraw) ou (vla-Highlight) Pour moi ces lignes fonctionnent correctement: ((lambda ( / lst_sel e) (while (setq e (entsel)) (setq lst_sel (cons (vlax-ename->vla-object (car e)) lst_sel)) ) (cond (lst_sel (initget "ON OFF") (if (eq (getkword "\nSurbrillance [ON/OFF]: ") "ON") (foreach n lst_sel (vla-Highlight n :vlax-True)) (foreach n lst_sel (vla-Highlight n :vlax-False)) ) ) ) ))
  7. bonuscad

    Enlever Surbrillance

    Trouvé dans l'aide VBA Essayes la méthode update qui sera certainement moins contraignante.
  8. bonuscad

    COUPER ET SUPPRIMER

    Il y a peut être des incompatibilité avec LT-Extender et l'arx fourni pour une 2007 pleine. Je n'ai jamais utilisé LT-Extender, donc j'aurais beaucoup de mal à t'aider. Ce que je comprend du message d'erreur, est qu'il y a une exception dans la fonction appelée (qbrick ?) Pour voir; essayes directement en ligne de commande la ligne que tu as proposée: (if (not (member "qbrick2007.arx" (arx))) (arxload "qbrick2007.arx")) Si celle-ci ne retourne pas de message d'erreur et qu'elle retourne "qbrick2007.arx" essayes la suivante: (command "_.qbrick" "_fence") Si celle-ci te demande des points de trajet, c'est que le problème vient du lisp, autrement cela vient de l'arx qbrick. A ce moment essayes de voir avec l'auteur, s'il y a une solution possible...
  9. bonuscad

    repere

    A ma connaissance aucune possibilité, la commande "repere" ("_plan") exige une régénération de la fenêtre et le zoom est effectué à chaque fois. :(
  10. bonuscad

    COUPER ET SUPPRIMER

    Le lisp est à modifier selon la version d'arx que tu vas utiliser. Cela ce passe dans la ligne suivante... (if (not (member "qbrick2000.arx" (arx))) (arxload "qbrick2000.arx"))
  11. bonuscad

    style s de texte

    Rappel: Un excellent lisp "StripMtext" , qui pourra t'aider pour mieux gérer le formatage des Multi-textes. J'avais fait une traduction du DCL (on doit le retrouver sur cadxp en faisant une recherche avec "stripmtext"), mais je ne sais pas si il est encore compatible avec la version proposée...
  12. Merci à Buschert, Je n'ai fait qu'une traduction en Français, Le site indiqué a changé, impossible de retrouver le code source. Le code a 10 ans, il y a peut être mieux aujourd'hui, mais s'il fonctionne...
  13. Bonjour, Pour peut être éviter une réinstallation, essaies de créer simplement un nouveau profil voir si tu récupères les fonctionnalitées. Cela peut suffire pour ce genre de problèmes, et c'est moins laborieux ;)
  14. Salut (setq sel_bloc (ssget (list (cons 0 "insert")))) (setq n -1) (repeat (sslength sel_bloc) (setq nom_bloc (cdr (assoc 2 (entget (ssname sel_bloc (setq n (1+ n))))))) (print nom_bloc) ) Sel_bloc contient un JEU DE SELECTION On initialise un compteur (ici -1 car indexation dans un jeu de sélection commence à 0) On répète pour le nombre d'élément contenu dans le jeu de sélection. -------- On récupère le nom du bloc, en extrayant les données DXF (entget) du nom de l'entité -------- (ssname) extrait du jeu de sélection par incrémentation du compteur (1+) --------- avec le nom du bloc, tu fais ce que tu veux (ici j'ai fait un (print)) On termine la boucle de répétition.
  15. Ben, on se le demande.... :P Dis moi, comment fais tu si ta polyligne fait un "8" ? :casstet:
  16. bonuscad

    Ssget...

    Bonjour, Nous sommes bien d'accord, c'est la couleur DES entités, PAS celle du calque qui pourrait être cyan ou magenta. (sssetfirst nil (ssget "_X" '((-4 . "< OR") (62 . 4) (62 . 6) (-4 . "OR>")))) NB: enlever l'espace entre < et OR
  17. Salut, Et si tu te rends ICI Si tu cliques sur "Web Browser" tu accèdes par aux discussion par HTTP Si tu cliques sur "News Reader" tu accèdes par un compte News dans Outlook/Thunderbird, je crois que la configuration ce fait toute seule, à voir.... Choisir le forum français bien sur, (y'en a qu'un)
  18. bonuscad

    historique commandes

    Salut, Quand je veux répéter plusieurs fois une séquence de commande, et que je ne veux pas écrire un script pour cette occasion, au lieu de cliquer sur les boutons pour appeler mes commandes, je les tapes intégralement au clavier (options comprise). De ce fait je peux rappeler toutes mes séquences en utilisant les flèches bas et haut qui me font défiler l'historique des entrées clavier, je n'ai plus qu'a valider. Si tu utilise aussi le clavier pour fournir tes points, ex: 0,0,0 ou des valeur relatives, ex @15<45, tu retrouvera aussi ces valeurs dans l'historique d'entrée, pratique si tu sait que ces valeurs vont te resservir. NB: les alias fonctionnent aussi, mais je te conseille te taper la commande en entier car c'est plus lisible dans l'historique pour s'y retrouver (surtout si ta séquence est longue). Bien sur ceci n'est valable que dans le dessin en cours, donc de dessin à dessin un script sera la seule solution, mais les pauses pour les entrées utilisateur ne sont pas possible.
  19. bonuscad

    Je suis riche!

    Ils ont oublié de te demander ton numéro de CB ainsi que ton code pour procéder au virement ;)
  20. bonuscad

    Impression images

    Vu l'énoncé succinct du problème... As tu un message d'erreur sur le traceur du style "Mémoire pleine, données perdues" ? Les images sont très consommatrices de mémoires, si c'est le cas configure ton traceur avec spool sur ton ordinateur
  21. Essayes ce qui est proposé ici La démarche proposée me semblerai plus simple, tu crée une XLine et tu utilise la fonction "mult_offset" Mais peut être que je n'ai pas bien compris ton souhait, je te laisse quand même essayer...
  22. bonuscad

    Ca fait longtemps

    Moi aussi, je le trouve excellent, :cool: Pour l'instant j'suis un peu bloqué à celui-ci (code 987319) :( Mais j'vais bien trouver! :) Merci Jalna
  23. Extrait de l'aide Autocad, et oui il faut y penser... Donc dans ton cas, il faudrait qu'elle soit inférieure à 1
  24. Il te faut rentrer (malgré d'avoir spécifié Horizontal) des valeur sous formes de coordonnées et non une valeur numérique seule. Bien que la commande accepte cette valeur unique, elle la considère comme une distance prise depuis la position de ton curseur (et non de l'origine 0,0) donc pour une bonne résolution de tes XLINE fais plutôt par exemple: 0,valeur désirée (avec OSMODE à 0)
  25. Selon l'état de la variable EXPERT, rendre le calque inactif lors de l'usage du jocker "*" ne posera pas la question "Voulez vous réellement inactiver la calque courant < Oui/Non > :" Il te faut donc adapter le script en conséquence....
×
×
  • 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é