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
-
hello command 'select" "Trajet" phil
-
comment suprimer les cotations sur un dessins
PHILPHIL a répondu à un(e) sujet de etude.Elec dans AutoCAD 2009
hello mdr l olll :D tramber : tu t'en doutais de quoi ? ;) meme moi sous autocad je ne sais pas comment les autres sous d'autres logiciels récuprent mes fichiers a+ phil -
comment suprimer les cotations sur un dessins
PHILPHIL a répondu à un(e) sujet de etude.Elec dans AutoCAD 2009
hello deja tu te calmes sur les archis de m...... ils savent bosser comme les autres et comme toi sauf que tu es tombe sur celui qui n'utilise pas autocad et qui ne sait pas comment a partir de son logiciel transferer en dwg et tu penses bien que meme le plus nul des archis ( pardon des projeteurs ) ne va pas de lui meme créer des blocs pour chaque cotes c'est son logiciel qui fait ca donc il a pas le bon logiciel c'est tout a+ phil -
SToooooP !!! Aux TEXTES MULTI LIGNES !!!!!!
PHILPHIL a répondu à un(e) sujet de rebcao dans AutoCAD 2010
hello :D ;) avant de râler par ce que ca rame, faudrai peut-être réfléchir a ce que vous avez fais ... a qui tu dis ca ? aux jeunots autocadiens ( 1 an a peine ) ou aux vieux (+12ans sur autocad) l o lllllll au fait on a droit d'en mettre des MTEXT quand c'est justifie ? l ollll avec parsimonie phil retourne a ses textes simples -
Jig plus fort que grread
PHILPHIL a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
hello gille ok gille essayé, adopté ca va surtout etre plus pratique pour ajouter des segments en bout de polylignes merci bien basss a+ phil -
hello je cherche un petit LISp pour rendre toutes les FMULT dans toutes les présentations INACTIVES et ensuite inversement bien sur histoire que quand je me balade dans les présentations de n'avoir que ce qu'il y a dans l'espace papier et eviter la régénérations des fenetres je cherche encore j'ai bien essayer de modifier "VERR" de patrick35 mais ca ne marche pas ca doit pas etre si simple que ca surtout avec le "MAXACTVP" minimum 2 a suivre ... ;;;================================================================= ;;; ;;; VERR.LSP V1.01 ;;; ;;; Verrouiller toutes les fenêtres des présentations ;;; ;;; Copyright (C) Patrick_35 ;;; ;;;================================================================= (defun c:fmin (/ fen n sel tot) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (if (setq sel (ssget "x" (list (cons 0 "VIEWPORT")))) (progn (setq n 0 tot 0) (while (ssname sel n) (if (and (= (logand (cdr (assoc 68 (entget (ssname sel n)))) 1) 0) (/= (cdr (assoc 69 (entget (ssname sel n)))) 1)) (progn (setq fen (vlax-ename->vla-object (ssname sel n))) (vlax-put-property fen "ViewportOn" :vlax-false) (setq tot (1+ tot)) ) ) (setq n (1+ n)) ) (princ (strcat "\n" (itoa tot) " fenêtre(s) d'inactivée(s)")) ) (princ "\nPas de fenêtres") ) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) (setq nom_lisp "VERR") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " chargé.")) (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter."))) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (setq nom_lisp nil) (princ) a+ phil [Edité le 1/9/2009 par PHILPHIL]
-
hello edit le texte "DDEDIT" phil [Edité le 26/8/2009 par PHILPHIL]
-
hello bon c'est pas tres comment dire "academique" comme code mais ca marche merci gile pour les 97% de code fournit au dessus a+ phil bon petit test sur un fichier de 7.4 mega 192 presentations ( maxi possible de toutes facon 255 ) 8 minutes 40 seconde quand meme pour faire le tableau record batu de LENTEURRRRR genial (defun c:tabp (/ lst len ins lay) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-activedocument (vlax-get-acad-object)))) (setq layouts (vla-get-layouts *acdoc*)) (setq lst (layoutlist)) (setq len (length lst)) (if (setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0)) (progn (setq lst (layoutlist) len (length lst) tbl (vla-addtable (vla-get-modelspace *acdoc*) (vlax-3d-point ins) (1+ len) 4 9 ;_ Hauteur cellule 150 ;_ Largeur cellule ) row 0 ) (vla-put-vertcellmargin tbl 1.5) ;_ Marge verticale (vla-put-titlesuppressed tbl :vlax-false) (vla-put-headersuppressed tbl :vlax-true) (setq liste1 nil) (foreach p lst (setq lay (vla-item layouts p)) (setq liste1 (cons (list (vla-get-name lay) (vla-get-taborder lay)) liste1)) ) (setq liste2 (vl-sort liste1 (function (lambda (e1 e2) (< (cadr e1) (cadr e2)))))) (setq liste3 nil) (setq len (1- len)) (foreach p liste2 (setq liste3 (cons (car (nth len liste2)) liste3)) (setq len (1- len)) ) (foreach p liste3 ;;lst (setq lay (vla-item layouts p)) (vla-settext tbl (setq row (1+ row)) 0 p) (vla-settext tbl row 1 (vla-get-taborder lay)) (vla-settext tbl row 2 (vla-get-configname lay)) (vla-settext tbl row 3 ((lambda (cmn / lmn) (if (vl-catch-all-error-p (setq lmn (vl-catch-all-apply 'vla-getlocalemedianame (list lay cmn) ) ) ) cmn lmn ) ) (if (wcmatch (vla-get-canonicalmedianame lay) "UserDefinedMetric*") (progn (setq long (strlen (vla-get-canonicalmedianame lay))) (substr (vla-get-canonicalmedianame lay) 20 (- long 22)) ) (vla-get-canonicalmedianame lay) ) ) ) (vla-setcellalignment tbl row 0 5) (vla-setcellalignment tbl row 1 5) (vla-setcellalignment tbl row 2 5) (vla-setcellalignment tbl row 3 5) ) ) ) (princ) ) [Edité le 26/8/2009 par PHILPHIL]
-
hello l'idéal serait de trier la liste des presentations suivant "TABORDER" mais la je coince phil
-
HELLO GILE YYessssss ca marche (defun c:tabp (/ lst len ins lay) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-activedocument (vlax-get-acad-object)))) (setq layouts (vla-get-layouts *acdoc*)) (setq lst (layoutlist)) (setq len (length lst)) (if (setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0)) (progn (setq lst (layoutlist) len (length lst) tbl (vla-addtable (vla-get-modelspace *acdoc*) (vlax-3d-point ins) (1+ len) 4 9 ;_ Hauteur cellule 150 ;_ Largeur cellule ) row 0 ) (vla-put-vertcellmargin tbl 1.5) ;_ Marge verticale (vla-put-titlesuppressed tbl :vlax-false) (vla-put-headersuppressed tbl :vlax-true) (foreach p lst (setq lay (vla-item layouts p)) (vla-settext tbl (setq row (1+ row)) 0 p) (vla-settext tbl row 1 (vla-get-taborder lay)) (vla-settext tbl row 2 (vla-get-configname lay)) (vla-settext tbl row 3 ((lambda (cmn / lmn) (if (vl-catch-all-error-p (setq lmn (vl-catch-all-apply 'vla-getlocalemedianame (list lay cmn) ) ) ) cmn lmn ) ) (if (wcmatch (vla-get-canonicalmedianame lay) "UserDefinedMetric*") (progn (setq long (strlen (vla-get-canonicalmedianame lay))) (substr (vla-get-canonicalmedianame lay) 20 (- long 22)) ) (vla-get-canonicalmedianame lay) ) ) ) (vla-setcellalignment tbl row 0 5) (vla-setcellalignment tbl row 1 5) (vla-setcellalignment tbl row 2 5) (vla-setcellalignment tbl row 3 5) ) ) ) (princ) ) merci gile phil[Edité le 25/8/2009 par PHILPHIL] [Edité le 25/8/2009 par PHILPHIL]
-
HELLO GILE PETIT SOUCI j'ai des onglets formater pdf : la il me fait bien la liste nom, traceur.pc3, taille papier des qu'il passe a un onglet formater en PLT il donne le nom et le traceur .pc3 mais il bloque sur la taille papier bizarre :casstet: a+ phil Commande: Lay2tbl Point d'insertion: *Annuler* Erreur Automation Entrée incorrecte
-
HELLO cool le tableau gile est ce que l'on pourrait avoir en colonne 2 le nom du peripherique de tracage qui va avec la presentation et colonne 3 la taille du trace qui corespont a+ bonne soirée phil
-
Expert CAO CATIA v5 au chomage.
PHILPHIL a répondu à un(e) sujet de st4eben dans Emploi, monde du travail
hello ma réponse va te parraitre idiote voir "conne" il y avait peut etre trop de fautes d'orthographe dans ton Cv pour que le D.R.H. veuille bien le lire jusqu'a la fin et te laisse une chance d'avoir droit à un entretien. sinon bonne chance a+ phil -
rechercher dans repertoire et ses sous-repertoires
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Visual LISP
hello gile : comme tu dis j'aurais du chercher , je l'ai fait pour regler le souci de l'insertion d'un bloc sans confirmation et apres dodo à 2h00 du mat faut bien dormir des fois je vais continuer de chercher ce "irfcld" pour ce qui est des sous répertoire biblio j'en ai 35 et surtout je ne connais pas ceux des autres j'essaye de faire comme toi gile un lisp qui sert a tous a+ merci bon week phil -
rechercher dans repertoire et ses sous-repertoires
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Visual LISP
hello merci gile pour le lien merci usegomme bon ok je suis pas bon sur ce coup la j'ai voulu modifie le LISP de "usegomme" majbloc pour qu'il cherche dans les sous repertoires il remplace bien le bloc et fait la mise a jour mais il reste ce probleme la kezako Commande: MJB Selectionner le bloc a mettre a jour: *Incorrect* ERREUR d'application: irfcld commande AutoCAD incorrecte: nil a+ bonne nuit 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 (cdr (assoc 2 ELST)) ".dwg") '("C:\\PERSO\\BIBLIOTHEQUE"))) (command "_-insert" (strcat (cdr (assoc 2 ELST)) "=" BLKNAME)) (command) (if (cdr (assoc 66 ELST)) (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 13/8/2009 par PHILPHIL] [Edité le 13/8/2009 par PHILPHIL] -
hello la fonction "findfile" recheche dans le repartoire que l'on a deja designer dans autocad dans les options est ce qu'il y a un moyen par LISp de faire une rcherche d'un fichier dans un repertoire defini et de ses sous répertoires a la fois ( non defini dans les options ceux la ) pour élargir les recherches a+ bonne soirée phil
-
hello celui ci n'est pas modifiable en taille il fait partie du design de autocad phil
-
HELLO "ong" n'avait pas été concus a la base pour sélectionner plus facilement les onglets ? plutot que de les faire defiler avec les petites fleches disont qu'avec plus de 100 présentations sur un fichier ca va bcp plus vite et surtout plus facile a repérer tu vas me dire ca marche en selectionnant les onglets et cliquant sur "imprimer" mais ca il a tendance ( autocad ) a passer par l'espace papier avant de passer a l'onglet suivant d'ou le double de regenération pour rien a+ phil
-
hello "publier" marche dans les deux sens tu peux aussi choisir les onglets clique bouton droit "publier les présentations sélectionner" et la "publier" n'affiche que les présentations sélectionnées ( logique et encore heureux ) y'a plus qu'a envoyer plus rapide a+ phil
-
HELLO patrick bonnes vacances bonnes vacances ? ( le ? fait toute la différence ) l o llll sur le super ONG y'a t il moyen de rajouter un bouton pour envoyer les présentations sélectionnées vers la commande "publier" a+ merci phil
-
hello toutes tous je vais y mettre mon petit coup ( de gueule ) aussi parrait que ca fait du bien pour les novices et autres MTEXT = multilignes, ca commence a deux lignes, la dessus je suis d'accord on peut l'utiliser et d'ailleurs c'est fait pour ca mais quand c'est pour ecrire un ET UN seul mot ou une seule ligne de texte anotation de files ( x,y) titre d'une piece surface j'en passe et des meilleurs il devient impératif de passer par le simple TEXT avantages : permet une modification de texte a la volée avec le clavier ( le MTEXT il faut impérativement sortir en cliquant avec la souris ) plus facile avec des lisp de recopier le texte, sur plusieurs texte, les intervertir, changer leurs formats, leurs points d'insertion et de n'avoir a s'occuper que du texte sans se trimballer toute la mise en oeuvre des MTEXT surement plus leger aussi dans un fichier en gros penser a ceux qui utilise les LISP quand ils récuperent vos fichiers derriere a+ tressss bon week end ensoseillé a vous phil
-
hello patrick juste pour info il y a quelles differences entre GEF 3.01 et GEF 3.03 ??? gef 3.03 adopté de toute facon a+ phil
-
hello bon grace a gilles j'ai résolu 95% du probleme apres modification de ton LISp gile ce LISP deplace les points de ligne, de polyligne, de ligne de repere au point le plus proche d'insertion d'un mtext, de point , de centre cercle, d'insertion de bloc suivant une distance déterminée tous ca a la volée apres je n'avais plus qu"a passer le programme des express tools "_.qlattachset" ca a régler 95% du truc merci gilles a+ phil ;;; AC_OB Accroche l'extémité des objets (ligne, polyligne spline) située ;;; en deçà d'une distances spécifiée au centre, point d'insertion, ou point ;;; du cercle bloc point sélectionné. (defun c:acobLM ( ;;/ dist ent elst ucszdir elev cen circle ss nlst pt_lst ) (initget 7) (setq dist (getdist "\nSpécifiez le rayon du cercle d'acrrochage: ")) (setq ENTX NIL) (prompt "\nSELECTIONNER LE(S) TEXTE(S) DE REFERENCE :") (while (null ENTX) (setq ENTX (ssget '((0 . "MTEXT,CIRCLE,POINT,INSERT")))) ) (setq COMPT 0) (setq COM (sslength ENTX)) ;;;(while (setq ent (car (entsel))) (while (< COMPT COM) ;;;(setq elst (entget entx)) (setq elst (entget (ssname ENTX COMPT))) (setq ent (cdr (car (entget (ssname ENTX COMPT))))) (if (member (cdr (assoc 0 elst)) '("MTEXT" "CIRCLE" "POINT" "INSERT")) (progn (setq ucszdir (trans '(0 0 1) 1 0 T) elev (caddr (trans (getvar "ucsorg") 0 ucszdir)) ) (if (= (cdr (assoc 0 elst)) "POINT") (setq cen (trans (cdr (assoc 10 elst)) 0 ucszdir)) (setq cen (trans (cdr (assoc 10 elst)) ent ucszdir)) ) (if (equal (caddr cen) elev 1e-9) (progn (entmake (list '(0 . "CIRCLE") (cons 10 cen) (cons 40 dist) (cons 210 ucszdir) ) ) (setq circle (entlast)) (setq ss (SelByObj circle "CP" '((0 . "LEADER,LINE,LWPOLYLINE"))) ) (if ss (foreach n (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) (setq nlst (entget n)) (cond ((and (= (cdr (assoc 0 nlst)) "LINE") (equal (caddr (trans (cdr (assoc 10 nlst)) 0 ucszdir)) elev 1e-9 ) (equal (caddr (trans (cdr (assoc 11 nlst)) 0 ucszdir)) elev 1e-9 ) ) (if (<= (distance cen (trans (cdr (assoc 10 nlst)) 0 ucszdir) ) dist ) (entmod (subst (cons 10 (trans cen ucszdir 0)) (assoc 10 nlst) (entget n) ) ) ) (if (<= (distance cen (trans (cdr (assoc 11 nlst)) 0 ucszdir) ) dist ) (entmod (subst (cons 11 (trans cen ucszdir 0)) (assoc 11 nlst) (entget n) ) ) ) ) ((and (= (cdr (assoc 0 (entget n))) "LWPOLYLINE") (equal (cdr (assoc 210 nlst)) ucszdir 1e-9) (equal (cdr (assoc 38 nlst)) elev 1e-9) ) (setq pt_lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) nlst ) ) ) (if (<= (distance cen (car pt_lst)) dist) (entmod (subst (cons 10 (list (car cen) (cadr cen))) (assoc 10 nlst) nlst ) ) ) (if (<= (distance cen (last pt_lst)) dist) (entmod (subst (cons 10 (list (car cen) (cadr cen))) (assoc 10 (reverse nlst)) nlst ) ) ) ) ((and (= (cdr (assoc 0 (entget n))) "LEADER") (equal (cdr (assoc 210 nlst)) ucszdir 1e-9) ;;; (equal (cdr (assoc 38 nlst)) elev 1e-9) ) (setq pt_lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) nlst ) ) ) (if (<= (distance cen (car pt_lst)) dist) (entmod (subst (cons 10 (list (car cen) (cadr cen))) (assoc 10 nlst) nlst ) ) ) (if (<= (distance cen (last pt_lst)) dist) (entmod (subst (cons 10 (list (car cen) (cadr cen))) (assoc 10 (reverse nlst)) nlst ) ) ) ) ) ) ) (entdel circle) ) (alert "\nL'objet sélectionné n'est pas\ndans le plan XY du SCU." ) ) ) (alert "\nL'objet sélectionné n'est pas\nun point, un cecle ou un bloc." ) ) ;;;(entmod ENT) (setq COMPT (1+ COMPT)) ) (princ) ) ;;; SelByObj -Gilles Chanteau- 06/10/06 ;;; Crée un jeu de sélection avec tous les objets contenus ou ;;; capturés, dans la vue courante, par l'objet sélectionné ;;; (cercle, ellipse, polyligne fermée). ;;; Arguments : ;;; - un nom d'entité (ename) ;;; - un mode de sélection (Cp ou Wp) ;;; - un filtre de sélection ou nil (defun SelByObj (ent opt fltr / dist n lst prec dist p_lst) (vl-load-com) (if (= (type ent) 'ENAME) (setq ent (vlax-ename->vla-object ent)) ) (cond ((member (vla-get-ObjectName ent) '("AcDbCircle" "AcDbEllipse") ) (setq dist (/ (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent) ) 50 ) n 0 ) (repeat 50 (setq lst (cons (trans (vlax-curve-getPointAtDist ent (* dist (setq n (1+ n)))) 0 1 ) lst ) ) ) ) (T (setq p_lst (vl-remove-if-not '(lambda (x) (or (= (car x) 10) (= (car x) 42) ) ) (entget ent) ) ) (while p_lst (setq lst (append lst (list (trans (append (cdr (assoc 10 p_lst)) (list (cdr (assoc 38 (entget ent)))) ) ent 1 ) ) ) ) (if (/= 0 (cdadr p_lst)) (progn (setq prec (1+ (fix (* 50 (abs (cdadr p_lst))))) dist (/ (- (if (cdaddr p_lst) (vlax-curve-getDistAtPoint ent (trans (cdaddr p_lst) ent 0) ) (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent) ) ) (vlax-curve-getDistAtPoint ent (trans (cdar p_lst) ent 0) ) ) prec ) n 0 ) (repeat (1- prec) (setq lst (append lst (list (trans (vlax-curve-getPointAtDist ent (+ (vlax-curve-getDistAtPoint ent (trans (cdar p_lst) ent 0) ) (* dist (setq n (1+ n))) ) ) 0 1 ) ) ) ) ) ) ) (setq p_lst (cddr p_lst)) ) ) ) (ssget (strcat "_" opt) lst fltr) )
-
hello je suis sur AA2010 et pour ce fichier la j'utilise les anciennes ligne de reperes par habitude faut que j'essaie la nouveauté plus si nouvelle que ca il est vrai a+ phil
-
hello je suis passer de AA2009 à AA2010 entre temps autodesk a changer son type de dwg tous les 3 ans 2004 : 2004 2005 2006 2007 : 2007 2008 2009 2010 : 2010 sur des blocs simples inserer un bloc en version 2009( format 2007) sur un fichier 2010 pas de souci par contre un bloc paramétrable 2009 dans le fichier 2010 , l'insertion pas de souci mais des que je veux etirer avec a fleche bleu la ca plante, si je passe en donnant des chiffre par le biai de la boite des proprietes ca marche mais bonjour le temps passer pour résoudre ca ouverture et resauvegarde des 2200 blocs en version 2010 avec scriptor de patrick35 faut 4 heures a toi de voir a+ phil
