Aller au contenu

Bred

Membres
  • Compteur de contenus

    2 764
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bred

  1. Salut (gile) et merci, non, ça ne fonctionne pas : je l'ai tester avec mon lisp de remplacement de bloc en -vl, je le copie ci-dessous : (j'ai changé le "vla-get-paperspace " en "vla-get-modelspace " sinon j'avais une erreur...) (defun c:bbb (/ bloc_sel bloc_R) (princ "\n------------------------------\n Sélection du Bloc à Remplacer :") (while (= bloc_sel nil) (setq bloc_sel (ssget "_:S:E" '((0 . "INSERT"))))) (setq bloc_R (getstring "\n Entrez le nom du bloc Remplaçant ou : ")) (if (= bloc_R "")(progn (while (= bloc_R "") (setq bloc_R (ssget "_:S:E" '((0 . "INSERT"))))) (setq bloc_R (cdr (assoc 2 (entget (ssname bloc_R 0))))))) (vla-put-layer (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point (cdr (assoc 10 (entget (ssname bloc_sel 0))))) (if (vla-item (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object)))bloc_R) (findfile (strcat bloc_R ".dwg" ))) (cdr (assoc 41 (entget (ssname bloc_sel 0)))) (cdr (assoc 42 (entget (ssname bloc_sel 0)))) (cdr (assoc 43 (entget (ssname bloc_sel 0)))) (cdr (assoc 50 (entget (ssname bloc_sel 0))))) (cdr (assoc 8 (entget (ssname bloc_sel 0))))) (entdel (ssname bloc_sel 0)) )
  2. merci bonuscad, mais je viens de tester et ça n'a pas l'air d'être ça....
  3. Salut, Lorsque j'utilise (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) vlax-3d-point pt) chem 1 1 1 0) à l'insertion du bloc, j'ai à chaque fois le message sur la ligne de commande : ... malgré cmdecho sur 0 ... y a t'il un moyen du supprimer ces messages ??? ...merci d'avance.
  4. Bred

    Remplacer blocs/entmake

    merci à vous 2, je vais regarder ça... (gile), au premier test ta routine n'a pas l'air de fonctionner...
  5. Salut, je viens d'écrire "vite-fait" un petit lisp permettant de remplacer un bloc par un aute (à la manière de l'express mais pour un bloc unique)... J'ai voulu apprendre à utiliser (entmake) et je suis embêter, car comme je m'en doutait il faut que le bloc "remplaçant" soit déjà inserer dans le plan pour que ça fonctionne... Y aurait t'il une astuce "propre" pour que ça fonctionne sans que ce bloc soit présent dans le dessin (je sais qu'en vl- c'est possible, mais je test le entmake....) (defun c:bbb (/ bloc_sel List_Info_Bloc bloc_sel2 bloc_R) (princ "\n------------------------------\n Sélection du Bloc à Remplacer :") (while (= bloc_sel nil) (setq bloc_sel (ssget "_:S:E" '((0 . "INSERT"))))) (setq List_Info_Bloc (append (list (cdr (assoc 2 (entget (ssname bloc_sel 0))))) ;nom 0 (list (cdr (assoc 8 (entget (ssname bloc_sel 0))))) ;calque 1 (list (cdr (assoc 10 (entget (ssname bloc_sel 0))))) ; pt insert 2 (list (cdr (assoc 41 (entget (ssname bloc_sel 0))))) ; ech x 3 (list (cdr (assoc 42 (entget (ssname bloc_sel 0))))) ; ech y 4 (list (cdr (assoc 43 (entget (ssname bloc_sel 0))))) ; ech z 5 (list (cdr (assoc 50 (entget (ssname bloc_sel 0)))))); rot (radian) 6 ) (setq bloc_R (getstring "\n Entrez le nom du bloc Remplaçant ou : ")) (if (= bloc_R "")(progn (while (= bloc_sel2 nil) (setq bloc_sel2 (ssget "_:S:E" '((0 . "INSERT"))))) (setq bloc_R (cdr (assoc 2 (entget (ssname bloc_sel2 0))))))) (entdel (ssname bloc_sel 0)) ;;;; Fonctionne si 1 bloc au moins inséré (entmake (list (cons 0 "INSERT") (cons 2 bloc_R) (cons 8 (nth 1 List_Info_Bloc)) (cons 10 (nth 2 List_Info_Bloc)) (cons 41 (nth 3 List_Info_Bloc)) (cons 42 (nth 4 List_Info_Bloc)) (cons 43 (nth 5 List_Info_Bloc)) (cons 50 (nth 6 List_Info_Bloc))) ) ) (le code peut être certainement simplifié, mais c'est un premier "jeté"...) ... merci d'avance. ------------------------------------------------------------------- Pour info, la version (simplifié) en -vl : (defun c:bbb (/ bloc_sel bloc_R) (princ "\n------------------------------\n Sélection du Bloc à Remplacer :") (while (= bloc_sel nil) (setq bloc_sel (ssget "_:S:E" '((0 . "INSERT"))))) (setq bloc_R (getstring "\n Entrez le nom du bloc Remplaçant ou : ")) (if (= bloc_R "")(progn (while (= bloc_R "") (setq bloc_R (ssget "_:S:E" '((0 . "INSERT"))))) (setq bloc_R (cdr (assoc 2 (entget (ssname bloc_R 0))))))) (vla-put-layer (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point (cdr (assoc 10 (entget (ssname bloc_sel 0))))) (findfile (strcat bloc_R ".dwg" )) (cdr (assoc 41 (entget (ssname bloc_sel 0)))) (cdr (assoc 42 (entget (ssname bloc_sel 0)))) (cdr (assoc 43 (entget (ssname bloc_sel 0)))) (cdr (assoc 50 (entget (ssname bloc_sel 0))))) (cdr (assoc 8 (entget (ssname bloc_sel 0))))) (entdel (ssname bloc_sel 0)) ) [Edité le 18/7/2006 par Bred]
  6. Sur toute la côte d'Azur (et arrière-pays), il y a obligation de construire en para-sysmique (obligation d'un chainage haut péripherique) ... D'ailleurs, pour faire l'avocat du diable, on m'a raconter qu'a la dernière "grosse" secousse (il y a 6/7 ans je crois) le type de construction à avoir le mieux absorber les chocs sont.... les maisons préfabriqué Phoenix... par contre je ne sais pas se que ça donnerait en cas de secousse "longue".....
  7. merci François, je suis en aussi en train de me renseigner, en parrallèlle, aux construction de maison en bois, mais je n'an trouve pas chez moi... j'ai peut être une piste mais je suis en attente de renseignement suplémentaire. Ce serait un constructeur qui fait des maisons en bois, mais avec aspect exterieur de maison type provençal...
  8. Salut... ... mais si il y a poteau, il y a forcément liaisons de ferraillages avec les fondations.... ils ne mettent pas un ferraillage juste comme ça, quand-même ???... la ferraillage n'est pas mis avant les agglos à bancher ??? ... j'ai une formation génie-civil... en bâtiment, tout est liaisonné par le ferraillage... en maison individuel non ???...
  9. Salut, pour que je comprenne : - Tu dis que tu inseres des blocs qui te permettront de calculer le niveau d'avancement du chantier (?)... ce ne sont pas tes propres blocs mais des blocs faisant partis d'un autre plan (?).. - Dans ton premier post du dits que tu inseres donc ces blocs en les renseignants sur le niveau d'avancement et le lieu, puis tu fais une extraction vers Excel.... je ne comprends pas ce que tu veux faire de plus en lisp... Si tu as vraiment besoin des blocs qui sont sur un autre plan, crées-toi une bibliothèque avec ces blocs, et tu n'auras plus de problème.... si le design-center te déplait, ainsi que l'appel de blocs au clavier, tu n'as qu'as te créer un gabarit avec tous ces blocs ranger dans une partie du plan que tu copies aux endroits désirés en les renseignants, ou si tu veux absolument créer un "clône" du design-center, il existe quelque part (il faut chercher, je ne sais plus où) des lisp qui créé des boites de dialogues d'appel de blocs.... ... personnellement, si j'avais une gestion de niveau d'avancement au niveau surface, je le ferais avec des plolyligne fermées représentant cette surface (que je pourrais agrandir à l'avancement), chacune de ces polyligne étant sur un calque reprenant le nom du lieux, et la couleur de la polyligne représentant le type de produit que couvre cette surface... et là je ferais un traitement en lisp me sortant ces renseignements....
  10. Et non, je ne suis pas en Aquitaine... un peu plus au sud : à Antibes....
  11. c'est marrant, hier je me suis arrêté à côté d'un chantier en finition pour demander des renseignements au propriétaire sur le constructeur.... il me l'a descendu !!!... :casstet: A chaque fois que je fais ça, j'ai toujour la même réaction.... ça fait peur ... :( Par contre il m'a dit que si ç'était à refaire, il passerrait directement par un artisan (comme ça il ferait en + l'économie du % pris par le constructeur....).... mais il a le temps de s'en occuper, il est a la retraite... et il m'a dit qu'il fallait l'avoir, le temps !!! ce que je n'ai pas vraiment... Donc.... ben je ne sais pas.... je vais continuer à me renseigner..... merci de vos réponses en tout cas. (j'attends toujpours la raison de "faire une ouverture dans l'agglo du bas !...." [Edité le 15/7/2006 par Bred]
  12. Salut, Il est vrais que France-Telecom est chère... (perso je suis en dégroupage total chez neuf pour cette raison).... mais je vais faire l'avocat du diable : En dehors de l'aspect technique décris ci dessus, il y a le rapport client, et il n'y a pas photo : France Telecom se déplace !!!... Vous avez un problème, ils le répare ou viennent le réparer en peu de temps... Question facturation, dès que neuf peut vous facturer quelque chose en +, il n'e s'en prive pas, sans compter les "erreurs" de facturation (de plus en plus souvent), et comme le fait de les joindre au téléphone pour le signaler coûte + cher que l'erreur elle même, le calcul est vite fait... leur écrire des messages au contact client ??? .. vous avez l'impression d'avoir comme interlocuteur le gars qui s'occupe de laver les vitres ... Mes potes se mettent tous chez free... quand je les appel, je paye (n° en 08???), la faute à free paraitrait t'il.... Mais j'y reste.... pour le prix.... mais pas pour la tranquilité d'esprit !!!...
  13. Salut, ... tu m'expliques la raison ??? Merci en tout cas de toutes ces suggestions.... ç'est du vécu ???...
  14. Oulà !!!!.... ça me fatigue simplement de le voir !!!! Vous vous imaginez les bras en l'air toutes la journée ??? :( On n'est pas Tom Cruise !!! :P (minority report, pour ceux qui suivent !!!...) [Edité le 14/7/2006 par Bred]
  15. ... Je sens qu'il va falloir être "Zen" :casstet: ... et ne pas faire comme Zizou dernièrement !!!! :P
  16. Pas besoin de SEQEND... C'est pour ça que je ne le trouvais pas dans les entités !!!!.... :P C'est donc soit "INSERT", soit nil ....
  17. En fait je suis bluffer... Dans mon lisp (1er post), je traite les blocs imbriqué constitué de "bloc de base" (ayant attribut).... ;) mais quand je selectionne un "bloc de base", et bien il ne compte pas les petits "blocs secondaires" (sans attribut) .... :casstet: je l'ai fait... et j'avoue que je ne comprend pas pourquoi ça fonctionne comme ça.... et ça m'enerve encore plus !!!... :mad:
  18. merci.. je pense que que vais étudier cette piste. Mais dans les aléas de la construction, un autre problème se pose... le temps à offrir !!!! Personnellement je n'ai que les Week-ends et vacances, et je me voit mal suivre un chantier en continu, alors que par experience professionnel je sais qu'il FAUT LE FAIRE !!!!... Il faut comme tu le dis miser sur la réputation de l'artisan.... bonne idée.... Par contre, c'est vrais que je serais plus tenter par prendre un constructeur qui me ferait le maximum (temps toujours....), et je me sens + confiant de prendre une "grosse" boite, bien confortable, qu'un "petit" artisan...
  19. Salut, Je vais me lancer.... je vais faire construire une maison, et je suis assez troublé... Peut-être que certains de vos ayant vécu cette "étape" pourront me conseiller : Je suis dans le sud de la france (Antibes) et j'ai vu quelques constructeurs, dont "Maison Familliale", "Les Bastides", "CTA" (maison mikit ) ... et je compte en voir d'autre.... Qu'est ce qui fait que l'on s'arrête sur UN constructeur, et pas un autre ??? -Le prix ? (au final ils sembles être tous aux envirron de 1400 €/m2-fini habitable) -Les materiaux ? (je ne m'y connais pas assez pour être juge...) -Le rapport Humain? (... ?) -Les on-dit ? (maison familialle = Phoenix = nul, CTA (mikit) ont du retard ?.....) ... je suis vraiment dans le flou total... et heuresement que je suis un professionel du BTP !!!
  20. Merci (gile). Je vais tranquillement regarder ça.... ------------------------------------------------------------- Donc, j'apprends (encore!) quelque chose : "SEQUEND" ... bien bien bien.... :o [Edité le 13/7/2006 par Bred]
  21. merci (gile) de ta réponse. ... je comprends, mais plus j'avance, plus je rencontre une difficulté : la mises en place des étapes du code... Je fait ça sur un bout de papier... j'ai essayer d'utiliser Excel pour pouvoir rendre la lecture + simple, mais je me suis vite énervé car je perdais du temps entre les test sur AutoCAD, le fait de revenir sur Excel, etc... alors qu'avec l'Editeur Visual Lisp, un seul click suffit pour tester... merci encore en tout les cas...
  22. Salut, Grâce à l'aide des maîtres "lispien" de ce forum, et des exemples que j'ai récupérer par-ci par-là, j'ai écrit un lisp qui liste les types de blocs dont est constitué un blocs imbriqué (1er niveau).... (defun c:Bloc_Explorer ( / list_Bloc_Imb sel Ent_SS_Bloc List_Final Nb n) (while (null (setq sel (ssget "_:S" '((0 . "INSERT")))))) (setq Ent_bloc (tblsearch "BLOCK" (cdr (assoc 2 (entget (ssname sel 0))))) list_Bloc_Imb (list (cdr (assoc 2 Ent_bloc))) Ent_SS_Bloc (entget (cdr (assoc -2 Ent_bloc)))) (cond ((eq (cdr (assoc 0 Ent_SS_Bloc)) "INSERT") (setq list_Bloc_Imb (append list_Bloc_Imb (list (cdr (assoc 2 Ent_SS_Bloc))))) (while (setq Ent_SS_Bloc (entnext (cdar Ent_SS_Bloc))) (setq Ent_SS_Bloc (entget Ent_SS_Bloc)) (if (eq (cdr (assoc 0 Ent_SS_Bloc)) "INSERT") (setq list_Bloc_Imb (append list_Bloc_Imb (list (cdr (assoc 2 Ent_SS_Bloc))))) ) ) ) ) (setq List_Final (list (car list_Bloc_Imb)) list_Bloc_Imb (vl-remove (car list_Bloc_Imb) list_Bloc_Imb)) (While (not (null list_Bloc_Imb)) (setq Nb 0) (foreach n list_Bloc_Imb (if (apply 'eq (list n (car list_Bloc_Imb))) (setq Nb (+ 1 Nb))) ) (setq List_Final (append List_Final (list (strcat (rtos Nb) " x " (car list_Bloc_Imb) "\n")))) (setq list_Bloc_Imb (vl-remove (car list_Bloc_Imb) list_Bloc_Imb)) ) (princ (strcat "\n---------------------------------------\n Blocs imbriqués dans "(car List_Final) " : \n")) (princ (cdr List_Final)) (prin1) ) Tout à l'air de fonctionner... Le détail que je n'arrive pas à mettre en place est l'écriture de la liste dans une boite de dialogue (alert ...), car sur la ligne de commande, ce n'est pas trés "pratique"... :casstet: Merci de vos conseils.
  23. Ah ! ouais, ouais, ouais..... merci Tramber.... ... c'est sympa .... je vais passer un bon Week-end moi.... completement dégoutté !!!
  24. Alors là.... :o je me suis tellement tordu la tête pour trouver , que de voir avec quel simplicité cela peut être traité me Dé-Goutte !!!! ... en tout cas, merci !!!! ------------------------------------------------------------ Pour que ce soit + clair pour moi, afin de bien comprendre la procédure, j'ai "commentariser" la routine proposé. Je la retranscris ci-dessous pour des personnes qui, comme moi, ont du mal... :P (defun toto (lst el / count) (setq count 0) (foreach n lst ; passe lst en revu en mettant un élément dans n puis ... (if (apply 'eq (list n el)) ; ....applique la fonction "eq"(=) à ( n et el ). (setq count (1+ count)) ;si T = count + 1. );si nil, rien. ) (print count) ; écrire le nombre d'élément. (prin1) ) [Edité le 13/7/2006 par Bred]
  25. Salut, je cherche, je cherche mais je ne trouve pas.... Je cherche à compter le nombre d'élément identique dans une liste, et je ne trouve pas de fonction approprié... genre : ex : setq liste (liste "vis" "vis" "ecrou" "vis" "vis" "ecrou") la commande (du style): TOTO "vis" liste ----> 4 ... ça m'étonnerais quand même que ça n'existe pas "d'office" .... j'ai commencé à écrire une routine pour y répondre, elle n'est pas du tout au point, et c'est tellement "tordu", que je prefère poser la question avant de continuer... (setq list_Bloc_Imb_final (list (nth 0 list_Bloc_Imb))) (setq index 1) (repeat (length (1- list_Bloc_Imb)) (setq nom_obj (nth index list_Bloc_Imb)) (setq indexU (1+ index)) (setq Nb_Ob 1) (repeat (length list_Bloc_Imb) (if (equal (nth index list_Bloc_Imb) (nth indexU list_Bloc_Imb)) (setq Nb_Ob (1+ Nb_Ob))) ) (setq list_Bloc_Imb_final (append list_Bloc_Imb_final (list (cons Nb_Ob (nth index list_Bloc_Imb))))) ) ... merci d'avance !!!
×
×
  • 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é