Aller au contenu

Bred

Membres
  • Compteur de contenus

    2 764
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Bred

  1. Bred

    Boucles...

    ok ok ok ... merci tramber ta methode s'éclairci (pour info, dans l'aide Autocad, ils ne disent pas que lorque cmdactive=0 c'est qu'il n'y a pas de commande active, d'où mon trouble avec ton (not (zerop ...) Par contre, même si ton principe fonctionne pour avoir toujours la main dans une commande, je n'arrive pas à l'exploiter dans mon cas, vu qu'il faut que je ressorte le 1er point, puis le second pour le filtrer en coordonnées (j'arrive quand même à sortir le deuxième point ... mais comme il faut que je relance une commande je perd le "while" ... (setq sel (ssget)) (setq pA (getpoint "\n Spécifiez le Point de Base :")) (command "_copy" sel "" "m" pA (while (not (zerop (getvar "cmdactive"))) ;;; Tant que "cmdactive" différent de 0 (progn(command pause) (setq pB (getvar "lastpoint")) ) )) ... il y a peut-être une astuce permettant de filtrer les coordonnées au moment de la "pause", mais je ne vois vraiment pas comment ...
  2. Bred

    Boucles...

    Salut, Patrick : si je fais un (setq PB (getpoint "\n...."), je perd le principe de fonctionnement d'Autocad où les objets restes au bout du curseur pendant le déplacement ... et je voudrais garder le + possible le fonctionnement basic d'autocad... en gardant le principe du "multiple" (en + évoluer vu que je tranforme le second point en 1er point pour le copie suivant...) Tramber : ... mea culpa ... je suis désolé mais il faut que je t'avoue que après m'être pencher sur le fonctionnement de ta méthode, je me suis énervé parceque je ne comprenais vraiment pas le fonctionnement ... alors je l'ai mis de côté et je suis passé à autre chose... et là, je me remet sur cette routine pour la rendre enfin "propre", et j'ai occulté ta proposition... Donc ta propositions c'était ceci : (setq sel (ssget)) (setq lispoints nil) (command "_copy" sel "" (while (not (zerop (getvar "cmdactive"))) (progn(command pause)(setq lispoints(append lispoints(list(getvar"LASTPOINT"))))) ) ) lispoints ... eh bien ... je ne comprend vraiment toujours pas... (mais c'est vrais que ça fonctionne)... si tu pouvais m'en expliquer les finesses je t'en serais vraiment reconnaissant ... En tout cas merci à vous ...
  3. Bred

    Boucles...

    Salut... Tant qu'à être dans les boucles, j'ai un souci que je n'arrive pas à résoudre : J'essaye de faire une routine permettant de copier un objet vers x (en gardant le plus possible le fonctionnement de "base" du copie d'Autocad...) mais je but sur la manière de sortir de mon 1er While : (setq sel (ssget)) (setq pA (getpoint "\n Spécifiez le Point de Base :") pA pB) (while (/= *error*) ;;; là !!! (while (= (car pA) (car pB)) (command "_copy" sel "" pA pause "_erase" "d" "") (setq pB (getvar "lastpoint")) (command "_copy" sel "" pA (list (car pB)(cadr pA)(caddr pA))) (setq sel (entlast)) (setq pA pB) ) ) ... en fait ça fonctionne comme je veux, sauf que je ne trouve pas la bonne méthode pour sortir de ma boucle avec "entrée" (ou click droit paramétrer en entrée)... J'ai remarqué que lorque je fais "entrée", j'ai pA = pB, mais ... (if (= pA pB)(quit)() ... ne semble pas fonctionner ... merci de votre aide.
  4. ... ou alors si besoin, fait "copier avec point de base" ...
  5. Bred

    Rendu

    Salut, Directement sous Autocad 2004 je ne crois pas (+/- 99 % - Voir ma signature) que cela soit possible. Par contre tu peux utiliser des logiciels qui te transforme tes plans autocad au bon format et te permet de les "animer" (3d Studio, ...) (tu peux aussi créer des plans 3D manipulable en temps réel grâce à des éxécutables genre "viz" ...)
  6. Bonjour, - Ne serait t'il pas possible dans les paramètres personnaliser de choisir si l'on veut ou non être averti par mail des réponses concernant les sujets lancés ? - Si un sujet m'interresse, et que je veux être averti par mail de son avancement, il faut que j'écrive une réponse et que je coche "être averti par mail" ... ne serait t'il pas possible d'avoir cette option sans être obligé de participé au sujet ? merci.
  7. Bred

    Personnaliser les cui

    Salut, Ton problème m'est déjà arrivé mais avec une version lourde ... Le souci était que j'avais créé un .CUI, et il avait du mal à fonctionner avec donc il me plantait... Je ne sais plus ce que j'avais fait mais essaye ceci : - décharge tout tes CUI perso (chargmnu) ou va à l'endroit ou tu enregistres tes CUI, et déplace les ... Bon courage.
  8. Salut Cela m'arrive aussi quelque fois, et je ne sais pas pourquoi ... Quoiqu'il en soit, pour pouvoir enregistrer, je demande de "quitter", et là il te demande si tu veux enregistrer et sa fonctionne ... [Edité le 2/6/2006 par Bred]
  9. Bred

    Selection de selectionS

    Et bien merci !!! :D En fait je suis rassuré : je ne connaissais pas la commande "ssadd" ... et ça me permet en même temp de découvrir la fonction "ssdel" ... J'ai mis ta proposition dans un ordre différent et me permettant de garder les selection unitaire ... ;;; pour rajouter des éléments dans sel (setq sel (ssadd)) (command "_line" '(0 0 0) '(0 1 2) "") (setq l1 (entlast)) (command "_line" '(1 1 1) '(0 1 2) "") (setq l2 (entlast)) (ssadd l1 sel) (ssadd l2 sel) ;;; pour suprimer un élément (l1) dans sel (ssdel l1 sel) merci encore (cette solution me va trés bien, mais si d'autre on d'autre manière de faire, je suis curieux !!!)
  10. Bred

    commande setq

    Salut commande "_eattext" Bonne Extraction ...
  11. Bonjour. J'avance, j'avance en lisp, et je bute sur quelque chose que je pensais simple ... Je n'arrive pas à regrouper des objets dans une seul variable : (command "_line" '(0 0 0) '(0 1 2) "") (setq l1 (ssget "L")) (command "_line" '(1 1 1) '(0 1 2) "") (setq l2 (ssget "L")) et là je voudrais faire un truc du genre : (setq sel (ssget l1 l2)) j'ai beau tourné la chose dans tout les sens, je sent que c'est simple mais je bute lamentablement (je sens que quelqu'un va me sortir un truc tellement évident que ça me fera regrété d'avoir poster ce sujet... Allez... on dit que c'est un jeu...) merci (... honteux ...)
  12. Bred

    travailler sur un plan scané

    Salut, Tu peux faire ça en passant par un logiciel de vectorisation d'image genre "SCANPRO "... il y en a beaucoup (vérifier la compatibilité avec Autocad)...
  13. Bred

    Le sport

    Et non ... je bosse déjà pour le 2007 !!! ... et y'a le Jumping, les NRJ Awards ... plein de trucs avec des gens pleins d'argent ... :o Mais bon, je bosse aussi pour des gens qui installe des tubes ... :cool:
  14. Bred

    Lier des Attributs

    Ben je suis complétement largué ... Je pensais connaitre le fonctionnement des attributs, la raison de leur utilisation (même si personnellement je n'utilise quasiment que des attributs invisibles et sans invite pour le décompte des types de blocs... un petit peu avec des invites pour les cartouches ou certains repères ...) Mais alors là je ne comprend pas le fonctionnement, la raison, et sur quel type d'attribut faire fonctionner ton lisp pour que je puisse en profiter ... Lier des attributs, je pense comprendre la raison... mais comment doivent être créée les attributs (même etiquette ?, invisible ?,) et faut t'ils qu'ils fassent partis du même bloc ??? Il y a vraiment quelque chose qui m'echappe, alors merci de ne pas se moquer... :(
  15. Bred

    Le sport

    :P :P :P :P :P :P ... C'est ..... intérréssant .... :casstet: :casstet: :casstet: :casstet: :casstet: :casstet: ça va mieux on dirait ... ;) Tu t'ennuis parceque ça manque de neige en ce moment ???
  16. Bred

    Créer bloc imbriqué...

    ... J'ai enfin testé (en profondeur) ta proposition et elle fonctionne PAR-FAI-TE-MENT !!! Par "confort" d'utilisation j'ai sorti de tous ça 3 (4) petites routines à lancer à la suite pour créer donc un "bloc imbriqué" : ;;;; Création du Bloc Vide pour Construction Bloc Imbriqué ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun Creat_BlocImb (NomB) (setq Bloc_Imb (vla-add (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0 0 0)) NomB)) ) ;;;; Construction du Bloc Imbriqué dans Bloc Vide ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; (Const_BlocImb *Chemin bloc à insérer* *Point d'insert par rapport à (0 0 0)* *Rotation du Bloc en °*) (defun Const_BlocImb (chem pt_Base Rot / a) (setq a (vla-insertblock Bloc_Imb (vlax-3d-point '(0 0 0)) chem 1 1 1 (/ (* pi Rot) 180))) (vla-put-Normal a (vlax-3d-point '(0 0 1))) (vla-move a (vlax-3d-point '(0 0 0)) (vlax-3d-point pt_Base)) ) ;;;; Construction du Bloc Imbriqué dans Bloc Vide ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; ATTENTION !!! Les Blocs Insérés doivent être des blocs IMBRIQUES (Explosion du bloc à l'insertion) ;;;;; ;;;; (Const_BlocImbXXX *Chemin bloc à insérer* *Point d'insert par rapport à (0 0 0)**(defun Const_BlocImbXXX (chem pt_Base Rot / a) (setq a (vla-insertblock Bloc_Imb (vlax-3d-point '(0 0 0)) chem 1 1 1 (/ (* pi Rot) 180))) (vla-put-Normal a (vlax-3d-point '(0 0 1))) (vla-move a (vlax-3d-point '(0 0 0)) (vlax-3d-point pt_Base)) (vla-explode a) (vla-delete a) ) ;;; Insertion du Bloc Imbriqué;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun Ins_BlocImb (NomB pt) (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point (trans pt 1 0)) NomB 1 1 1 (angle '(0 0 0) (trans (getvar "UCSXDIR") 0 (trans '(0 0 1) 1 0 T)))) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; encore merci !!!
  17. Bred

    Créer bloc imbriqué...

    Merci pour ta réponse, je vais la tester... Mais j'ai testé le lisp précedent ce dernier pour comprendre comment ça fonctionnait, et je trouve un truc "étrange" que peut-être tu pourrais élucider par ton experience : j'ai testé ceci : (setq Bloc (vla-add (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0 0 0)) "Bloc")) (setq a (vla-insertblock Bloc (vlax-3d-point (trans [surligneur] '(1 2 3)[/surligneur]1 0)) "MonBloc" 1 1 1 0)) (vla-put-Normal a (vlax-3d-point '(0 0 1))) (vlax-safearray->list(vlax-variant-value (vla-explode a))) (vla-delete a) en remplacant [surligneur] '(1 2 3)[/surligneur] par [surligneur] '(1 2 4)[/surligneur] puis par [surligneur] '(2 3 5)[/surligneur] (donc insertion de "MonBloc" à 3 coordonées différentes...) Puis j'ai inséré le bloc "bloc" (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point (trans '(4 8 9) 1 0)) "Bloc3" 1 1 1 (angle '(0 0 0) (trans (getvar "UCSXDIR") 0 (trans '(0 0 1) 1 0 T)))) ... et j'ai pris les distances des 3 point d'insertion... - Entre le point '(1 2 3) et '(1 2 4), pas de problème (j'ai bien +1 en Z) - Entre le point '(1 2 4) et '(2 3 5) j'ai .... -1 sur les X ??? ... Y OK, Z OK ... Je ne comprends pas ...
  18. Bred

    Publication

    Est ce que ton post ne correspondrait pas plutôt au traçage en arrière ou en premier plan ? :casstet: - modifiale dans les options (onglet "tracer et publier") - ou variable BACKGROUNDPLOT (0 pour premier plan , 3 pour arrière plan ...) Par contre, si c'est une question d'impression en réseau, il y a pas mal de chose à ce sujet dans l'aide d'Autocad ... [Edité le 30/5/2006 par Bred]
  19. Bred

    copier coller du calque

    Salut j'avoue que je ne comprend pas ce que tu veux...
  20. Bred

    Créer bloc imbriqué...

    Ben de rien .... t'as raison de me remercier pour ça, j'ai presque l'impression de t'avoir aidé !!! (rire) :P Serieusement : j'ai testé ta solution et ça ne fonctionne pas complétement pour moi... Je pense comprendre grâce à tes explication la manière dont d'insert un bloc grâce à vla-insertblock, et donc il y a quelque chose qui m'echape... je n'arrive pas à "re-calculer" mon point d'insertion (j'essaye tous les "trans" possible mais rien n'y fait...) Cequi ne fonctionne pas chez moi c'est le "calcul" du point d'insertion. J'insert un même bloc plusieurs fois à changeant ces coordonnée à chaque fois : (setq w 1) (repeat (/ h 2) (Creat_Bloc_Imb NomB ptB NomBloc Rot) (setq ptB (list (+ (car ptB) (* w 2.50)) (+ (cadr ptB) (* w 1.50)) (+ (caddr ptB) 2.00)) Rot (+ Rot (* w 180)) w (* w -1) )) (defun Creat_Bloc_Imb (NomB pt_Base chem Rot / Bloc a b) (setq Bloc (vla-add (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0 0 0)) NomB)) (setq a (vla-insertblock Bloc (vlax-3d-point pt_Base) chem 1 1 1 (/ (* pi Rot) 180))) (vla-put-Normal a (vlax-3d-point '(0 0 1))) (vlax-safearray->list(vlax-variant-value (vla-explode a))) (vla-delete a) ) Le sens du bloc en Z est maintenant correct (grâce au "(vla-put-Normal a (vlax-3d-point '(0 0 1)))", mais le point d'insertion c'est de "l'art" ... j'ai beau cherché avec le "trans", je n'y arrive pas ... merci [Edité le 30/5/2006 par Bred]
  21. Bred

    Créer bloc imbriqué...

    Heu... merci de ne pas m'en vouloir, mais je cherche, je cherche, et je ne comprend pas : Pourquoi s'embéter autant à passer du SCU au SCG etc ??? J'ai fait queque test avec ton lisp, et quelque chose m'échape... j'ai enlever tout ton passage de mise en variable du SCU et SCG pour voir : Donc ceci sert à créer un bloc (NomB) et à en "empiler" dans la variable Bloc... et donc vu que l'on se sert des "vla", cela se crée dans le SCG (c'est ça non ?)... (defun Creat_Bloc_Imb (NomB pt_Base chem Rot / Bloc a b) (setq Bloc (vla-add (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0 0 0)) NomB)) ;Création bloc imbriqué /Pt_Base (setq a (vla-insertblock Bloc (vlax-3d-point pt_Base) chem 1 1 1 0)) (foreach b (vlax-safearray->list(vlax-variant-value (vla-explode a))) (vla-rotate b (vlax-3d-point pt_Base)(/ (* pi Rot) 180))) (vla-delete a) ) Puis ceci sert à inserer le bloc NomB... et donc on utilise "(angle '(0 0 0) (trans (getvar "UCSXDIR") 0 (trans '(0 0 1) 1 0 T)))" pour l'inserer dans le SCU... (defun Ins_Bloc_Imb (NomB pt) (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point (trans pt 1 0)) NomB 1 1 1 (angle '(0 0 0) (trans (getvar "UCSXDIR") 0 (trans '(0 0 1) 1 0 T)))) ) Eh ben, je croyais avoir compris.... mais ça ne marche (presque) pas, et bien sûr tu vas me dire que c'est parceque je n'utilise pas le lisp de passage SCU/SCG que tu t'es embété à m'écrire... Enfin quoi... ça marche presque en fait.... si je laisse mon Z tranquille, pas de problème, mon bloc imbriqué s'insert bien dans le SCU (avec X et Y parallele ou non au SCG)... par contre, dès que je change l'orientation du Z (non parrallèle au SCG), là rien ne vas plus... (le bloc imbriqué est faux, donc c'est dû à une erreur de point d'insertion DANS la variable Bloc... que je croyais en SCG moi...) Je ne comprend vraiment pas pourquoi...
  22. Bred

    ... Merci ...

    Un petit post afin de remercier la plupart des admin et participant sur-actif de ce forum (surtout dans mon cas concernant les débuts en LISP... ils se reconnaitront...)... Je ne connais aucune personne, mais leur investissement à m'aider me permet de croire à leur grandes qualité humaines... Un grand merci ... et à mes prochains soucis ... ;)
  23. Bred

    Créer bloc imbriqué...

    Ouaouh ... !!! Alors là je suis HEU-REUX ... Ton lisp, qui plus est avec commentaires, est vraiment fabuleux.... Je ne pensais pas que l'on pouvais faire de tel chose... et c'est pourtant évident.... merci.
  24. Bred

    Créer bloc imbriqué...

    Oulà! Oulà! Oulà! ... N'allez pas trop vite, là !!! (j'ai laché le forum quelques heures et je ne contrôle plus mon post moi!!! :P )... Après avoir décortiqué un petit peu vos propositions, j'ai un doute sur la faisabilité, dans mon cas... donc je vais être un peu plus précis... 1 - J'insère en lisp une multitude de bloc imbriqués que j'explose à chaque insertion afin de retrouvé les blocs unitaires constituant le bloc imbriqué... (pour une raison expliqué plus loin (3)) et ces blocs sont mis dans un calque temporaire grâce à une boucle de : (setq a (vla-insertblock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point pt) chem 1 1 1 (angle '(0 0 0) (trans (getvar "UCSXDIR") 0 (trans '(0 0 1) 1 0 T))))) (foreach b (vlax-safearray->list(vlax-variant-value (vla-explode a))) (vla-rotate b (vlax-3d-point pt)(/ (* pi Rot) 180)) (vla-put-layer b calq)) (vla-delete a) 2 - je fais une selection de ces blocs (la quantité des blocs peut varié de 10 à ... x000...???) dans le calque temporaire ... (setq sel (ssget "_X" ((8 . "Calque_Tempo")))) 3 - Je transforme cette mutitude de bloc unitaire en un seul bloc grâce à (command "_-block" "NomB" pt sel "" "_-INSERT" "NomB" pt "1" "1" 0) ... afin de retrouvé tous les blocs unitaire si on doit faire une décomposition ... donc je me demandais si je ne pouvais pas transformer la selection sel (qui est sous forme "Selection set: xxx") en bloc autremnent que par "_-block".... Je n'ai pas l'impression que vos propositions soient possibles dans mon cas... non ? merci en tout cas...
  25. Bonjours J'insert plusieurs blocs en lisp, je les mets tous sur un calque temporaire afin de pouvoir tous selectionner afin de créér un bloc avec l'ensemble des blocs selectionné avec (setq sel (ssget "_X" ((8 . "Calque_Tempo")))) (command "_-block" "NomB" pt sel "" "_-INSERT" "NomB" pt "1" "1" 0) Le souci étant "visuel" : J'ai, à l'affichage un "clignotement" de mon ensemble selectionner, vu qu'Autocad efface puis insert le bloc créé... et c'est pas trés jolie... Je n'arive pas à trouver une solution... peut-être avec entmake ou avec des commandes vla, mais j'ai beau chercher, je n'y arrive pas... merci de votre aide
×
×
  • 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é