Aller au contenu

vinz34

Membres
  • Compteur de contenus

    340
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par vinz34

  1. Salut, Une proposition : (defun c:int (/ ss elist lst l1 i lsti) (princ "\nSélectionner les lignes : ") (setq ss (ssget '((0 . "line")))) (repeat (setq n (sslength ss)) (setq elist (entget (ssname ss (setq n (1- n)))) lst (cons (list (cdr (assoc 10 elist)) (cdr (assoc 11 elist))) lst))) (while (cdr lst) (setq l1 (car lst) lst (cdr lst)) (foreach n lst (setq i (inters (car l1) (cadr l1) (car n) (cadr n))) (if i (setq lsti (cons i lsti)))))) Il ne te reste qu'à faire le cercle.
  2. Salut, Ca faisait longemps. Je ne donnerai pas l'avis d'un pro, mais tu simplifier tes setq : setq sel1 (ssget)) (setq sel2 (ssadd)) (setq compteur 0) (setq longsel1 (sslength sel1)) (setq sel1 (ssget)) sel2 (ssadd) compteur 0 longsel1 (sslength sel1)) En tout cas, je vois que tu as fait de beaux progrès. [Edité le 31/1/2008 par vinz34]
  3. Salut schpountz, Tu devrais trouver la bonne variable du côté de autosave dans l'aide d'autocad>Présentation des commandes>Variables systèmes. Une fois que tu l'as tu la mets dans un lisp chargé au démarage. exemple : (setvar "autosave" 5)
  4. Salut Arcasdk, Si tu regardes bien, tu verras que la boucle existe bien. Elle commence ici : (while (not bnewname) et se termine là : (setq bnewname nil)))). Pour la longueur du code, je ne pense pas qu'elle influe sur le temps d'éxecution vu le niveau où en sont nos machines aujourd'hui. je cherchais seulement à éviter le "command" En revanche après l'avoir testé un peu plus, il s'avère qu'il ne gère pas les blocs dynamiques et surtout qu'il ne vérifie pas si l'entité sélectionnée est un bloc. J'aurais un peu plus detemps pour regarder demain matin. ------------------------------------------------------------------------------------------ Maintenant si tu le permets, je peux apporter une correction à ta version. Quand tu écris : (setq nouveaunom (getstring "\nIndiquez le nouveau nom :")) ;VERIFICATION DU NOUVEAU NOM (setq js (ssget "X" '((0 . "INSERT")))) (sslength js) (setq x 0) (while (/= x (sslength js)) (setq nom_ent (ssname js x)) (setq ent (entget nom_ent)) (setq name (cdr (assoc '2 ent))) (if (= name nouveaunom) (progn (while (= name nouveaunom) (alert "Ce nom de bloc existe déjà") (setq nouveaunom (getstring "\nIndiquez le nouveau nom :"))))) (setq x (+ x 1)) ) Tu ne vérifies que les blocs insérés dans le dessin, et non tous les blocs du dessin. Pour être certain que ton nouveau nom n'est pas déjà utilisé par un bloc, il faut aller vérifier dans la table des blocs, ce qui revient à écrire la boucle dont je parlais plus haut: (while (not nouveaunom) (setq nouveaunom (getstring "\nIndiquez le nouveau nom :")) (if (tblsearch "block" nouveaunom) (progn (alert "Ce nom de bloc existe déjà") (setq bnewname nil)))) Voilà qui simplifie et complète ton code. Tu peux remplacer ton extrait par le mien, j'ai conservé tes variables. A Présent ton code est opérationnel et plus efficace que le mien. ---------------------------------------------------------------------------------------------- Edit : Merci Gile, pour ma part le vlisp n'est pas ma langue natale, j'essaie de m'y mettre mais je ne comprends jamais d'où sortent des combinaisons comme celle que tu as donné qui enchaine vla-name, vla-item,... J'essaierais de comprendre demain. [Edité le 31/1/2008 par vinz34]
  5. J'avais oublié le test sans command ça peut être ça : (defun c:br (/ b blist bname bnewname) (while (not b) (setq b (car (entsel "\nChoix du bloc à renommer"))) ) (setq blist (entget (cdr (assoc 330 (cdr (entget (tblobjname "block" (cdr (assoc 2 (entget b)))) ))))) bname (cdr (assoc 2 blist)) ) (while (not bnewname) (setq bnewname (getstring (strcat "\nNouveau nom pour le bloc \"" bname "\" :") ) ) (if (tblsearch "block" bnewname) (progn (print "ce nom de bloc existe déjà") (setq bnewname nil) ) ) ) (entmod (subst (cons 2 bnewname) (assoc 2 blist) blist)) )
  6. Salut, J'ai eu beau cherché en vl, je n'y arrive pas. Une proposition en autolisp : (defun c:br (/ b blist bname bnewname) (while (not b) (setq b (car (entsel "\nChoix du bloc à renommer"))) ) (setq blist (entget (cdr (assoc 330 (cdr (entget (tblobjname "block" (cdr (assoc 2 (entget b))))))))) bname (cdr (assoc 2 blist)) bnewname (getstring (strcat "\nNouveau nom pour le bloc \"" bname "\" :"))) (entmod (subst (cons 2 bnewname) (assoc 2 blist) blist)) ) Je pense qu'on peut faire plus court pour blist.
  7. vinz34

    rotation avec cotes

    Salut, Pour envoyer ton fichier tu peux par exemple utiliser cjoint. En ce qui concerne tes cotations, j'ai déjà rencontré ce problème. Je vois 2 raisons qui expliquent ce phénomène : 1 - Ta côte n'est pas associative 2 - Les points d'attache de ta côte ne sont pas sur un point de l'objet déplacé ==> Il faut repérer ces cotations et les associer au bon point
  8. vinz34

    Hachures, hachures....

    Salut yusukens82, Je ne sais sais pas si ça vient du fait que j'ai installé le correctif SP1, mais chez moi ça fonctionne.
  9. vinz34

    Liste des Echelles

    Salut, l'écriture pour une version française serait plutôt : (command "_.scalelistedit" "r" "o" "q") Sinon tu peux aller voir 2 sujets où le problème a déja été soulevé ici et là
  10. Salut barbichette, Dans la boîte de dialogue de publiblaction, tu as dans les options de publication la possibilité de choisir si tu veux un fichier à une feuille ou à plusieurs feuilles. Dans ton cas il faut choisir un fichier oà une feuille.
  11. Bien vu, Merci bonuscad, la liste commencait à devenir longue. J'espère que ce sera quand même corrigé par Autodesk, d'après la citation de Bred on peut penser que oui.
  12. vinz34

    nuage de révision?

    Salut, Quand tu exécutes la commande "nuagerev", avant de donner ton point de départ, tu tapes "L" pour définir la longueur minimale de l'arc, puis la longueur maximale de l'arc. Pour clore ton nuage de révision, il te suffit de t'approcher de ton point de départ.
  13. vinz34

    copier coller pasteclick

    Salut, C'est certainement un réglage des paramètres. Tu dois être en coordonnées relatives et non absolues. Essaies la commande paramdess. (je ne sais pas si elle existe sur AutoCAD 2000)
  14. vinz34

    LONG. DEV. BLOCS DYN

    Salut lili2006, J'ai enfin trouvé un peu de temps pour regarder ce sujet qui m'intéresse aussi. Je me suis penché sur la question en VL, ce n'est pas impossible mais ça risque de devenir très long si tu as bcp de blocs de ce genre. Une autre possibilité --qui serait la plus simple et quin fonctionne très bien -- serait de reprendre tous tes blocs un par un, et pour chaque état de visibilité, ajouter une polyligne à l'axe de l'acier associée à un champ objet qui te récupère la longueur développée. PM : N'oublies pas d'intégrer la polyligne d'axe à toutes tes actions étirer.
  15. Salut, Désolé ça doit être une commande des express tools, ci c'est le cas je n'ai pas d'autres solutions. (Toujours pas de LT pour tester autre chose.)
  16. vinz34

    XREFS CHARGES ?

    Salut lili, J'ai également ce problème, mais le fait de recharger fonctionne pour moi. Je ne sais pas si ç'est un problème de variable, je rencontre ce problème quand je gèle et dégèle le calque contenant l'Xref en autolisp.
  17. vinz34

    mise à l\'echelle de blocs

    Re, Pas bête le coup de la macro, si Autodesk n'améliore pas l'annotativité sur la 2009, je reviendrais à la bonne vieille méthode en ajoutant les macros (plutôt en lisp je n'aime pas les boutons).
  18. vinz34

    mise à l\'echelle de blocs

    Salut, Tu peux aussi utiliser l'annotativité, si tu définit ton bloc en objet annotatif. A moins que préfère la bonne vieille méthode que te conseille didier.
  19. vinz34

    LONG. DEV. BLOCS DYN

    Salut lili2006, Si tu m'envoies ton bloc je veux bien tenter en vlisp.
  20. vinz34

    Filtre texte

    Salut, C'est quoi les RTEXT, c'est pas plutôt les MTEXT ?
  21. Y'a quelqu'un ? pascal19 ?
  22. vinz34

    reperage plans structures

    Evidemment que ça ne colle pas dans ce sens, Dans l'ordre : Arase supérieure - Sous face = épaisseur de plancher ou Sous face de plancher + épaisseur de plancher = Arase supérieure du plancher .... PS : Désolé pour la coupe c'est plus l'heure.
  23. vinz34

    shx tube carré

    Bon, j'ai enfin réussi à décompiler un shx avec DUMPHX. C'était pas évident d'autant plus qu'apparement sur les express 2008 ça ne fonctionne pas (plantage) - testé sur 2 postes en 2008. J'ai utilisé celui d'une version 2006, et là OH MIRACLE, un fichier shp. Maintenant j'essaye de déchiffrer tout ça pour adapter Si je prends le mappage 216 j'ai ça : Donc je vais commencer comme ça pour utiliser le 215 : *000D7,10,TUBCAR 014,010,01C,018,022,002,02A,001,01A,0 Comme je m'en doutais ça ne fonctionne pas, je devrais commencer plutôt comme ça : *000D7,10,TUBCAR 2,14,8................ et là je fais appel à la forme définie TUBCAR par le code 7 ? [Edité le 15/1/2008 par vinz34]
  24. vinz34

    reperage plans structures

    Salut, On va considérer que tu es sur un plancher haut de RdC - S/face dalle : 164.89 ==> sous face du plancher du R+1 : 164.89 (niveau ngf) - AS / + 165.13 / 24 / 164.89 SF ==> Arase supérieure / niveau ngf de la dalle du R+1 / épaisseur de plancher / sous face du plancher du R+1 : 164.89 (niveau ngf) - P464 20x20 ==> poteau de dimensions 20x20cm - HSD 246 ==> hauteur sous dalle (entre plancher RdC et sous face plancher R+1) 246 cm - R423 / 40x55ht / S.F. 164.53 ==> repérage de poutre / dimensions de la poutre (base : 40cm, hauteur totale : 55cm) / sous face de la poutre (niveau ngf) - AIP 210 ==> Arase inférieure de la poutre à 210 cm du plancher du RdC [Edité le 15/1/2008 par vinz34]
  25. vinz34

    shx tube carré

    Là j'avoue que je suis largué, Est-ce que je dois réécrire mon shp et le compiler en ttf, où est-ce qu'il faut créer le ttf directement ? J'ai regardé sur ta page, mais pas de shp ni de ttf. D'après ton "code hexa unicode fontes shp.dwg", si j'ai bien compris je peux partir sur un mappage 215.
×
×
  • 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é