Aller au contenu

Bred

Membres
  • Compteur de contenus

    2 764
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bred

  1. Bred

    Comment faire ?

    ???? ... pour la pause (gile) t'as répondu juste au dessus (???) ... ou alors si tu veux tout rentré (c'est à dire le point d'insert, l'echelle et la rotation) tu fait : (command "_.insert" "nom bloc" pause pause pause pause)
  2. Bred

    Diviser/Mesurer 3D

    Salut (gile) ... Une (petite) amélioration qui je suis sûr t'amuserais de faire ;) : le choix du bloc à insérer n'est pas forcément déjà insérer dans le dessin, mais le choix peut se faire aussi par rapport à un répertoire de bibliothèque .... .... je suis persuadé que tu n'es pas assez bon pour faire ça .... :P :P :P (... ou comment jouer sur la fierté d'un gars pour demander un service sans en avoir l'air ...)
  3. Bred

    Comment faire ?

    ... ou tu peux demander de choisir le point d'insertion AVANT de lancer l'insertion du bloc : (setq pt (getpoint "\n Point d'insertion du Bloc :")) (command "_.insert" "nom bloc" pt echX echY angle)
  4. Bred

    Stop au regen automatique

    Salut, En 3D, avec la commande "3Dorbite", on dirait que la régénération ce fait quand même, malgré la manip ci-dessus.... non ?....
  5. Salut, réponse facile : va dans l'aide et tape "macro", (presque) tout est expliqué... ou alors pour t'aider plus concretement, décris ce que tu veux comme macro, le plus rapide te feras une proposition... (le meilleur dans ce sujet est tramber j'ai l'impression ....)
  6. Bred

    Côte sans texte..Urgent SVP !

    (solution "tiré par les cheveux" mais je la donne quand même pour info :) ... ou alors tu ne passe pas par l'outil "cotation" et tu dessine une cote en polyligne (en jouant sur les épaisseurs pour les flêches), que tu copies et que tu ajustes/retournes à la demande...
  7. Salut, Je suis désolé, mais je n'aurais pas le temps... Par contre tu peux taper un lisp d'après la procédure que propose Patrick_35 que j'ai donné dans mon message précedent, et moi (ou surtout d'autre) pourront te conseiller ... J'ai utiliser cette methode pour créer un outil de création de profilés métallique en 3d en récupérant à chaque fois les caractéristiques géométriques des profilés dans un tableau Excel, et ça fonctionne trés bien ....
  8. Bred

    extraction d\'un attribut de bloc

    Salut, (et non, pas encore une réponse en VBA...) L'outil d'extraction d'attribut d'autocad ne te suffit pas ?... tu peux filtrer ce que tu veux et exporter dans le format que tu veux ....
  9. (gile) à dit : ... ben si (en vl ...) par Patrick_35 là : http://www.cadxp.com/sujetXForum-4272.htm ... et ça fonctionne trés bien.... (juste attention à la version d'excel...)
  10. Bred

    Lisps de Patrick_35

    Allez... un de plus... merci :D :D :D
  11. ... tu rigoles j'epères (gile) !!! il est déjà copié et archivé pour étude, ton "petit topo sur la récursivité" .... je ne t'ai pas remercié dans ton post pour ne pas le poluer avec des choses "inutiles", donc je te remercie ici de tes explications.... et si j'ai des problèmes et questions je t'en ferait part dans ce post... (d'ailleurs ton post est tellement bien et utile, qu'il pourrait être la première pierre d'un nouveau sous-forum lisp : "cours et astuces de programation lisp" .... je te laisse le proposer à Patrick si tu penses que c'est utile ...) merci encore
  12. Pour info, comme il faut que j'écrive tout, et que ça pourrais être utile à d'autre, j'ai mis des commentaires à la routine de bonucad modifié par (gile) ;;; la routine de Bonuscad modifiée (defun xplore (ent / l) ; routine d'exploration d'entité et de "sous-entité" (while ent ; tant que j'ai "ent" (setq l (entget ent)) ; l = entié de ent (if (eq (cdr (assoc 0 l)) "INSERT") ; si entité 0 de l = " insert" (xplore ; routine explore (cdr (assoc -2 (tblsearch "BLOCK" (cdr (assoc 2 l))))) ; "explore" sous-bloc dans "l" ) ) (if (eq (cdr (assoc 0 l)) "ATTDEF") ; si entité 0 de l = "ATTDEF" (print (strcat "Etiquette = " (cdr (assoc 2 l)) ; écrire Etiquette = entité 2 de l " ; Valeur = " (cdr (assoc 1 l)))) ; écrire Valeur = entité 1 de l ) (setq ent (entnext ent)) ; ent = prochaine entité dans "ent" ) ) ;;; Pour traiter les blocs d'un jeu de sélection (defun c:dec () (if (setq sel (ssget '((0 . "INSERT")))) ; selection de blocs (repeat (setq n (sslength sel)) ; répéter nombre d'élément dans sel (=n) (setq bloc (tblsearch "BLOCK" (cdr (assoc 2 (entget (ssname sel (setq n (1- n)))))))) ; "bloc" = chercher "BLOCK" dans entité du (1- n) élément de sel (if (< (cdr (assoc 70 bloc)) 4) ; si entité 70 de bloc < 4 (bloc n'est PAS une Xref) (progn (print (strcat "Bloc : " (cdr (assoc 2 bloc)))) ; écrire "bloc : nom de bloc (xplore (cdr (assoc -2 bloc))) ; puis "xplore" sous blocs dans bloc );fin de progn ) ; fin de if ) ; fin de repeat ) ; fin de if ) ) [Edité le 6/8/2006 par Bred]
  13. merci (gile), je vais m'y "coller" !....
  14. Salut (gile) .... pfff... tu m'écoeures !!!! c'est ça... tu as fait ce que je cherchais à faire en adaptation de bonuscad.... merci... (à Bonuscad aussi - encore !!!) j'ai vraiment du mal avec certaines "logique lispienne".... ça va venir .... Par contre, j'abuse : pourrais-tu m'expliquer - si c'est possible - d'après mon premier lisp comment lui faire comptabiliser les blocs imbriqués à "X" niveaux.... je préssent que c'est une boucle, mais je n'arrive pas à la mettre en place.... ce lisp fonctionne pour les blocs "simple", mais pas pour les "imbriqués".... (je sais que le programmes que tu me proposes modifiés ci-dessus fait la même chose, mais cela me permettrait de comprendre en partant d'un lisp "à mon niveau"...) je le recopie pour simplifier la lecture (les blocs ont chacun 4 attibuts fixes Att1/Att2/Att3 et Att4): (defun c:aaa () (setq list-att-1bloc nil) (setq list-att nil) (setq sel (ssget '((0 . "INSERT")))) (setq index 0) (repeat (sslength sel) (setq Nom_ent (ssname sel index)) (setq bloc (tblsearch "BLOCK" (cdr (assoc 2 (entget Nom_ent))))) (setq Nom_ent (cdr (assoc -2 bloc))) (setq ent (entget Nom_ent)) (while Nom_ent (if (/= (cdr (assoc 0 (entget Nom_ent))) "ATTDEF") (setq Nom_ent (entnext Nom_ent)) (progn ; (setq list-att-1bloc nil) (setq ent (entget Nom_ent)) (setq list-att-1bloc (append (list (list (cdr (assoc 2 ent))(cdr (assoc 1 ent)))) list-att-1bloc)) (setq Nom_ent (entnext Nom_ent)) ) ) ) (setq list-att (append (list (list (cadr (assoc "Att1" list-att-1bloc)) (cadr (assoc "Att2" list-att-1bloc)) (cadr (assoc "Att3" list-att-1bloc)) (cadr (assoc "Att4" list-att-1bloc)))) list-att)) (setq index (1+ index)) ) ;;; liste final tout attributs (setq list-att (append (list (list "Att1" "Att2" "Att3" "Att4")) list-att)) )
  15. Salut, J'ai testé la proposition de Bonuscad et elle fonctionne.... mais je n'arrive décidement pas à la modifier pour mon besoin : Je voudrais avoir la possibilité de faire faire une "sortie" d'attribut fixe d'une selection "simple" ((setq sel (ssget '((0 . "INSERT"))))) et non pas de la totalité du plan.... Je bute donc toujours sur mon problème de "boucle"... (comme écrit dans le premier message...) ... merci d'avance pour votre aide ...
  16. merci pour l'adresse.
  17. Bred

    Aide mémoire AutoLisp

    En temps qu'éternel débutant en lisp, et étant nul en anglais, depuis que j'ai commencé j'ai toujours ce site en arrière plan quand je "lisp" ... c'est en fait le traduction française de certaines fonctions de l'aide autocad... la partie "Résumé" est un tableau récapitulatif qu'il est bien d'imrimer afin de prendre des notes. ... pour extra, ce site regroupe aussi une grosse partie des variables autocad.
  18. Bred

    VB -> ArgumentS Lisp ...

    Merci de tes conseils, mais vu que je utilise le VBA exclusivement pour créér des boites de dialogues pour mes lisps, je n'utilise en fait qu'une fois "send.Command", c'est au moment de lancer le lisp: tous les calculs et étapes de programation sont du lisp : la boite de dialogue VBA ne sert qu'à collecter les données d'entrées... mais si j'ai des bugs dans ce cas là, je vous tiendrais au courant, à moins que certains l'ai déjà vécu...
  19. Bred

    VB -> ArgumentS Lisp ...

    :D Bon, alors, la solution est "tout simplement" : ThisDrawing.SendCommand "(mon_lisp " & argument1.Text & " " & argument1.Text & " " & argument2.Text & " " & argument3.Text & " " & argument4.Textt & " " & argument5.Text & ")" & vbCr ... une petite astuce : si l'un ou les arguments sont des chiffres à virgule, le VBA à l'air de fonctionner avec un virgule en séparateur décimal, donc juste avant l'entrée des arguments il faut rajouter : argument1 = Replace(argument1, ",", ".") argument2 = Replace(argument2, ",", ".") etc.... ... merci en tous les cas pour votre aide ... ----------------------------------------------------------------- [surligneur]j'édite : [/surligneur] merci tyrese69_ .... nos réponse se sont croisés... Mais au vu des réponses qui m'ont été faites, je crois qu'il y a eu mauvaise compréhension de ma question : je ne cherche pas à récupérer des données LISP (variables) pour les envoyer dans le VBA, mais le contraire !!!... merci. [Edité le 31/7/2006 par Bred]
  20. Bred

    VB -> ArgumentS Lisp ...

    merci Patrick_35, l' ObjectDCL : j'utilise un programme en objectdcl pour la gestion de ma bibliothèque .... et alle ne fonctionne plus sur la 2007.... je sais que Tramber parle dans un post récent de sa mise à jour éventuelle, mais pour l'instant ... concernant les post que tu me proposes, je les avait trouvé mais ils ne répondent pas vraiment à ma question .... sauf le post d'Afralisp, mais j'avoue avoir du mal avec l'anglais... mais je vais plus m'y pencher ....
  21. Bred

    VB -> ArgumentS Lisp ...

    Non, mais il y a une bonne raison : j'ai un collègue qui fait de gros developpement en VB sur Excel, et on a mis certaines chose en parrallèle avec Autocad. Après quelques dicussion avec lui, on a décidé de partir sur un fonctionnement VBA/Lisp afin de rester cohérent pour l'ensemble ...
  22. Bred

    Calque ASHADE ....

    Alors, "mes grips" seules sont des blocs nommé "RM_SDB" ils ont des attributs - ex : (100 . "AcDbAttributeDefinition") (3 . "Texture Map Coordinates") (2 . "TCOORD") ... ce qui aurait donc avoir un lien avec les "textures", donc le rendu ... c'est connu, car si on fait une recherche dans l'aide autocad ils en parle : et j'ai trouvé un site où il en parle... en anglais.... http://discussion.autodesk.com/thread.jspa?threadID=470057 et moi nul en anglais, si quelqu'un pouvait m'expliquer dans les grandes ligne ce serait bien sympatique ... ... merci ...
  23. Salut ... Je me met au VB .... quoi .... je veux juste en fait créer des boites de dialogues pour mes lisps.... et j'ai DEJA besoin de votre aide !!!! J'ai compris comment entrer UN argument d'un programme lisp dans mon code VB : ThisDrawing.SendCommand "(mon_lisp " & Argument1.Text & ")" & vbCr ... mais je n'arrive pas à en entrer plusieurs.... du genre : ThisDrawing.SendCommand "(mon_lisp " & Argument1.Text & Argument2.Text & Argument3.Text & Argument4.Text & Argument5.Text & Argument6.Text & ")" & vbCr ... marche pas ... ... merci de votre aide ...
  24. Salut, je ne pense pas avoir tous compris mais : (setq pt (getpoint)) (setq list-pt (append (list pt) list-pt)) Soit tu retournes la liste pour récupérer les 2 premières coordonnées qui sont les dernière de la liste : (setq lisp-p (reverse list-p)) puis (setq p1 (car list-pt)) (setq p2 (cadr list-pt)) ou (setq p1 (nth 0 list-pt)) (0 = 1er élément de la liste) (setq p2 (nth 1 list-pt)) ... soit tu comptes le nombre d'élément dans la liste (setq nb (length list-pt)) puis tu les récupères : (setq p1 (nth (- nb 1) list-pt)) (setq p2 (nth (- nb 2) list-pt)) ou directement (setq p1 (nth (- (length list-pt) 1))) (c'est taper à la volée, sans test, et je débutes aussi en lisp, tiens moi au courant si ça ne fonctionne pas) [Edité le 29/7/2006 par Bred]
  25. Bred

    Calque ASHADE ....

    Salut, Avant tout, j'ai déjà fait une recherche et je n'ai rien trouvé la dessus .... j'ai le calque ASHADE qui s'ouvre à chaque nouveau plan car j'ai des lumières de rendus qui sont paramétrer par défaut (2 lumières = 2 blocs) ... et bien quand je fais une selection totale dans le dessin (Ctrl+a), il m'annonce que j'ai 17 objets selectionnés sur claque vérouillé (le seul vérouillé est ASHADE) ... j'ai beau cherché, je ne trouve pas ce que c'est.... ou si : c'est des objes qui ne sont que des .... grippes !!! .... car quand je fait une selection des objes qui ne sont que sur ce calque, j'ai des grippes sans rien au bout qui apparaissent .... je peux même le copier (mais impossible d'avoir leur propriété ... tiens, ça me fait pensé que je vais essayer de voir ce que c'est en passant par les entité lisps....) ... mais bon .... si quelqu'un à déjà rencontré le problème .... merci.
×
×
  • 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é