PHILPHIL
Membres-
Compteur de contenus
1 259 -
Inscription
-
Dernière visite
-
Jours gagnés
10
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par PHILPHIL
-
bonjour gilles je me permet de te relancer sur se sujet, et savoir si c'est possible ou pas une modication ou complement de SSD http://www.cadxp.com/sujetXForum-20080.htm pouvoir prendre en compte les attibuts dans les blocs dynamiques tu as aussi crer un lisp avec nom de commande c:BLP ( blp.lsp) peut etre je n'arrive pas a le retrouver sur le forum je voulais voir comment tu avais en lisp modifie les attibuts d'un bloc a son insertion sans passer par la boite de dialogue merci a+ phil
-
hello gile la commande "ssd" est tres pratique mais maintenant j'ai crée des blocs paramétrique avec des attributs et des champs est ce qu'il serait possible de rajouter a "SDD" la recherche avec des champs et des attributs on peut tres bien avoir des parametres dynamiques similaires et des champs ou attibuts differents merci a+ phil
-
lire une propriété personnalisée
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
hello merci gile et les autres pour vos réponses As tu regardé les méthodes applicables à l'objet SummaryInfo avec l'expression donnée par Patrick_35 : (vlax-dum-object ...) et/ou dans l'aide aux développeurs (ActiveX and VBA Reference) ? oui j'ai essaye de chercher par moi meme mais comme j'ai du installer internet explorer beta 9 j'ai bien lancer une recherche de "vla-GetSummaryInfo" avec l'aide autocad il y a deux jours mais ca tourne encore si tu vois ce que je veux dire l'aide autocad n'en est plus une il ne trouve rien de rien, gros BUGGGGG a+ phil [Edité le 9/12/2010 par PHILPHIL] -
lire une propriété personnalisée
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
hello merci pour les reponse mais (vla-get-title ....) recupere le titre dans l'onglet résumé dans _dwgprops il y a 4 onglets "général, résumé, statitiques" avec des noms de valeurs fixes - et l'onglet "personnaliser" avec des nom de valeurs à personnaliser justement ce sont ses données la que je voudrais récuperer nom : datep1 valeur : le 25/12/2010 nom : datep2 valeur : le 31/01/2011 nom : zeroref valeur : 125.62 récuperer : le 25/12/2010 ou 125.62 a+ phil -
bonjour je voudrais recuperer une propriété personnalisée du dessin pour m'en servir comme variable (presque constante quand meme ) dans un lisp "zeroREF" par exemple ici http://www.cadxp.com/sujetXForum-28879.htm j'ai trouvé ca (vlax-dump-object (vla-get-summaryinfo (vla-get-activedocument (vlax-get-acad-object))) T) mais ou dois je mettre le "zeroREF" dans cette ligne toto = zeroREF(personnalisé) (setq toto (vlax-dump-object (vla-get-summaryinfo (vla-get-activedocument (vlax-get-acad-object))) T) merci phil
-
hello j'ai exactement le meme probleme avec deux ecran et une carte fx 4600 pour aller plus vite l'affichage du deuxieme ecran est en 16bit couleurs au lieux de 32 bits celui ou j'affiche la fenetre des propriétes, de la ligne de commandes et des barres d'icones c'est en fait dans la fenetre des propriétées que l'affichage des deux lignes concernant les fleches de cotes est longue a afficher avant de rendre la main autodesk ne m'a jamais répondu la dessus mais autodesk ne répond que tres tres rarement, je suis tres mauvaise langue mais tres réaliste la dessus a+ phil
-
hello petit LISP pour mise a jour du bloc selectionné contrairement a d'autres je te conseille de previlégier la construction des blocs dans des fichiers bien propre et bien a part sans jamais les créer dans le calque "zéro" qui ne doit jamais rien contenir sinon tu vas vite te retrouver avec des blocs ayant les meme nom mais tous different et a gerer c'est un vrai bordel merci a "gile" et bien d'autre LISPEUR pour ce petit lisp marche aussi sur les blocs paramétriques ha oui remplacer "C:\\PERSO\\BIBLIOTHEQUE" par votre sous répertoire de base de bibliotheque, il irat chercher ensuite dans les sous sous .... répertoires phil (defun C:mjb (/ELST ENAM BLKNAME typent ) (setq ENAM (car (entsel "\nSelectionner le bloc a mettre a jour: ")) ELST (entget ENAM) typent (cdr (assoc 0 ELST)) ) (IF (= typent "INSERT") (progn (setq BLKNAME (GetFirstFile (strcat (vla-get-effectivename (vlax-ename->vla-object ENAM)) ".dwg") '("C:\\PERSO\\BIBLIOTHEQUE"))) (command "_-insert" (strcat (vla-get-effectivename (vlax-ename->vla-object ENAM)) "=" BLKNAME)) (command) (if ( /= (cdr (assoc 66 ELST) nil )) (command "_attsync" "_n" (cdr (assoc 2 ELST)))) (if BLKNAME (prompt "\n Bloc mis à jour")) ) (prompt "\n Ce n'est pas un BLOC ") ) (princ) ) (defun GetFirstFile (f p) (cond ((not p) nil) ((vl-directory-files (car p) f) (strcat (car p) "\\" (car (vl-directory-files (car p) f)))) ((GetFirstFile f (append (mapcar (function (lambda (x) (strcat (car p) "\\" x))) (vl-remove ".." (vl-remove "." (vl-directory-files (car p) nil -1))) ) ;_ mapcar (cdr p) ) ;_ append ) ;_ GetFirstFile ) ) ;_ cond ) ;_ defun [Edité le 26/11/2010 par PHILPHIL]
-
hello j'ai pas la reponse a ta demande mais des question tu dis utiliser bcp de bloc paramétrique j'en utilise aussi pas mal mais j'ai bcp de BUG avec l'utiisation des fleches d'etirements ca plante 1 fois sur 2 sauf si je passe par donner une bonne "dimension" dans la fenetre de renseignement tous ont été crées sous la version 2011? ou 2010? 2009? as tu dans tes blocs des parametres d'étirements ( simple ou double fleche bleues) modifies tu les parametres d'etirement de tes blocs avec les fleches ou dans la fenetre de renseignement ? quand tu les implantes et que tu fais des zoom a la molette dessus et etirements avec les fleches est ce que ca plante ? quelle taille tes fichiers ( plus de 5 méga ) merci pour tes réponse et celle des autres aussi phil
-
hello patrick j'ai récupéré de ta part une version "scriptor 2.00" je suis sous AA2011, et en fait rien ne se passe aucun fichiers ne souvrent avec visualisp j'ai mis quelque espions sur des parametres LST : la liste des differents fichiers dwg a ouvrir est au complet BL : le nom du LISP a ouvrir pour chaque fichier est ok LEC : par contre le nom du fichier qui doit etre ouvert dans "FOREACH" est vide j'ai vue sur une autre site que le LISP DUC 1.03 avait le meme probleme tu parles sur l'autre site que ca n'ouvre pas les fichiers et utilise "objectdbx" pour DUC 1.03 est ce la meme chose pour scriptor 2.00 ? mon but est d'ouvrir chaque fichier, de zoomer, les sauvegarder, et avoir dans l'explorateur windows une image de ca que ca represente a peu pret , plutot que d'avoir l'icone en gros jaune et bleu DWG / tm bon week end a+ phil [Edité le 15/10/2010 par PHILPHIL]
-
BONJOUR je suis sous autocad architecture 2011 quand je l'ouvre en version autocad, a chaque ouverture d'un nouveau fichier, ou meme a l'ouverture d'autocad, j'ai l'aide sur internet explorer qui s'ouvre aussi. et a la longue c'est C..... en ouverture avec autocad architecture, je n'ai pas de soucis, ou est ce que je trouve la ligne dans un AutoCAD.lsp ou acadinfo.lsp ou autre la ligne qui permet de desactivé cette ouverture d'aide, ( qui soit dit en passant n'en est pas une ) bonne journée phil
-
BONJOUR je suis sous autocad architecture 2011 quand je l'ouvre en version autocad, a chaque ouverture d'un nouveau fichier, ou meme a l'ouverture d'autocad, j'ai l'aide sur internet explorer qui s'ouvre aussi. et a la longue c'est C..... en ouverture avec autocad architecture, je n'ai pas de soucis, ou est ce que je trouve la ligne dans un AutoCAD.lsp ou acadinfo.lsp ou autre la ligne qui permet de desactivé cette ouverture d'aide, ( qui soit dit en passant n'en est pas une ) bonne journée phil
-
ACTION SUR CALQUES D\'UN BLOC
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
hello quelques tout petits lisp sur les calques des blocs grace a gile et tramber merci a eux agit sur les calques des blocs, si par hazard il n'y a qu'un seul calque parmis les blocs qui soit inactif ou geler suivant le lisp de gile : libere tous les calques d'un bloc (defun c:lbloc () (prompt "CLIQUER SUR LE BLOC :") (setq bl1 (ssget (list (cons 0 "insert")))) (if (/= bl1 nil) (progn (setq ent1 (cdr (car (entget (ssname bl1 0))))) (setq rempbl (vla-get-effectivename (vlax-ename->vla-object ent1))) ) ) (setq blk (vla-Item (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) rempbl ) ) (vlax-for o blk ;;; (princ ;;; (strcat "\n" (vla-get-ObjectName o) " " (vla-get-Layer o)) ;;; ) (command "-calque" "l" (vla-get-Layer o) "" ) ) ) inactive tous les calques d'un bloc (defun c:ibloc () (prompt "CLIQUER SUR LE BLOC :") (setq bl1 (ssget (list (cons 0 "insert")))) (if (/= bl1 nil) (progn (setq ent1 (cdr (car (entget (ssname bl1 0))))) (setq rempbl (vla-get-effectivename (vlax-ename->vla-object ent1))) ) ) (setq blk (vla-Item (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) rempbl ) ) (vlax-for o blk ;;; (princ ;;; (strcat "\n" (vla-get-ObjectName o) " " (vla-get-Layer o)) ;;; ) (command "-calque" "in" (vla-get-Layer o) "" ) ) ) active tous les calques d'un bloc (defun c:abloc () (prompt "CLIQUER SUR LE BLOC :") (setq bl1 (ssget (list (cons 0 "insert")))) (if (/= bl1 nil) (progn (setq ent1 (cdr (car (entget (ssname bl1 0))))) (setq rempbl (vla-get-effectivename (vlax-ename->vla-object ent1))) ) ) (setq blk (vla-Item (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) rempbl ) ) (vlax-for o blk ;;; (princ ;;; (strcat "\n" (vla-get-ObjectName o) " " (vla-get-Layer o)) ;;; ) (command "-calque" "ac" (vla-get-Layer o) "" ) ) ) suivant le lisp de tramber, permet de regarder aussi les blocs imbriqués : (defun foo(nom / ent elst) (setq ent (cdr (assoc -2 (tblsearch "BLOCK" nom)))) (while ent (setq elst (entget ent) ent (entnext ent) ) (if(=(cdr(assoc 0 elst))"INSERT")(foo(cdr(assoc 2 elst))) (if(not(member(cdr (assoc 8 elst))livide))(setq livide(append livide(list(cdr (assoc 8 elst))))))) ;;; (princ ;;; (strcat "\n" (cdr (assoc 0 elst)) " " (cdr (assoc 8 elst))) ;;; ) ) ) active tous les calques d'un bloc (defun c:abloc2 () (setq livide nil) (prompt "CLIQUER SUR LE BLOC :") (setq bl1 (ssget (list (cons 0 "insert")))) (if (/= bl1 nil) (progn (setq ent1 (cdr (car (entget (ssname bl1 0))))) (setq rempbl (vla-get-effectivename (vlax-ename->vla-object ent1))) (foo rempbl) ) ) (foreach ncal livide (command "-calque" "ac" ncal "" )) ) inactive tous les calques d'un bloc (defun c:ibloc2 () (setq livide nil) (prompt "CLIQUER SUR LE BLOC :") (setq bl1 (ssget (list (cons 0 "insert")))) (if (/= bl1 nil) (progn (setq ent1 (cdr (car (entget (ssname bl1 0))))) (setq rempbl (vla-get-effectivename (vlax-ename->vla-object ent1))) (foo rempbl) ) ) (foreach ncal livide (command "-calque" "in" ncal "" )) ) libere tous les calques d'un bloc (defun c:lbloc2 () (setq livide nil) (prompt "CLIQUER SUR LE BLOC :") (setq bl1 (ssget (list (cons 0 "insert")))) (if (/= bl1 nil) (progn (setq ent1 (cdr (car (entget (ssname bl1 0))))) (setq rempbl (vla-get-effectivename (vlax-ename->vla-object ent1))) (foo rempbl) ) ) (foreach ncal livide (command "-calque" "l" ncal "" )) ) a+ phil -
hello tu geres tout ca par rapport a la couleurs de ton dessin dans ton fichier *.ctb que tu trouves dans la fenetre d'impression ou de mise en page en haut a droite a une couleurs de dessin ( espace objet ) tu peux lui réassocier une autre couleur d'impression, un epaisseur de trait ( 0.7 mm dans ton cas), un type de raccord en trait et une terminaison a+ phil
-
ACTION SUR CALQUES D\'UN BLOC
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
ok -
bonjour quand on gele, eteint ou verouille un calque en selectionnant un bloc on agit tjrs sur le calque ou est implanté le bloc j'implante tjrs mon bloc dans le calque principal qui compose mon bloc et jamais , jamais sur le calque zero je n'ai jamais d'entité dans le calque zero ( que ce soit bloc, ou autre ) et j'ai souvent plusieurs calques pour composer mon bloc comment peut on recuperer la liste des calques qui compose un blocs, pour pouvoir toutes les faire apparaitre ou toutes autres actions ( geler, degeler, verrouiller , deverrouiller .... ) le calque d'implantation du bloc pas de probleme les calques interne du bloc = soucis merci a+ phil
-
hello on ne desesperent plus on est passé au dela si par megarde on a eu le malheur d'appuyer sur "f1" ou que la fenetre d'aide se soit automatiquement ouverte on a pris l'habitude de faire un "alt+f4" en gros la societe "AUTODESK" devient de plus en plus inutile ( abuser surement ) comme leur aide ils vont mal finir et pourtant j'aime bien autocad phil
-
HELLO avec une carte nvidia fx 4600 deux ecrans je n'ai le probleme d'affichage qu'avec la selection de cotes dans la fenetre des proprietes l'affichage des lignes "fleche 1" "fleche 2" est clairement au ralenti sur le deuxieme ecran ce sont les deux "boutons" de selections de type de fleche qui sont long a s'afficher j'ai reussis a accélerer l'affichage en modifiant le nombre de couleurs sur le deuxieme ecran ecran principal LCd : 16 millions de couleurs ecran secondaire un vieux a tube : 32000 couleurs a+ phil
-
2 outils que j\'ai dans la tête...
PHILPHIL a répondu à un(e) sujet de Pieroka dans Suggestions de développements
hello lilian .gile. patrick .... avec toi lilian ca marche *.zip nickel heu tu peux donner un petit cours a gile pour les *.zip ??? je plaisante bien sur merci tous bon soleillll phil -
2 outils que j\'ai dans la tête...
PHILPHIL a répondu à un(e) sujet de Pieroka dans Suggestions de développements
hello gile haaa grrr les fameux *.zip de gile je suis désolé ca ne marche tjrs pas chez moi impossible de récuperer un *.zip qui ne soit pas corrompu ton deuxieme : ssmatch renvoie vers une page inconnue de "orange" tjrs bizarre a+ phil -
HELLO un deuxieme zizaneur ?? essaye ca pour renommer les nom de fichiers je ne sais plus s'il s'occupent aussi des sous répertoire http://www.toocharger.com/fiches/windows/ledrenommer/19062.htm a+ phil
-
hello pour ce qui est de l'elimination de tous les blocs j'ai eu le meme probleme sur un fichier plus de blocs pfff effacé par contre sur un autre fichier avec les meme type de blocs pas de soucis je suis sous autocad architecture est ce qu'il y a moyen par un petit lisp d'avoir la liste des "xdata" des "dictionnaires" d'un fihier qu'il va éliminer ou non histoire de voir a quoi ca correspont et peut etre se dire celui la , ceux la je vais le garder meme si on a l'impression qu'il ne sert a rien une idée farfelue ??? a+ phil
-
HELLO PATRICK ok merci pour scriptor je vais tester ca phil
-
HELLO pour moi ca marche j'ai bien le rapport faut juste le lancer deux fois de suite il reste des blocs a purger mais c'est normal ca doit etre du a l'enchainement des purges et autres une fois le menage des "dictionnaires" il reste le blocs qui construisent les "blocs AEC" pourrait on lancer "jav" sur tout un répertoire et sous répoertoire ? pour le moment j'utilise ton LISP "DUC" que j'ai modifie pour purger mes fichiers blocs ( 2400 ) mais il ne fonctionne que sur un repertoire , "SCRIPTOR" ne fonctionnant plus mais tu vas peut etre me dire que c'est le but de le la fonction "lancer une/des applications" a+ good job phil
-
transformer une fenêtre rectangulaire en fenêtre polygonale
PHILPHIL a répondu à un(e) sujet de litelsousa dans AutoCAD 2009
hello tu n'as pas le choix il faut faire une polyligne qui determine le contour et ensuite dire que ta fenetre actuel prend le contour de cette polyligne commande "_VPCLIP" a+ phil -
forcer getpoint avec un /des angles
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Débuter en LISP
hello tramber avec bcp de retard et surtout ayant perdu le fil j'ai teste et approuve "toto" le LISP pour faire un tit truc comme ca lancer "paramdecal" pour etirer suivant un angle multiple de 45degres lancer "etxy" phil (defun c:paramdecal () (setq decalx (atof (getcfg "APPDATA/decalx"))) (setq decaly (atof (getcfg "APPDATA/decaly"))) (setq tmp (getdist (strcat "\nENTRER LA DISTANCE DE DECALAGE / ETIREMENT SUR X <" (rtos decalx 2 8) ">: " ) ) ) (if tmp (setq decalx tmp) ) (setq tmp (getdist (strcat "\nENTRER LA DISTANCE DE DECALAGE / ETIREMENT SUR Y <" (rtos decaly 2 8) ">: " ) ) ) (if tmp (setq decaly tmp) ) (setcfg "APPDATA/decalx" (rtos decalx 2 8)) (setcfg "APPDATA/decaly" (rtos decaly 2 8)) ) (defun c:etxy (/) (setvar "cmdecho" 0) (setq parortho (getvar "orthomode")) (setq osm (getvar "osmode")) (setq decalx (atof (getcfg "APPDATA/decalx"))) (setq decaly (atof (getcfg "APPDATA/decaly"))) (prompt "\nREGLER PAR LES PARAMETRES DE PARAMDECAL ") (prompt (strcat "\nLE DECALAGE / ETIREMENT SUR X EST DE : " (rtos decalx 2 8) ) ) (prompt (strcat "\nLE DECALAGE / ETIREMENT SUR Y EST DE : " (rtos decaly 2 8) ) ) (setvar "osmode" 0) (setvar "orthomode" 0) (prompt "\nSELECTIONNER LE(S) OBJET(S) A ETIRER : ") (setq obj nil) (while (null obj) (setq obj (ssget))) (setq angledec(/(* 2 pi) 8)) (setq demiang(/ angledec 2.)) (setq poibase (getpoint (strcat "\nENTRER LE POINT DE BASE "))) (prompt "\nENTRER LE POINT DE DIRECTION : ") (while(and(setq key(grread T 4 0))(/=(car key)3)) (redraw) (setq alpha(angle poibase (cadr key))) (setq demiquartier(1+(fix (/ alpha demiang)))) (setq lifi(append (list 2 poibase(cadr key)) (list 1 poibase(polar poibase(* angledec(fix (/ demiquartier 2.0))) (distance poibase (cadr key)))))) (grvecs lifi) ) (redraw) (setq poidi (polar poibase(* angledec(fix (/ demiquartier 2.0))) (distance poibase (cadr key))) ) (setq x1 (car poibase) y1 (cadr poibase) x2 (car poidi) y2 (cadr poidi) ) (if (and (> x2 x1) (= y2 y1)) (command "_.stretch" obj "" "0,0" (strcat (rtos decalx 2 8) ",0") ) ) (if (and (> x2 x1) (> y2 y1)) (command "_.stretch" obj "" "0,0" (strcat (rtos decalx 2 8) "," (rtos decaly 2 8)) ) ) (if (and (= x2 x1) (> y2 y1)) (command "_.stretch" obj "" "0,0" (strcat "0," (rtos decaly 2 8)) ) ) (if (and (< x2 x1) (> y2 y1)) (command "_.stretch" obj "" "0,0" (strcat "-" (rtos decalx 2 8) "," (rtos decaly 2 8)) ) ) (if (and (< x2 x1) (= y2 y1)) (command "_.stretch" obj "" "0,0" (strcat "-" (rtos decalx 2 8) ",0") ) ) (if (and (< x2 x1) (< y2 y1)) (command "_.stretch" obj "" "0,0" (strcat "-" (rtos decalx 2 8) ",-" (rtos decaly 2 8)) ) ) (if (and (= x2 x1) (< y2 y1)) (command "_.stretch" obj "" "0,0" (strcat "0,-" (rtos decaly 2 8)) ) ) (if (and (> x2 x1) (< y2 y1)) (command "_.stretch" obj "" "0,0" (strcat (rtos decalx 2 8) ",-" (rtos decaly 2 8)) ) ) (setvar "orthomode" parortho) (setvar "osmode" osm) (princ) ) [Edité le 11/6/2010 par PHILPHIL]
