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 en version LISp http://www.cadxp.com/sujetXForum-23065.htm réponse 2 a+ phil [Edité le 8/4/2011 par PHILPHIL]
  2. PHILPHIL

    Cotation inversé

    hello pour aller encore plus vite tu peux passer en une seule fois la selection sur toute la coupe il ne prendra que les cotes, mais pas les cotes alignés je crois et ca doit buguer quand le scu n'est pas pile poil bien orienter, style 8 chiffre apres la virgule a+ phil
  3. PHILPHIL

    Cotation inversé

    hello regarde ici http://www.cadxp.com/sujetXForum-18197.htm ou la http://www.cadxp.com/sujetXForum-17603.htm la ou tu es déja allé j'ai depuis peut etre fait une mise a jour sur mon ordi a+ phil [Edité le 8/4/2011 par PHILPHIL]
  4. salut si tu prends une coupe par exemple avec des cotes et des entites et que tu lui fais ( le tout groupé ) un alignement sur un autre SCU ( par exemple la tete en bas ) les cotes vont se recréer par rapport au scu de base et quand tu retourne la coupe en la egardant dans le bon sens et bien les texte de cote eux se etrouvent la tete en abs et la facade dans le bon sens a moins que ce ne soit pas ce genre de situation dont tu parles auquel cas il nous faut une image pour bien visualiser a+ phil
  5. salut lisp trouvé sur le net ou ici je ne sais plus en tout cas merci a lui ou à ELLE, ya pas de raison le premier renomme le second renomme et fusionne si le nom existe deja a+ phil ; NEWLAYER-AJOUT PREFIXE.LSP ;........................................................ ; ce programme modifie le nom du debut des nappes ; l'utilisateur saisi les caracteres qu'il veut supprimer ; puis saisi a la suite les caracteres de remplacement ;........................................................ (defun C:NNL (/ NOM NOM1 NOMB NOMB2 OLDTX OLDTX1 OLDTX2 SSET NBSSET V2 NEWTX NEWTXT ENT ENTIT) (setvar "cmdecho" 0) (command "-calque" "ch" "0" "") (setq NOM (getstring "\n FILTRE DEBUT NOM DE CALQUES a modifier PAR AJOUT DE PREFIXE:")) (setq NOM1 (getstring "\n Nouveau PREFIXE DES CALQUES :")) (setq NOMB (strlen NOM)) (setq NOMB2 (+ 1 NOMB)) ; On se positionne sur le premier nom de plan qui est défini (setq X_PLAN (tblnext "layer" t)) ; On boucle pour passer un à un tous les plans (while (/= X_PLAN NIL) ;recherche du nom de la nappe dans l'entite incremente ;sous la forme d'une liste (setq OLDTX1 (assoc 2 X_PLAN)) ;(prin1 oldtx1) ;le nom de la nappe est le second texte de la liste ci dessus (setq OLDTX (cdr OLDTX1)) (prin1 OLDTX) ;boucle de test variable (setq BOUCLE 1) (while (< BOUCLE 10) ;recherche du debut de texte du nom de la nappe (setq OLDTX2 (substr OLDTX BOUCLE NOMB)) ;(prin1 oldtx2) ;(prin1 nomb) ;test pour savoir si le debut du texte dans l'entite ;correspond au texte que l'on veut supprimer (if (= NOM OLDTX2) (progn ;suppression du debut de texte du nom de la nappe (setq NOMB3 (+ BOUCLE NOMB)) (setq OLDTX3 (substr OLDTX NOMB3)) (prin1 (strcat "\n : " OLDTX3)) ;concatenation du nouveau texte avec l'ancien moins le debut de texte ;qui a ete supprime (setq NEWTX (strcat NOM1 OLDTX3)) ;command AUTOCAD renommer (command "renommer" "ca" OLDTX NEWTX) (prompt (strcat "\nL'ANCIEN CALQUE : " OLDTX)) (prompt (strcat "\nA ETE RENOMMER PAR : " NEWTX)) (prompt "\n") ) ; fin du progn ) ; fin du while (setq BOUCLE (+ BOUCLE 1)) ) (setq X_PLAN (tblnext "layer")) ) ; fin du while (princ) ) ; NEWLAYER-AJOUT PREFIXE.LSP ;........................................................ ; ce programme modifie le nom du debut des nappes ; l'utilisateur saisi les caracteres qu'il veut supprimer ; puis saisi a la suite les caracteres de remplacement ;........................................................ (defun C:NNLF (/ NOM NOM1 NOMB NOMB2 OLDTX OLDTX1 OLDTX2 SSET NBSSET V2 NEWTX NEWTXT ENT ENTIT ) (setvar "cmdecho" 0) (command "-calque" "ch" "0" "") (setq NOM (getstring "\n FILTRE DEBUT NOM DE CALQUES a modifier PAR AJOUT DE PREFIXE:")) (setq NOM1 (getstring "\n NOUVEAU PREFIXE DES CALQUES :")) (setq NOMB (strlen NOM)) (setq NOMB2 (+ 1 NOMB)) ; On se positionne sur le premier nom de plan qui est défini (setq X_PLAN (tblnext "layer" t)) ; On boucle pour passer un à un tous les plans (while (/= X_PLAN NIL) ;recherche du nom de la nappe dans l'entite incremente ;sous la forme d'une liste (setq OLDTX1 (assoc 2 X_PLAN)) ;(prin1 oldtx1) ;le nom de la nappe est le second texte de la liste ci dessus (setq OLDTX (cdr OLDTX1)) (prin1 OLDTX) ;boucle de test variable (setq BOUCLE 1) (while (< BOUCLE 10) ;recherche du debut de texte du nom de la nappe (setq OLDTX2 (substr OLDTX BOUCLE NOMB)) ;(prin1 oldtx2) ;(prin1 nomb) ;test pour savoir si le debut du texte dans l'entite ;correspond au texte que l'on veut supprimer (if (= NOM OLDTX2) (progn ;suppression du debut de texte du nom de la nappe (setq NOMB3 (+ BOUCLE NOMB)) (setq OLDTX3 (substr OLDTX NOMB3)) (prompt (strcat "\n : " OLDTX3)) ;concatenation du nouveau texte avec l'ancien moins le debut de texte ;qui a ete supprime (setq NEWTX (strcat NOM1 OLDTX3)) ;command AUTOCAD renommer (if ( = (tblsearch "layer" NEWTX ) nil ) (progn ;;; (prompt "\n RENOMMER" ) (command "renommer" "ca" OLDTX NEWTX) (prompt (strcat "\nL'ANCIEN CALQUE : " OLDTX)) (prompt (strcat "\nA ETE REMOMME PAR : " NEWTX)) (prompt "\n") ) (progn ;;; (prompt "\n FUSION" ) (command "-fuscalques" "n" OLDTX "" "n" NEWTX "o" ) (prompt (strcat "\nL'ANCIEN CALQUE : " OLDTX)) (prompt (strcat "\nA ETE FUSIONNER AVEC : " NEWTX)) (prompt "\n") ) ) ) ; fin du progn ) ; fin du while (setq BOUCLE (+ BOUCLE 1)) ) (setq X_PLAN (tblnext "layer")) ) ; fin du while (princ) )
  6. hello tu crais trois propriétés une numérique simple : Nbpersonne une autre alphabetique : typepersonne et 3ieme : nbpersonnealpha et pour nbpersonnealpha, tu appliques la concaténation de ("Nbpersonne" "typepersonne") et dans tes étiquettes tu ne fais apparraitre que "nbpersonnealpha" Nbpersonne sert dans tes tableaux au calcul et typepersonne au reperage ca multiplie les parametres certes mais ca facilite les calculs si la lettre en suffixe avait été tjrs la meme je serais passé par un format de donné pour "Nbpersonnelpaha" et iliminé comme ca la propriété 'typepersonne" pas sur que j'ai été tres clair a+ phil
  7. BONSOIR merci a tous pour ne pas que ca bug j'ai opter a l'ouverture du fichier de renseigner les propriétés avec "vla-AddCustomInfo" si elle n'existe pas , il l'ajoute, sinon elle passe sans buguer puis dans un deuxieme tps de modifier les propriétés avec "vla-GetCustomByKey" si besoin est ce qui fait que l'on a pas besoin de verifier si la propriété existe ou pas pour choisir entre "vla-AddCustomInfo" ou "vla-GetCustomByKey" pour ce qui est du TITRE "proprité personnalisée" désolé pour la faute de frappe et merci de l'avoir et pouvoir la corriger surtout quand on a pas une page blanche à la validation de notre message, sans savoir si celui ci a été pris en compte par le serveur mais ca on en a déja débatu je crois ici merci a+ phil
  8. bonjour grace aux "LISPIENS" ici present, ils se reconnaitrons j'ai récuperé ca sur le site, ca permet de lire une propriété personnalisée mais quelle est la solution pour l'ecrire dans le fichier *.dwg ? la meme chose en version "PUT" et non "GET" est ce que je remplace les "GET" par "PUT" dans le lisp ?? ( trop facile ??? ) (defun gc:GetCustomByKey (key / val) (vl-catch-all-apply '(lambda () (vla-GetCustomByKey (vla-get-SummaryInfo (vla-get-ActiveDocument (vlax-get-acad-object))) key 'val ) ) ) val ) (DEFUN c:test44 () (setq toto (gc:GetCustomByKey "DATE P1")) ) a+ phil
  9. HELLO GILLE question super idiote de ma part KEZAKO "visual studio" ca sert a quoi ? c'est un peu une version "visual lisp" mais pour le *.NET c'est ca ?? répondre a ses propres questions dans le meme messages est tout aussi idiot mais ca fait du bien de tps en tps a+ bon week end phil
  10. hello "le milieu a l'interieur d'une polyligne" fermée doit etre son centre de gravité et le programme "midpline" trace la polyligne mediane des deux autres polylignes ca riena voir mais un programme de recherche de centre de gravité doit déja existé sur cad xp a+ phil
  11. hello gile tester effectuer il a bien fallu declarer un dossier a autocad pour qu'il trouve le fsharptest.dll quand meme dossier séparés meme dossier et dossier connu depuis longtemps par autocad 2011 Commande: ssbn Commande inconnue "SSBN". Appuyez sur F1 pour obtenir de l'aide.et ca avec les trois methodes a+ phil
  12. PHILPHIL

    didier GREVISTE

    hello apres un petit tres court passage sur ton site didier acadlabs j'avoue qu'il a l'air bien sympa et surtout bien plus pratique tres bon site merci a toi merci a joky a+ phil
  13. hello lilian j'ai opte pour le lxl de patrick depuis le début ca ok bryce j'ai teste de remplacer le nom du fichier dans le *.DXE par notepad et changer tout les nom de fichier par un autre ( un chiffre a changer c'est rapide ) mais a l'enregistrement il doit y avoir un souci car quand je le rapelle ensuite avec autocad, celui ci me dit que le fichier *.dxe n'est pas valide mais je vais poursuivre dans cette voie la, et retester merci aplus phil
  14. hello ok lilian merci pour l'exemple c'est bien comme ca que je l'avais compris les liaison de données ne marchent que dans le sens excel vers autocad alors que dans mon cas c'est AUTOCAD qui commande autocad vers excel on vas esperer de monsieur autodesk il améliore le truc pour la version 2012 merci a+ phil
  15. hello lili dit le moi si je me trompe mais les liaisons de données ca marche que dans un sens de excel vers autocad pour extraires des données de blocs, parametres, attributs il faut bien faire une extraction de données avant et en faire un tableau dans autocad je le mets a jour assez souvent pour verifier si j'ai pas de doublons ensuite j'utilise le programme LXL de patrick ( super pratique et nettement plus simple ) et je lis chaque tableau a une feuille excel ca je le fait une fois de tps en tps avant d'envoyer au client a+ phil
  16. bonsoir j'ai créer plusieurs fichier *.dxe d'extraction de données dans un fichier nommée par exemple "batiment ind #01" je sauvegarde et change souvent le nom du fichier, je l'incrémente au fur et a mesure que je dessine "batiment ind #02" "batiment ind #03" et ainsi de suite si je change d'indice de cartouche je passe à " batiment ind A00" "batiment ind A01" pour toujours avoir une version si ca plante et surtout savoir ce que j'ai envoyer aux clients pour pourvoir comparer la cas échéant bref le probleme n'est pas la pour avoir les tableaux dans autocad a jour je dois me retapper les 5-6-7 définition du fichier *.dxe qui est lier aujourd'hui "batiment ind #02" et demain ind #03" rien ne change sauf le nom du fichier sinon on récupere les données du fichier précédent et ca aucun interet il y a t'il une manip simple pour changer le nom du fichier seulement sans se ratapper toute la commande "extractdonnees" de mémoire et devoir reposer un tableau alors qu'il fait en emme temps la mise a jour de l'ancien un bordel en quelque sorte GRRRR merci a+ phil
  17. SALUT merci pour vos réponses gile : est ce que l'on peut valider la boite de dialogue par un clic droit de souris ? le but étant de pas avoir a lever la main de la souris si la valeur dans "inputbox" est juste le curseur n'etant pas forcement non plus sur le bouton "ok" l'option de la souris dans windows qui place automatiquement le curseur sur le bouton par defaut de la boite de dialogue ne fonctionne plus sous "SEVEN" la mains gauche étant constamment sur "escape" ( deux fois ) et la "barre espace" et OUIII un vrai robot, ca gagne énormement de temps a+ phil
  18. hello ok ok je vais essayer d'etre plus clair je parle de modifier la variable "toto" quand le lisp est en route pas quand je suis dans un editeur de texte ou de visualisp et bien la fonction "getstring" demande a tapper du texte dans mon cas "toto"="arase supérieur : 27.35 Ngf que je sauvegarde avec (setcfg "APPDATA/TOTO" TOTO1 ) dans AutoCAD.cfg ca me permet avec (setq TOTO1 (getcfg "APPDATA/TOTO")) de rappeler la variable quand je relance le LISP (setq tmp (getstring (strcat "\nENTRER L'ARASE DE LA POUTRE <" TOTO1 ">: " ) ) ) (if tmp (setq TOTO1 tmp) ) comme je connais deja "toto" je voudrais n'avoir qu'a le corriger sans avoir a tout retapper arase supérieur : 27.35 Ngf ===> arase supérieur : 28.45 Ngf ou valider par un "enter " ou clic droit et que le programme se poursuive heuu est ce que j'ai été plus clair ??? mouaiii a+ phil
  19. BONJOUR dans un ( plusieurs ) lisp j'ai un "getstring" (setq TOTO1 (getcfg "APPDATA/TOTO")) (setq tmp (getstring (strcat "\nENTRER L'ARASE DE LA POUTRE <" TOTO1 ">: " ) ) ) (if tmp (setq TOTO1tmp) ) (setcfg "APPDATA/TOTO" TOTO1 ) le probleme est que le "dit" TOTO est long a tapper (10 lettres ) est ce qu'il y a un moyen d'avoir en fin du "getstring" la possibilite de modifier un bout seulement de TOTO sans avoir a tout retapper depuis le début modifier "MOMO" en quelque sorte (setq TOTO1 (getcfg "APPDATA/TOTO")) (setq tmp (getstring (strcat "\nENTRER L'ARASE DE LA POUTRE <" TOTO1 ">: MOMO " ) ) ) (if tmp (setq TOTO1 tmp) ) (setcfg "APPDATA/TOTO" TOTO1 ) "MOMO" et "TOTO" nt'eatant pas des prénom déposés je crois sinon bonjour le fric merci a+ phil
  20. PHILPHIL

    Lisps de Patrick_35

    hello patrick j'ai testé RBLOC 2.22 heuuu elle fonctionnement moins bien que la 2.21 j'ai vu que tu avais rajouté "un truc "origine" et enlevé les "attsync" est ce suite aux deux autres blocs que je t'avais envoyés ? a+ phil [Edité le 18/2/2011 par PHILPHIL]
  21. PHILPHIL

    Insertion champ

    salut cette version la, récupere l'antépénultieme et l'avant dernier caractere de la chaine $(substr,$(getvar, ctab),$(-,$(strlen,$(getvar,ctab)),2),2) pour toi le champ, ca serait $(substr,$(getvar, dwgname),1,$(-,$(strlen,$(getvar,dwgname)),4)) si je ne me suis pas planter dans les virgules et les parentheses merci du petit exercice a+ phil
  22. PHILPHIL

    Lisps de Patrick_35

    hello patrick je viens de tester rbloc 2.20 ca ne conserve pas les proprietes dynamiques du bloc origine bloc 1 origine : largeur = 125 modifié ( propriété dynamique ) longueur = 138 modifié ( propriété dynamique ) bloc 2 remplacant : largeur = 250 a sa création ( propriété dynamique ) longueur = 250 a sa création ( propriété dynamique ) on retrouve bien les nom des propriétés mais les blocs "origine" deviennent largeur = 250 au lieu de garder 125 longueur = 250 au lieu de garder 138 merci patrick a+ phil
  23. PHILPHIL

    Lisps de Patrick_35

    hello patrick une version de RBLOC en conservant les parametres dynamiques en commun c'est possible ou pas ? a+ phil
  24. hello gille GRAND merci ca va servir a+ phil
  25. salut gille ok je ferais sans merci a+ phil
×
×
  • 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é