Aller au contenu

PHILPHIL

Membres
  • Compteur de contenus

    1 259
  • Inscription

  • Dernière visite

  • Jours gagnés

    10

Tout ce qui a été posté par PHILPHIL

  1. hello toutes tous dans les expresse tool il y a le prpgramme qui permet de rattacher les ligne de repere au Mtext : leaderex mais voila bien malin ses messieurs d'autodesk c'est pratiquement le seul en fichier *.arx plus malin encore ca ne marche que si l'extremite de la ligne de repere est pile poil sur le point dinsertion du MTEXT sauf que bien sur quand on creer cette ligne de repere on demande a ce qu'elle se décale un peu du mtexte et si plante que toutes les lignes se détachent et bien le "LEADEREX" devient inutilisable par ce que aucune tolérance dans ce programme pour que la ligne retrouve le mtext ha encore mieux les demandes d'assistance chez autodesk sont en radeeee ce soir coolllll question : avez un tit truc sous la mains pour rattacher moultsss ligne de reperes a leurs Mtext en donnant au moins une cote de tolérance a+ merci phil
  2. hello gille : :D :D :D l o l ouai mal barré si maintenant faut ralentir autocad l o lll je teste ca bseb67 : nouveau constat dans un fichier j'ai 74 onglet a une fenetre sauf 3 ou 4 sans fenetre dutout mais dans la fenetre de "cefp" j'ai des doublons dans la liste comme si le lisp trouvais deux fenetre par présentations désolé je viens de piger l'espace papier est considéré comme une fenetre vport =0 donc forcement il est aussi dans la liste en echelle =1 a+ phil [Edité le 29/7/2009 par PHILPHIL]
  3. hello toutes tous bseb67 : pour moi ca marche j'ai rajouter un whidth=150 pour la colunn et un height = 60 car je ne voyais pas l'echelle et le verrouillage des fenetre dans la liste sinon quand les echelles sont differentes ( 1 ou .2 ou .999999 ) elles sont toutes aligner sur la virgule et donc le "V" ou "D" ne sont pas aligner a part ca ok bonne vue rapide d'ensemble des echelles de fenetres ha si quand je le charge avec viusal lisp j'ai ca sur la ligne de commande [b] type d'argument incorrect: consp nil[/b] je vois pas d'ou ca vient super merci a tous a+ phil[Edité le 29/7/2009 par PHILPHIL] [Edité le 30/7/2009 par PHILPHIL]
  4. hello gille je viens de tester comme d'hab le lisp marche et c'est tres rapide il serait sympa de voir les transformations d'échelle sur la ligne de commande savoir qu'elle fenetre est passée d'un zoom a l'autre ou était déja correct par rapport a la liste sclst pour une fenetre avec une vue 3d par contre certains ne voudront peut etre pas avoir un zoom avec une echelle stricte je sais aussi que quand je dois faire des plans de vente appartement la fenetre de l'ensemble immobilier a droite n'a pas vraiment d'echelle definit aucun ensemble immobilier n'ayant la meme encombrement le lisp fait tout rapidement mais peut etre trop vite paradox merci gille a+ phil
  5. HELLO toutes tous bien jolie les images dans les cartouches mais plus y'a de cartouche plus y'a d'image et plus le fichier est "ENORMEEEE" sympa mais les fichiers autocad ne sont pas la pour stocker des images est ce qu'il y a un moyen pour extraire les fichier images OLE ?? meme taille apres on les replace en version attaché comme les XREF c'est vrai que le OLE on peut mieux recalibrer l'image mais ca prend de la place et lourd en gestion a+ merci phil [Edité le 29/7/2009 par PHILPHIL]
  6. hello toutes tous modeste lisp a+ phil 1° demande de selection d'objets pour déterminer les couches deverrouillées 2° selection des objets comme dans etirer classique par fenetre cp 3° point de base 4°point d'arrivée ;;; ETIRER D'UN POINT A L'AUTRE DES OBJET QUE DE COUCHES SELECTIONNEES (defun C:ETPPC (/ POI POI2 OSM OBJ) (setq OSM (getvar "osmode")) (setvar "osmode" 0) (setvar "cmdecho" 0) (setq OBJ NIL) (setvar "regenmode" 0) (command "-calque" "v" "*" "") (prompt "SELECTIONNER LE(S) OBJET(S) POUR SELECTIONNER LES COUCHES A ETIRER :") ;; selection d'objetS pour determiner les couches qui ne seront pas verrouillees (while (null OBJ) (setq OBJ (ssget))) (SETQ FOIS 0) (setq nbr (sslength OBJ)) (REPEAT nbr (setq tcalq4 (cdr (assoc 8 (entget (ssname OBJ FOIS))))) (command "-calque" "d" tcalq4 "") (SETQ FOIS (1+ FOIS)) ) (prompt (strcat "\nCLIQUER SUR LES OBJETS A ETIRER D'UN POINT A L'AUTRE : ")) ;;selection classique des objet a etirer par selection "cp" (setq OBJ NIL) (while (null OBJ) (setq OBJ (ssget))) (setvar "osmode" OSM) (setq POI NIL) (while (null POI) (setq POI (getpoint "\nPOINT DE BASE DE REFERENCE"))) (setq POI2 NIL) (while (null POI2) (setq POI2 (getpoint poi "\nPOINT D'ARRIVEE DE REFERENCE"))) (setvar "osmode" 0) (command "ETIRER" OBJ "" POI POI2) (setvar "osmode" OSM) (command "-calque" "d" "*" "") (setvar "regenmode" 1) (setvar "cmdecho" 1) (princ) ) [Edité le 29/7/2009 par PHILPHIL]
  7. hello je vois plus ce LISP comme un moyen de verification global et rapide des echelles apres moults travail dans les fenetres ou plantage ( autocad ou vista( grrrrr et regrrrrr )) passer de xp = .999953 à xp= 0.1 que comme un moyen de se dire que l'on va modifier toutes les echelles des fenetres en passant du 1/100 ou 1/50, la ca serait ridicule je pense, ca c'est un boulot qui se fait de visu et pas en aveugle comme le dit tramber la possibilité du multi-saisie est bonne a prendre y'a la limite des 256 ou 255 a na pas franchir ( voir GEF 3.01 et le sujet qui va avec pour cette limite ) mais c'est deja une limite tres haute quand meme y'a tres peu de fichier avec autant de fenetre a+ bonne journée phil
  8. HELLO toutes tous il faut bien une liste de toutes les presentations du fichier et des fenetres qui correspondent aux presentations ainsi que de leurs echelles je ne connais pas le nombre de presentations par fichier et surtout le LISP n'est pas que a ma stricte utilisation bien au contraire tout le monde doit pouvoir l'utiliser actuellement j'ai un fichier 120 presentations pour 500 fenetres c'est un debut ca devrait si ca plante pas faire 1500 fenetres 360 presentations a la fin j'ose esperer que tres tres tres peu de fenetres auront des petits problemes de zoom intenpestif patrick 35 la bien fait avec "GEF 3.30" je vois toutes les fenetres numérotées c'est peut etre et surement une piste pour nommer les fenetres ta derniere idée de proposer des echelles standards est bonne je vois pas de probleme je lance , nous lancons des pistes pour ce LISP apres on verra bien a+ bonne soirée phil
  9. hello tramber : par la barre d'outils fenetre tu peux effectivement en choisir plusieurs et changer l'echelle mais faut etre dans la presentations l'idée c'est de rester dans l'espace objet ( onglet objet ) et de pouvoir verifier rapidement les echelles de toutes les fenetres en une seule fois et de les modifier en global le cas echéant en cliquant le moins possible et apres si c'est parfait on verrouille tout a+ phil
  10. HELLO c'est pas trop comme ca que je voyais la fenetre de presentation des presentations et fenetres mais bon j'aurais plutot vue la liste des presentations la listes des fenetres des presentations l'echelle "XP" qui va avec ( histoire d'avoir une vue d'ensemble de toutes les echelles) selection de plusieurs fenetre une case nouvelle echelle xp le bouton appliquer nouvelle echelle aux fenetres selectionnées ok pour mettre a jour les echelles fenetres mais comme tu es le maitre d'oeuvre du LISp c'est toi qui vois je viens de tester par contre on clique bcp 100 presentations minimum sur mon fichier il doit y avoir un bug sur certaine presentation ou je sais que je n'en ai pas le lips me presente 1 fenetre et la suivante ou j'en une seule il m'en presente 2 le probleme vient du fait que certaines presentations non pas de fenetre ( les cartouches ) la toute premiere presentation sans fenetre n'est pas dans la liste ca "ok" et le décalage du nbr de fenetres ce fait a ce moment la mais les suivantes presentations sans fenetres sont dans la liste par contre j'ai réussis dans la boite de dialogue a la rendre plus haute (height=40 ) au lieux de 15 mais je vois pas ou je peux l'élargir pour des nom de presentations bcp plus longs voila j'ai tester a+ merci phil
  11. hello ce que tu decris en premier message dans la fenetre de création de bloc ne fait supprimer les entites qui t'on servis a faire un bloc donc ce n'est pas ca si tu n'arrives pas a supprimer un bloc c'est qu'il est peut etre "implanter" dans une couche "geler" ou verrouillée" si tu ne le vois pas a l'écran c'est qu'il est peut etre implantée "UNE FOIS" avec une echelle tellement petite que tu ne le vois pas a l'ecran, ou sur une présentation implantation dans la couche "defpoints" ??? a+ phil
  12. hello je m'attendais a cette réponse de verrouillage de fenetres ca regle le probleme en effet sauf que souvent je fais une presentation et la recopie, change l'orientation de vue dans la fenetre et autres manips .... j'arrive souvent a plus de 100 fenetres ou presentations par fichiers manipuler l'interieur des fenetres demanderait a constament verouiller deverouiller les multiples fenetres a+ phil
  13. hello toutes tous j'ai pas mal de presentations à une fenetre ou de presentations avec plusieurs fenetres dans mes fichiers. et de tps en tps ne sachant pas vraiment pourquoi ( nombreuses manip par LISP dans les fenetres ou BUG ) le "XP" ( zoom personnalisé ) de certaines fenetres change 0.49353 au lieux de 0.5 par exemple existe t'il un LISP qui fasse la récapitulation de toutes les fenetres de presentations d'un fichier, faisant apparaitre son "XP", et le cas echeant jouer sur le "groupe 45" de la fenetre pour remetre un zoom plus "convenable" ok je suis d'accord un peu, bcp , trop maniaque pour passer de 0.49333 à 0.5 mais ca permetrait aussi de voir ou ca bouge a+ bonne journée phil
  14. PHILPHIL

    Réunir des lignes

    hello disont que ca marche , ca ok mais que ca marche parfaitement, apres un test sur 12000 entites je ne dirais pas la meme chose comme le LISp fait un "REPEAT" sur le nombre d'entitée sélectionnées, il a tendance a tourner à vide à la fin n'ayant plus d'objets a "JOINDRE" quand tu en as une centaine ca ne se vois pas mais 10000 c'est autre chose faudrait pouvoir faire une boucle en calculant le nombre d'objet a joindre restant et en sortir une fois qu'il n'y ait plus d'objet a joindre ca serat pour une prochaine fois si je trouve a+ phil
  15. hello tramber didier dans ce LISp ( désole je ne sais plus qui l'a ecrit ) tu dois pourvoir avoir la solution pour recuperer le text du "MTEXT' c'est le "STR" a+ phil (defun C:MTXT0 ( ;;;/ SS N TXT E_LST STR START END LST ) (while (not (setq SS (ssget '((0 . "MTEXT")))))) (repeat (setq N (sslength SS)) (setq TXT (ssname SS (setq N (1- N))) E_LST (entget TXT) STR (apply 'strcat (mapcar 'cdr (append (vl-remove-if-not '(lambda (X) (= (car X) 3)) E_LST) (list (assoc 1 E_LST)))) ) ) (while (setq START (vl-string-search "{\\" STR)) (setq STR (vl-string-subst "" "{" (vl-string-subst "" "}" STR START) START)) ) (setq START 0) (while (setq START (vl-string-search "\\" STR START)) (cond ((= "\\P" (substr STR (1+ START) 2)) (setq START (1+ START) END (1+ START) ) ) ((= "\\L" (substr STR (1+ START) 2)) (setq END (+ (vl-string-search "L" STR START) 2))) ((= "\\l" (substr STR (1+ START) 2)) (setq END (+ (vl-string-search "l" STR START) 2))) (t (setq END (+ (vl-string-search ";" STR START) 2))) ) (setq STR (vl-string-subst "" (substr STR (1+ START) (- END START 1)) STR)) ) (setq LST NIL) (if (< 250 (strlen STR)) (progn (while (< 249 (strlen STR)) (setq LST (cons (cons 3 (substr STR 1 250)) LST) STR (substr STR 251) ) ) (setq LST (reverse (cons (cons 1 STR) LST))) ) (setq LST (cons (cons 1 STR) LST)) ) (setq E_LST (append (vl-remove-if '(lambda (X) (or (= (car X) 3) (= (car X) 1))) E_LST) LST)) (entmod E_LST) ) (princ) )
  16. PHILPHIL

    Réunir des lignes

    HELLO toutes tous fauxsuisse avec bcp de retard c'est un TIT LISP comme ca qu'il te fallait ? apres faut surement l'ameliorer pour qu'il ne fasse la manip qu'avec les ligne de meme calque ou meme type de ligne, couleur peut etre j'en passe et des meilleurs ... a tester pour didier s'il y a des fautes de francais tu peux les corriger et ne pas hésiter à répondre loll a+ phil (defun C:JOP ( ) (setq OBJ NIL) (setvar "cmdecho" 0) (setq OSM (getvar "osmode")) (prompt "\nJOIND PLUSIEURS LIGNES ENTRE ELLES :") (prompt "\nSELECTIONNER LE(S) OBJET(S) COUPER A JOINDRE.") (while (null OBJ) (setq OBJ (ssget))) (SETQ FOIS 0) (setq nbr (sslength OBJ)) (REPEAT nbr (command "JOINDRE" (ssname OBJ FOIS) OBJ "") (SETQ FOIS (1+ FOIS)) ) (princ) ) [Edité le 27/7/2009 par PHILPHIL]
  17. hello gile comme apparement je defini le X,Y du "PAN" jsute avant avec FEALPHA et FEBETA je peux donc enlever la premiere selection "fenetre de référence" ok le ( and ... ) fait que si le programme plante pour quelques raisons que se soit il en sort automatiquement sans tourner pendant des heures sans que l'on sache pourquoi j'ai la touche "echap" facile mais des fois avec autocad ca tourne sans que l'on puisse l'arreter si si !! ca arrive sous autocad ok merci gile je te dois combien ?? ( en euros ) a+ phil
  18. hello gile j'ai un peu modifie ton LISp merci pourquoi devoir selectionner une fenetre de référence ?? a+ phil celui si marche comme un "-PAN" a l'envers je connais par avance la cible version sans avoir a selectionner une fenetre de référence dfxy : déplacement positif sur X et possitif sur Y rajout de : [surligneur] (command "scu" "")[/surligneur] et [surligneur] (command "scu" "p")[/surligneur] si la fenetre a subit une rotation de vue et que l'on connaisse le deplacement par rapport a l'espace objet a suivre dfxxy : déplacement negatif sur X et possitif sur Y dfxyy : déplacement positif sur X et négatif sur Y dfxxyy : déplacement négatif sur X et négatif sur Y (defun c: DFXY (/ vp1 ss p1 p2 n) (setvar "cmdecho" 0) (setq FEALPHA (atof (getcfg "APPDATA/FEALPHA"))) (setq FEBETA (atof (getcfg "APPDATA/FEBETA"))) (initget 4) (setq TMP1 (getdist (strcat "\nENTRER LA VALEUR DE FE_ALPHA ( SUR X ) <" (rtos FEALPHA 2 8) ">: "))) (if TMP1 (setq FEALPHA TMP1) ) (initget 4) (setq TMP2 (getdist (strcat "\nENTRER LA VALEUR DE FE_BETA ( SUR Y ) <" (rtos FEBETA 2 8) ">: "))) (if TMP2 (setq FEBETA TMP2) ) (and (or (/= (getvar 'ctab) "Model") (prompt "\nCommande non accessible en espace objet") ) (vl-cmdf "_pspace") ;;; (princ "\nSélectionnez la fenêtre référence") ;;; (setq vp1 (ssget "_:S:E" '((0 . "VIEWPORT")))) ;;; (setq vp1 (ssname vp1 0)) (princ "\nSélectionnez les fenêtres") (setq ss (ssget '((0 . "VIEWPORT")))) ;; (or (ssdel vp1 ss) T) (vl-cmdf "_mspace") ;;; (setvar 'cvport (cdr (assoc 69 (entget vp1)))) ;;; (vl-cmdf "_pan" (strcat (rtos FEALPHA 2 8) "," (rtos FEBETA 2 8)) "0,0") (setq n 0) (while (setq vp (ssname ss n)) (setvar 'cvport (cdr (assoc 69 (entget vp)))) (command "scu" "") (vl-cmdf "_pan" (strcat (rtos FEALPHA 2 8) "," (rtos FEBETA 2 8)) "0,0") (command "scu" "p") (setq n (1+ n)) ) (vl-cmdf "_pspace") ) (setcfg "APPDATA/FEALPHA" (rtos FEALPHA 2 8)) (setcfg "APPDATA/FEBETA" (rtos FEBETA 2 8)) (setvar "cmdecho" 1) (princ) ) [Edité le 23/7/2009 par PHILPHIL] [Edité le 28/7/2009 par PHILPHIL]
  19. hello gile tu connais deja la réponse <acronym class=dict title= caaaa marche merci est ce que je vais pouvoir modifier le lisp en determinant p1 et p2 a l'avance ?? normalement oui le vl-cmdf ne devrait pas poserde souci ?, bo je test ca et vous informe merci a+ phil
  20. hello tous toutes merci vous venez de me donner des pistes bred je pense plus a la solution de rentrer dans la fenetre faire un pan de 0,0 vers x,y et en ressortir et passer a la suivante faut que je teste ca bonne soirée a+ phil
  21. hello est il possible par LISP de faire un "pan" ( determiné ou pas ) dans plusieurs fenetre a la fois ma methode actuelle est : 3 à5 fenetre par presentations "eo" pour entre dans une fenetre "pan" et tout la tatoin pour me deplacer dans la fenetre "control+R" pour passer a la fenetre suivante "pan" et tout la tatoin pour me deplacer dans la fenetre 5 fois ....... est ce qu'il serait possible de selectionnner les 5 fenetres et que le LISP face un "PAN" ( determiné) dans chaque fenetre l'une apres l'autre ??? peut etre que ce LISP existe déja ?? a+ phil
  22. HELLO comme ca dépasse 170m² de S.H.O.N. il te faut la signature d'un archi je suppose que tu vas modifier les facades amenagement de bureaux ? regle de sécurite devant etre visée par les pompiers ? industrie classée ? a+ phil
  23. PHILPHIL

    escalier de secour

    hello pour tout ce qui touche a la securite il y a des regles bien precises pour bien d'autre chose aussi d'ailleurs en bon archi ( ou tout du moins dessinateur projeteur ) on commence par la réglementation tu ne trouvera pas comme ca un escalier tout fait qui corresponde a ton projet quel batiment ? combien d'UP ? hauteur de marche maxi ? Nb de marche ? metal ? beton ? prefa ? en U, droit ? combien de volées ? palier ? et j'en passe ou alors c'est pas un projet francais peut etre a+ phil [Edité le 30/6/2009 par PHILPHIL]
  24. hello gile sous AA2010 pas de souci apparent ca marche bien merci a+ phil
  25. hello avec ce lisp a+ phil ;BtoWB=>Bloc to WBloc ;--------------------------- ;récuperer les blocs internes d'un fichier pour les passer en blocs externes (WBloc) ;-------------------------- (defun c:btowb () (setvar "cmdecho" 0) ; pour definier les noms longs à changer suivant la version d'autocad et de windows ;si nom_long = T alors nom long OK ;si nom_long = NIL alors pas de nom long (setq nom_long T) ;on liste tous les blocs internes contenus dans le fichier (setq lst_bloc nil) (setq bloc (tblnext "BLOCK" T)) (while (/= bloc nil) (if (/= (substr (cdr (assoc 2 bloc)) 1 1) "*") (if (/= (wcmatch (cdr (assoc 2 bloc)) "*|*") T) (setq lst_bloc (append lst_bloc (list (cdr (assoc 2 bloc))))) ) ) (setq bloc (tblnext "BLOCK")) ) (setq nb_bloc (length lst_bloc)) (prompt (strcat "\n" (itoa nb_bloc) " BLOCS TROUVES")) ;on défini si la création est totale ou si on passe les noms un par un (setq compte 0) (setq option nil) (initget "P T") (setq option (getkword "\nCréation Pas à pas ou Tout: ")) (if (= option "T") (progn (repeat nb_bloc (creation_bloc) (setq compte (1+ compte)))) (progn (repeat nb_bloc (setq choix nil) (initget "O N") (setq choix (getkword (strcat "\nBLOC " (itoa (1+ compte)) " = " (nth compte lst_bloc) " > O/N : ") ) ) (if (= choix "O") (creation_bloc) ) (setq compte (1+ compte)) ) ) ) (princ) ) ;--------------- ;sous programme creation de bloc ;-------------- (defun creation_bloc () (setq existe nil) ;on verifie que le bloc n'existe pas sinon on pose la question de le remplacer (setq existe (findfile (strcat (nth compte lst_bloc) ".dwg"))) (if (= existe nil) (if (= nom_long T) (command "WBLOC" (nth compte lst_bloc) (nth compte lst_bloc)) (command "WBLOC" (substr (nth compte lst_bloc) 1 8) (nth compte lst_bloc)) ) (progn (initget "O N") (setq efface (getkword (strcat "\nLe bloc " (nth compte lst_bloc) " éxiste déja, désirez vous le remplacer O/N:" ) ) ) (if (= efface "O") (if (= nom_long T) (command "WBLOC" (nth compte lst_bloc) "o" (nth compte lst_bloc)) (command "WBLOC" (substr (nth compte lst_bloc) 1 8) "o" (nth compte lst_bloc)) ) ) ) ) ;(princ) ) ;;;(prompt "\n======>BTOWB") ;;;(princ)
×
×
  • 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é