philous2
Membres-
Compteur de contenus
438 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par philous2
-
Ok merci j'avais bien pris la macro que tu dis par contre j'avais pas mis le bon code sympa A+
-
Salut, Je viens de lire ton message et je te remrcie, mais j'avoue ne pas avoir tout compris la procédure Pas trop pigé c'est une macro ! car tu mets ensuite ;; -- - Macro equivalente --- J e fais quoi avec ça j e tape au clavier ! Et ça Et il y a ensuite cette macro Tu pourrais m'en dire sur la façon d eprocéder car la je patauge (<acronym class=dict title=) En fait c'est pour l'utiliser sur des fichiers uniquement plans de géomèrtres Merci d'avance A+ Phil
-
Bjr, Je suis à la recherche d'une macro pour transformer un fichier 3D en 2D, C'est à dire l'ensemble des entités(points lignes etc) en une seule opération. Il me semble avoir vu un truc sur le site à ce sujet mais je ne me rappelle plus ou c'est, si je neme trompe pas. D'avance merci de vos lumières. Phil
-
nettoyer toujours nettoyer
philous2 a répondu à un(e) sujet de pascal19 dans Pour aller plus loin en LISP
Slt Pascal, J'ai chargé ton lisp en mettant le code "tl2" et j'ai ça comme message -
Merci Tramber c'est nickel, je ne connaissais pas cette variable
-
Ce matin en ouvrant mon autocad au boulot j'ai cette ancien boite de dialogue idem qd je fais nouveau fichier. Je pense que j'ai une variable qui a du sauter. Jusqu'à présent qd je faisais nouveua fichier j'avais la boite de dialogue ddu réperoire des fichiers dwt http:// http://www.cijoint.fr/cjlink.php?file=cj200910/cijKFiuWb6.jpg Comment on fait pour mettre photo sur le forum au lieu d'un lien(oublié manip) Si quelqu'un a une idée d emon problème rencontré merci d'avance de solution éventuelle pour revenir à la boite de ialogue normale Phil
-
Ok Gile ça fonctionne je pensais tt simplement qu'en ajoutant ton lambda sur l'autre code cela aurait fonctionné erreur de ma part. Je l'ai essayé sur un nouveau en ayant modifier la liste d'échelles, et ouvet un ancien fichier que j'avait aussi et ca marche c'est bon. Par contre lorsque que tu as des fichiers en xref est-ce que ces fichiers se convertissent ou pas à mon avis. Merci encore de tes explications sympa Je vais tenter de mettre cela en application au boulot demain A+ Phil
-
ok donc si j'ai bien suivi si je fais ça acadoc (defun c:lst-ech-pierroka () (lst-ech (list (list "1/50" 2 1) (list "1/1" 1 1) (list "1/2" 1 2) (list "1/4" 1 4) ) ) (princ) ) ; routine modif liste echelle (defun lst-ech (lst / DICT ENT1 I N X) (vl-load-com) (while (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST")) (progn (vla-delete (vlax-ename->vla-object (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST"))))) ) ) (setq i 1 x (strcat "Z" (rtos i))) (repeat (length lst) (setq n (nth (1- i) lst) dict (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_SCALELIST"))) ent1 (entmakex (list '(0 . "SCALE") '(100 . "AcDbScale") '(70 . 0) (cons 300 (car n)) (cons 140 (cadr n)) (cons 141 (caddr n))))) (dictadd dict x ent1) (setq i (1+ i) x (strcat "Z" (rtos i))) ) ) ;;;============================================================;;; ;;;====================== INITIALISATION ======================;;; ;;;============================================================;;; ;; Placé dans un fichier de chargement automatique, ;; initialise la liste des échelles suivant la liste sauvegardée ((lambda (lst) (and lst SetScaleList (SetScaleList (read lst))) ) (getenv "SavedScaleList") ) Je viens de créer ce fichier tel quel ci-dessus j'ai bien ajouter dans un répertoire du chemin de recherche support. J'ai chargé ce fichier acadoc et rien ne sait modifié je pense que ce que j'ai fait n'est pas bon. C'est peut-être seuelement le lamba que que sauvegarde en acadoc !
-
Bsr Gile, Merci de ta réponse qui va dans le sens de ma demande. j'ai aussiessayé celle de Bred ; Modification de la liste des echelles Celle de Bred me parait plus simple car automatique, seul truc qui manque c'est la nouvelle liste d'échelle que l'on ne peut établir quand modifiant le fichier lsp. Ne peut-on pas mettre une commande du style command (lst-ech (list "exemple" (list "1/50" 2 1) "exemple" (list "1/1" 1 1) "exemple" (list "1/2" 1 2) "exemple" (list "1/4" 1 4) pour établir la liste personnalisé que l'on veut imposer, simple question. Autre problème vu le nombre de fichiers dwg existant depuis mon passage à la version Map 2009, serait-il possible de pouvoir imposer cette nouvelle liste établie ds la config d'Autocad à l'ouverture de celui-ci, lorsque l'on chargerait à l'avenir x fichier avec les anciennes échelles qui se mettraient à jour et remplacerait, écraserait l'ancienne liste par la nouvelle automatiquement. Comme ça Comment faire pour introduire cela ! Cela serait beaucoup plus simple il 'y aurait que la nouvelle liste à établir et sauvegarder le reste se faisant automatiquement àl'ouverture de tel ou tel fichier. J'espère avoir clair ds mon explication. Merci d'avance de vos lumières Phil
-
Bsr, Existe-t-il un système pour exporter une liste d'échelle type (bonne) d'un fichier par exemple dwt vers une liste (ou l'ensemble )de fichiers enregistrés sur un pc en écrasant les anciennes listes d'échelles(devenues automatiquement mauvaises) de ces fichiers afin de mettre l'ensemble de ces fichiers nickel a la nouvelle liste des échelles définie. Compliqué je sais mais est-ce possible par un moyen quelconque afin déviter de refaire la mise à jour à chaque fois lors d'ouverture de l'un de ces fichiers. Si quelqu'un a une idée Merci d'avance A+ Phil
-
Ah la fameuse parenthèze que je n'avais pas vu en haut. Merci nickel super sympa ce lisp
-
Slt, J'ai réessayé ce matin rien à faire, j'ai renommé comme tu me l'as indiqué ci-après ton lisp renommé, regarde et dis-moi si c'est ok. Si tout est ok j'ai tjrs le m^me soucis avec le nouveau nom et code " jpedit" c'est à dire ce message d'erreur récurrent Je vais l'essayer sur le pc d'un autre collègue de boulot e tje te dirais si cela a fonctionné ou pas
-
Bsr, Car au début de ton lisp tu as (defun c:JPe (/ [surligneur] jpo[/surligneur]:pa e elast ss s ep) Et comme j'ai un lisp qui se nomme jpo avec le nom de code jpo serait-ce cela qui fait peut-être doublon ? car c'est bizarre qu'il n'y a qu"avec moi que cela ne fonctionne pas
-
sauver un plan avec 3 layouts...en 3 plans différents
philous2 a répondu à un(e) sujet de bono05 dans AutoCAD 2010
Bsr, Voilà ce que j'ai comme page d'accueil en cliquant sur ton lien Vincnent que ce soit au boulot ou chez moi http://www.cijoint.fr/cjlink.php?file=cj200910/cijYUg7b6j.jpg -
reslt, j'essaierai cela lundi suis en WE depuis ce midi. ben j'ai chargé ton lisp jpo et le dernier jpe. Qd tu dis changer le nom du lisp tu le fais ou sur le nom du fichier ou sur le code. Au boulot comme chez moi c'est la version 2009, boulot version map 2009. Je te souhaite un bon we, te dirais lundi ok. A+ Phil
-
sauver un plan avec 3 layouts...en 3 plans différents
philous2 a répondu à un(e) sujet de bono05 dans AutoCAD 2010
Décidment vincent y a un truc, qd je clic sur ton lien j'arrive sur la page d'accueil de 9giga ou il y a plusieurs dossiers comme copier vos fichiers,envoyez à vos amis les fichiers que vous souhaitez etc,accédez à vos fichiers,déposez vos documents,, identification, etc.....mais je nevois du tout ton dossier "Mes lisp". a mon avis il faut être inscrit je pense essaie le site "cjoint.fr" qui es tpasmal et simple facile d'accès il faut s'insrire pour déposer mais après cool -
sauver un plan avec 3 layouts...en 3 plans différents
philous2 a répondu à un(e) sujet de bono05 dans AutoCAD 2010
Bizarre car j'ai bien copier exactement ton lisp ci-après vérifié et enregistré fichier pas soucis de ce coté là mais ça ne passe pas. ( defun c:SplitLayout () (vl-load-com) (setq PREFIX (getvar "DWGPREFIX")) (setq NOM (getvar "DWGNAME")) (setq LLAY (layoutlist)) (foreach LAY LLAY (command "_undo" "_begin") (setq RemoveList (vl-remove-if '(lambda(x) (= x LAY)) LLAY)) (foreach RLAY RemoveList (command "_layout" "_d" RLAY) ) (command "_saveas" "" (strcat PREFIX LAY "-" NOM ) ) (command "_undo" "_end") (command "_undo" "1") ) (princ) ) C'est quoi ton lien sur le site 9giga, il faut être inscrit ou pas, c'est là que tu as déposé un fichier c'est cela ! comment ça marche ton truc merci d'avance -
sauver un plan avec 3 layouts...en 3 plans différents
philous2 a répondu à un(e) sujet de bono05 dans AutoCAD 2010
BJr tt le monde, Vincent j'ai chargé ton lisp (defun c:SplitLayout () (vl-load-com) (setq PREFIX (getvar "DWGPREFIX")) (setq NOM (getvar "DWGNAME")) (setq LLAY (layoutlist)) (foreach LAY LLAY (command "_undo" "_begin") (setq RemoveList (vl-remove-if '(lambda(x) (= x LAY)) LLAY)) (foreach RLAY RemoveList (command "_layout" "_d" RLAY) ) (command "_saveas" "" (strcat PREFIX LAY "-" NOM ) ) (command "_undo" "_end") (command "_undo" "1") ) (princ) ) et j'ai ce message d'erreur [surligneur] Commande: appload SplitLayout.LSP correctement chargé(s) Commande: ; erreur: structure incorrecte de la liste en entrée Commande: Commande: SplitLayout Commande inconnue "SPLITLAYOUT". Appuyez sur F1 pour obtenir de l'aide[/surligneur] IL y a un truc qui ne fonctionne pas chez moi dommage car ton lisp était très intéressant A+ PHIL -
Slt J'ai essayé ton lisp à l'instant et ça ne fonctione pas l'as-tu essayé de ton coté IL doit y avoir quelque chose qui ne fonctionne pas au chrgement j'ai ce message "_ appload JPe.LSP correctement chargé(s) erreur: type d'argument incorrect: numberp: nil", puis ça en rentrant le code "inconnue "JPe". Appuyez sur F1 pour obtenir de l'aide. " A+ Phil
-
Reslt, Super sympa et grand merci, n'étant pas du tout un spécialiste de la programation pour les fameuse lignes je vais poser question sur le forum peut-être quelqu'un aura quelque chose une idée. C'est vrai que qd tu réfléchis cette tolérance peut fausser en cas de grande valeur. Autre cas ou elle ne marche pas non plus et que est logique qd un arc n'est pas vraiment qd l'alignement tangent du prolongement d'un segment. Mais c'est une macro que j'uiliserai souvent car la plupart du temps les écarts sont minime car plus rapide que pedit et qd ils sont plus grand je procède différemment. Mais encore merci Phil
-
Slt, Merci de ta réponse et de ton lisp très intéressant ma foi. Ce matin j'avais refait un lisp sur le m^me principe mais ça ne marche pas. ; JPL_.LSP ; ================================= ; transforme toutes les lignes, arcs ; en polylignes, les joint selon une selection et ;change épaisseur de polyligne. ; ================================= (defun c:jpl (/ ss) ;Converti en polyligne et change épr. de ligne (princ "\nConverti en polyligne et change épr. de ligne.") (princ "\nConverti en polyligne et change d'épaisseur de polylignes. -bk") (setq poliss (ssget)) (setq epr (getreal "\nNouvelle épaisseur de polylignes : ")) (if (and poliss epr (and (or (and (= (getvar "pickfirst") 1) (setq ss (ssget "_I" '((0 . "ARC,LINE,LWPOLYLINE")))) ) (setq ss (ssget '((0 . "ARC,LINE,LWPOLYLINE")))) ) (if (= (getvar "peditaccept") 1) (vl-cmdf "_.pedit" "_m" ss "" "_j" 0.0 "") (vl-cmdf "_.pedit" "_m" ss "" "_y" "_j" 0.50 "") (vl-cmdf "_.pedit" "_m" ss "" "_w "" epr ""k) ) ) (fin) ) (princ) ) ;;;___________________________________________________ (defun fin () (princ "\n Mauvaise données...-bk") (princ) ) Ton lisp répond en très grande partie à mon souhait car il transforme bien lignes arcs en polyligne et les joient avec un pas ou tolérance ou jointure au cas ou celles ne soient pas tt à fait jointes. Je voulais savoir s'il était possible de rajouter une ligne de commande pour modifier éventuellement l'épaisseur de la nouvelle polyligne ds la m^me opération. Par contre pour ta "tolérance" il peut y avoir un problème ou cela risque fausser aussi car ta tolérance est bassée sur la prolongation tolérée d'une droite. Alors imagine que tu es 2 segments lignes ou arcs qui soit presque parallèlle ou et que l'extrémité d'une entité soit presque parallèlle à l'extrémltié de l'autre cela ne fonctionne pas logique car la téolérance risque d'être importante logique. Ici au boulot cela arrive souvent avec les fichiers de géomêtres ou les lignes ne sont pas souvent toujours très bien faites. J'espère que je me suis bien expliqué car pas facile à expliquer.
-
bjr, J'ai repris un lisp existant et j'ai voulu le transformer afin de l'améliorer et de rajouter de sfonctions mais ça coince. En fait j'e voudrais transformer ligne, arc, en polylinge automatiquement, les joindre avec une commande pouvant changer l'épaisseur de la nouvelle sélection éventuellement à la demande. Je souhaiterai aussi pouvoir rajouter une ligne pour définir le pas d'épaisseur de jointure mais là je ne sais pas ou le mettre. Merci de vos lumières de spécialiste. Phil voici mon lisp en construction: ; JPL_.LSP ; ================================= ; transforme toutes les lignes, arcs ; en polylignes, les joint selon une selection et ;change épaisseur de polyligne. ; ================================= (defun c:jpl (/ ss) ;Converti en polyligne et change épr. de ligne (princ "\nConverti en polyligne et change épr. de ligne.") (princ "\nConverti en polyligne et change d'épaisseur de polylignes. -bk") (setq poliss (ssget)) (setq epr (getreal "\nNouvelle épaisseur de polylignes : ")) (if (and poliss epr (and (or (and (= (getvar "pickfirst") 1) (setq ss (ssget "_I" '((0 . "ARC,LINE,LWPOLYLINE")))) ) (setq ss (ssget '((0 . "ARC,LINE,LWPOLYLINE")))) ) (if (= (getvar "peditaccept") 1) (vl-cmdf "_.pedit" "_m" ss "" "_j" 0.0 "") (vl-cmdf "_.pedit" "_m" ss "" "_y" "_j" 0.50 "") (vl-cmdf "_.pedit" "_m" ss "" "_w "" epr ""k) ) ) (fin) ) (princ) ) ;;;___________________________________________________ (defun fin () (princ "\n Mauvaise données...-bk") (princ) )
-
Bsr, Je trouve cette macro très utile mais serait-il possible en joignant les plolylignes après transformation de pouvoir imposer un genre de "pas" avec une ligne de commande proposant la valeur de ce pas afin de combler un éventuel espace si ces polilygnes ne sont pas vraiment jointes pile poil. Autrement c'est nickel
-
Merci vinz
-
J'ai également ce problème déchelle à purger . Moi j'ai aussi remarqué qu'en utilisant la commande " [surligneur] modiflistechelle[/surligneur]" certaine échelle reste grisée au niveau de "supprimer" donc impossible de les purger, on peut juste renommer c'est tout, pas moyen non de redéfinir les propriétés ce qui gênant Quelqu'un sait-il pourquoi !
