-
Compteur de contenus
340 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par vinz34
-
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.
-
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]
-
Déparamétrage de la sauvegarde automatique
vinz34 a répondu à un(e) sujet de schpountz dans AutoCAD 2008
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) -
Renommer un bloc (A$C3056...) par un nom plus explicite.
vinz34 a répondu à un(e) sujet de Arcasdk dans Débuter en LISP
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] -
Renommer un bloc (A$C3056...) par un nom plus explicite.
vinz34 a répondu à un(e) sujet de Arcasdk dans Débuter en LISP
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)) ) -
Renommer un bloc (A$C3056...) par un nom plus explicite.
vinz34 a répondu à un(e) sujet de Arcasdk dans Débuter en LISP
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. -
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
-
Salut yusukens82, Je ne sais sais pas si ça vient du fait que j'ai installé le correctif SP1, mais chez moi ça fonctionne.
-
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à
-
Publication multiple dans des fichiers
vinz34 a répondu à un(e) sujet de barbichette dans AutoCAD 2008
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. -
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.
-
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.
-
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)
-
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.
-
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.)
-
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.
-
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).
-
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.
-
Salut lili2006, Si tu m'envoies ton bloc je veux bien tenter en vlisp.
-
Salut, C'est quoi les RTEXT, c'est pas plutôt les MTEXT ?
-
Y'a quelqu'un ? pascal19 ?
-
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.
-
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]
-
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]
-
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.
