-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Salut, je pense que je vais faire ton bonheur Voici un lisp qui te donne les infos que tu souhaites Un (vla-put-LayoutShowPlotSetup Mod_Lay :vlax-false) te décoche l'affichage de la config des tracés dans les options, alors qu'un (vla-put-LayoutShowPlotSetup Mod_Lay :vlax-true) fait le contraire (idem en ce qui concerne le LayoutCreateViewport) @+ (vl-load-com) (setq Mod_Lay (vla-get-display (vla-get-preferences (vlax-get-acad-object)))) (if (= (vla-get-LayoutCreateViewport Mod_Lay) :vlax-true) (princ "\nCréer une fenêtre dans les nouvelles présentations") (princ "\nNe pas créer une fenêtre dans les nouvelles présentations") ) (if (= (vla-get-LayoutShowPlotSetup Mod_Lay) :vlax-true) (princ "\nAfficher Config de tracé des nouvelles présentation") (princ "\nNe pas afficher Config de tracé des nouvelles présentation") ) (princ)
-
Oui, enfin Microsoft à de la marge dans les entreprises. Les services info ne sont pas encore prêt à mon avis, de lâcher un logiciel qui fonctionne bien et qui a fait ses preuves, sur lequel le personnel a été formé et qui de plus, est très répandu, facilement portable d’une entreprise à une autre @+
-
Pas à ma connaissance, et pour répondre à ta question en ce qui concerne le chargement, il faut que les fichiers soient dans les chemins de recherche d'Autocad, et ensuite, avec _autoload, (load "machin.lsp") ou encore un drag&drop @+ Nb : Encore un qui force un peu sur le café ;) (on reste soft)
-
La solution en lisp est avec la fonction entupd et d'eviter de passer par des appels à des (command _.toto ... ...), donc que du lisp, voir du vlisp @+
-
Bibliothéque de bloc electrique
Patrick_35 a répondu à un(e) sujet de Oli553 dans Bibliothèques de composants
Salut, C’est très généreux de ta part de nous faire partager tes symboles, mais, il aurait à mon sens plus simple de faire un bloc par fichier plutôt que deux fichiers qui regroupent le tout, ceci afin de personnaliser (via des menus, le design center, par bibles, etc...) ou encore de récupérer juste un symbole qui nous intéresse @+ -
Super, c'est une très bonne nouvelle Juste une question. Pour les sujets qui sont déjà résolus, c'est Patrick qui fait la manip (et il y a un gros paquet de sujets) ou alors il faut que ce soit les auteurs qui s'y collent ? @+
-
Fichiers inutils..le retour et la suite
Patrick_35 a répondu à un(e) sujet de esbe dans CAO, généralités
J'ai fais un bat pour qu'à chaque fois que j'allume le pc, tous mes répertoires temporaires soient vidés Avantage, pas trop de nettoyage à faire Inconvénient. Si la bécane plante, impossible de récupérer un dessin temporaire, à moins de redéfinir un chemin dans autocad Le fichier bat à placer dans le démarrage de Windows if exist %temp% echo o|del %temp% if exist %tmp% echo o|del %tmp% @+ -
Salut Bonus, c’était juste une remarque en passant et l’occasion de se lancer dans vlisp avec des liaisons sur Excel, mais si l’envie n’est pas là, inutile d’insister. J’ai remarqué qu’il était de plus en plus demandé un lisp comme ton TOPO.LSP mais avec une saisie directement depuis Excel, ce qui est à mon sens plus simple pour un utilisateur lambda qu’un fichier txt qui peut poser des problèmes. Mais comme je le dis un peu avant, si l’envie n’est pas là. Un jour peut-être ;) @+
-
Salut Ca n'a pas été simple pour le mettre au point mais j'ai reussi avec juste un incrément sur le texte de +1. J'ai regardé pour faire un incrément au choix (de +2, +3 ou autres), mais je n'ai pas encore réussi ex : (inc_txt "AAB") retourne "AAC" ex : (inc_txt "AAZ") retourne "ABA" ex : (inc_txt "AZZ") retourne "BAA" ex : (inc_txt "YZZ") retourne "ZAA" ex : (inc_txt "ZZZ") retourne "AAAA" @+ (defun inc_txt(Txt / Boucle Decalage Val_Txt) (setq Boucle 1 Val_txt "") (while (<= Boucle (strlen Txt)) (setq Ascii_Txt (vl-string-elt Txt (- (strlen Txt) Boucle))) (if (not Decalage) (setq Ascii_Txt (1+ Ascii_Txt)) ) (if (= Ascii_Txt 91) (setq Ascii_Txt 65 Decalage nil) (setq Decalage T) ) (setq Val_Txt (strcat (chr Ascii_Txt) Val_Txt)) (setq Boucle (1+ Boucle)) ) (if (not Decalage) (setq Val_Txt (strcat "A" Val_Txt)) ) Val_Txt )
-
Supprimer les côtes dans les blocs
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Débuter en LISP
Salut Ah Exact, en faisant une recherche rapide, j'ai trouvé ces classes AcDbDimension AcDbAlignedDimension AcDb3PointAngularDimension AcDbOrdinateDimension AcDbRotatedDimension AcDbRadialDimension AcDbDiametricDimension AcDb...Dimension ? Donc pour simplifier, il suffit de remplacer (if (= (vla-get-objectname ent) "AcDbRotatedDimension") par (if (vl-string-search "Dimension" (vla-get-objectname ent)) et à la limite, pour plus de sécurité, par (if (and (vl-string-search "AcDb" (vla-get-objectname ent))(vl-string-search "Dimension" (vla-get-objectname ent))) @+ -
Oups, désolé Tramber. Il va falloir que je les change http://smileys.smileycentral.com/cat/12/12_1_117.gif Comme quoi, ce lien est vraiment utile ;) @+
-
Supprimer tous les fichiers inutiles...
Patrick_35 a répondu à un(e) sujet de rebcao dans CAO, généralités
Un lien intérressant sur la FAT32 et le NTFS et aussi comment faire la convertion Erbe, à mon avis, ton disque d'occasion n'a aucune incidence Logiquement, il a été monté en esclave sur ton pc et tu as du faire une détection automatique par le bios ? @+ -
Ce lien pour le lisp et celui-ci pour le dxf, mais j'ai l'impression que ça n'a pas évolué depuis la version 14. C'est quand même mieux que rien @+
-
Salut Bonus Tu n’as jamais pensé à améliorer ton lisp afin de lire directement dans Excel et non plus dans un fichier txt ? @+
-
Supprimer les côtes dans les blocs
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Débuter en LISP
Il me semble entendre des bulles pétiller ;) Plus sérieusement, je pense que ça devrait te convenir (vl-load-com) (setq a (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))) (vlax-for bl a (vlax-for ent bl (if (= (vla-get-objectname ent) "AcDbRotatedDimension") (vla-delete ent) ) ) ) (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport) @+ -
Supprimer tous les fichiers inutiles...
Patrick_35 a répondu à un(e) sujet de rebcao dans CAO, généralités
Je ne me risquerai pas sur les fichiers DAT, alors que pour les LOG, sans soucis @+ -
Redéfinir les points d\'insertion des blocs
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Routines LISP
Eviter les "command" permet de ne pas toucher aux variables d'autocad, comme les accroch obj, le modemacro, attreq&attdia pour les blocs, etc... Ca fait un peu plus "Lispien" et si jamais le prog plante, ça évite à l’utilisateur final de refaire ses variables. Combien de fois on voit sur le forum, j’ai perdu ceci ou encore cela, et lorsque la variable est remise comme on le souhaite, on entend dire, mais je n’ai rien touché, je ne vois pas pourquoi elle a changée. Pour trouver les _ , je me sers tout simplement du menu, toutes les commandes sont en anglais. Pour ce qui est des options, un peu de logique permet de retrouver la bonne syntaxe @+ -
Redéfinir les points d\'insertion des blocs
Patrick_35 a répondu à un(e) sujet de LUDWIG dans Routines LISP
Génial, c'est super, bravo J'aurai, si tu le permets, juste deux remarques à formuler A la lecture de ton lisp, il est tout à fait possible de supprimer les deux "command" auquel tu fais appel avec en voix de conséquence, la possibilité de supprimer l'appel aux variables d'Autocad Pour purger, tu peux passer par (vla-purgeall (vla-get-activedocument (vlax-get-acad-object))) Pour le rename, je regarde ça la semaine prochaine et toujours pour les command, écris les en anglais, il faut penser à nos amis d'outre atlantique ou à ceux qui n'ont pas une version française @+ -
extraction de texte et pas d\'attribut
Patrick_35 a répondu à un(e) sujet de nordine1970 dans AutoCAD 2005
Comme promis, le prog est fait. Il ne reste plus qu'à faire un script pour traiter tous tes fichiers @+ (defun c:TxtExc(/ Old_Error) (defun *errtxt* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (setq *error* Old_Error) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) (defun Liaison_Excel(/ Chemin_Excel Environ Version_Excel) (if (setq Chemin_Excel (vl-registry-read "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Excel.EXE" "Path")) (progn (foreach Environ (list "SYSTEMROOT" "WINDIR" "WINBOOTDIR" "SYSTEMDRIVE" "USERNAME" "COMPUTERNAME" "HOMEDRIVE" "HOMEPATH" "PROGRAMFILES") (if (vl-string-search (strcat "%" Environ "%") Chemin_Excel) (setq Chemin_Excel (vl-string-subst (strcase (getenv Environ)) (strcat "%" Environ "%") Chemin_Excel)) ) ) (if (= (vl-string-elt Chemin_Excel (1- (strlen Chemin_Excel))) 92) (setq Chemin_Excel (strcat Chemin_Excel "Excel.exe")) (setq Chemin_Excel (strcat Chemin_Excel "\\Excel.exe")) ) (cond ((findfile (vl-string-subst "Excel8.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel8.olb" "Excel.exe" Chemin_Excel)) ) ((findfile (vl-string-subst "Excel9.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel9.olb" "Excel.exe" Chemin_Excel)) ) ((findfile (vl-string-subst "Excel10.olb" "Excel.exe" Chemin_Excel)) (setq Chemin_Excel (vl-string-subst "Excel10.olb" "Excel.exe" Chemin_Excel)) ) ) (cond ((= (strcase (vl-filename-base (vl-filename-directory Chemin_Excel))) "OFFICE11") (setq Version_Excel "2003") ) ((= (strcase (vl-filename-base (vl-filename-directory Chemin_Excel))) "OFFICE10") (setq Version_Excel "XP") ) ((= (strcase (vl-filename-base Chemin_Excel)) "EXCEL8") (setq Version_Excel "97") ) ((= (strcase (vl-filename-base Chemin_Excel)) "EXCEL9") (setq Version_Excel "2000") ) ) (if (not Version_Excel) (setq Chemin_Excel nil) ) ) ) (list Chemin_Excel Version_Excel) ) (defun Txt->Excel(/ Boucle Ent Excel_Lance Js Objet_Excel Rng Xl Xl_Classeur Xl_Feuilles Xl_Feuille_Active) (if (car (setq Objet_Excel (Liaison_Excel))) (progn (princ (strcat "\nConnexion avec Excel " (cadr Objet_Excel))) (princ) (if (setq Xl (vlax-get-object "Excel.Application")) (setq Excel_Lance T) (setq Xl (vlax-create-object "Excel.Application")) ) (if Xl (progn (if (null Xl-open) (vlax-import-type-library :tlb-filename (car Objet_Excel) :methods-prefix "Xl-" :properties-prefix "Xlp-" :constants-prefix "Xlc-") ) (if (not Excel_Lance) (vlax-invoke-method (vlax-get-property Xl 'WorkBooks) 'Add) ) (setq Xl_Classeur (vlax-get-property XL "ActiveWorkbook")) (setq Xl_Feuilles (vlax-get Xl_Classeur "Sheets")) (setq Boucle 1) (while (<= Boucle (xlp-get-count Xl_Feuilles)) (if (= (xlp-get-name (xlp-get-item Xl_Feuilles Boucle))(getvar "dwgname")) (progn (setq Xl_Feuille_Active (xlp-get-item Xl_Feuilles Boucle)) (xl-activate Xl_Feuille_Active) ) ) (setq Boucle (1+ Boucle)) ) (if (not Xl_Feuille_Active) (progn (setq Xl_Feuille_Active (xl-add (vlax-get Xl_Classeur "Sheets"))) (xlp-put-name Xl_Feuille_Active (getvar "dwgname")) ) ) (princ (strcat "\nTravail dans le " (xlp-get-fullname Xl_Classeur) " ,Feuille " (xlp-get-name Xl_Feuille_Active))) (princ) (vla-put-visible Xl 1) (setq Boucle 0) (setq Js (ssget "x" (list (cons 0 "*MTEXT,TEXT")))) (while (ssname Js Boucle) (setq Ent (entget (ssname Js Boucle))) (setq Rng (xlp-get-range Xl_Feuille_Active (strcat "A" (itoa (1+ Boucle))))) (xlp-put-value Rng (cdr (assoc 1 Ent))) (setq Boucle (1+ Boucle)) ) (vla-put-visible (vlax-get-acad-object) 1) (princ (strcat ", Exportation de " (itoa Boucle) " texte(s)")) ) ) ) (princ "\nVersion d'excel inconnue ou non installée") ) ) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (setq Old_Error *error* *error* *errtxt*) (Txt->Excel) (setq *error* Old_Error) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) (princ "\nExportation de Textes vers Excel chargé....Tapez TXTEXC") (princ) -
Comment agrandir la liste des calques
Patrick_35 a répondu à un(e) sujet de hugo200120012 dans AutoCAD 2000 à 2002
En cachant les détails et comme toutes fenêtres Windows, avec les flèches @+ -
Et pour corser le tout, avec des chemins relatifs de manière à ce que soit facilement portable vers le client @+
-
J’ai juste tracé une poly dans un sens et une autre dans le sens inverse et fait le comparatif avec un offset à +1 et un à -1. Il apparaît que l'angle détermine le coté où la poly se décale (on peut donc logiquement raisonner avec des orhto 0->90, 90->180, 180-270 et 270->0). Maintenant, ça dépend de ce que tu veux faire exactement Pour ce qui est du "smaller", on peut raisonner sur un cercle et se dire que le décalage négatif se fait sur le plus petit, donc logiquement à l’intérieur du cercle. Il est logique de raisonner de la même manière sur une poly fermée pour ce décalage (et quel que soit l’angle du premier vecteur) Plus c'est court et mieux c'est, enfin, c'est mon avis Je ne l'ai jamais vu, mais je veux bien le croire, pourquoi pas ! Oui, mais techniquement, il doit y avoir une différence ? (plus rapide, ou autre chose encore) @+
-
Juste une question J'ai vu qu'on pouvait faire aussi un (vla-offset obj valeur) au lieu d'un (vlax-invoke-method obj "Offset" valeur) Quelle est la méthode la mieux appropriée entre les deux et pourquoi ? (ps : pour Tramber, il me semble t'avoir donné une réponse pour justement en prog, voir le sens de ta poly,)
-
faire ENTREE dans un SCRIPT
Patrick_35 a répondu à un(e) sujet de rebcao dans Personnalisation, macros, DIESEL
Peut-être avec 013 ou \r @+ -
Avec rtext des express tools et en diesel, extrait de l'aide @+
