Aller au contenu

bonuscad

Membres
  • Compteur de contenus

    5 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    56

Tout ce qui a été posté par bonuscad

  1. Dans le sujet Je suis parti de ce postulat en considérant que le sens de tracé suivait cette règle et donc je demande le point final pour TOUTES les polylignes sélectionnées et pour chacune individuellement le nouveau point de départ.
  2. bonuscad

    commande "dissocier"

    Ou encore voir PurgeAllGroups(ou d'autres) sur cette page
  3. Et avec une expression diesel dans le champ comme ceci (le calque "Lot n°1" doit être courant)? $(substr,$(getvar,"CLAYER"),7,1)
  4. Bonjour, Si j'ai bien compris la demande ?!Essayes ceci: (defun c:test ( / js new_pt-end n dxf_obj obj_vlax pt_start pt_end pt_lst) (setq js (ssget '((0 . "LWPOLYLINE")))) (cond (js (setq nw_pt-end (trans (getpoint "\nNouveau point final pour l'ensemble des polyligne sélectionnées: ") 1 0)) (repeat (setq n (sslength js)) (setq dxf_obj (entget (setq obj (ssname js (setq n (1- n))))) obj_vlax (vlax-ename->vla-object obj) pt_start (vlax-curve-getStartPoint obj_vlax) pt_end (vlax-curve-getEndPoint obj_vlax) pt_lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) dxf_obj)) ) (entmod (setq dxf_obj (subst (cons 10 nw_pt-end) (cons 10 (nth (1- (cdr (assoc 90 dxf_obj))) pt_lst)) dxf_obj ) ) ) (entmod (subst (cons 10 (trans (getpoint (trans pt_start 0 1) "\nNouveau point de départ") 1 0)) (cons 10 (nth 0 pt_lst)) dxf_obj ) ) ) ) ) (prin1) )
  5. Bonjour, Lorsque j'ai commencé à pratiquer le lisp, c'était sous Autocad sous DOS. A l'époque la mémoire était limité, il fallait même configurer la gestion de la mémoire pour pouvoir utiliser AutoLisp en mémoire étendue afin de ne pas être limité au 640Ko de mémoire de base. La recommandation à l'époque était d'utiliser des noms de variable inférieures à 6 caractères car au delà la variable utilisait un adressage sur plusieurs segments de mémoire, donc on perdait des Ko de stockage pour rien... Personnellement j'ai gardé un peu cette habitude bien qu'elle ne soit plus nécessaire, des noms courts me facilite l'écriture du code. Le risque est que si les variables ne sont pas déclarées en locale, avec des noms courts on risque d'utiliser des variables avec le même nom entre différent code pouvant entrainer des erreurs inexpliquées lors d'utilisation de ces codes. En regardant le retour de la fonction (atoms-family 0) peut permettre de dire que cela n'est plus une limitation (ou recommandation) car le retour montre des noms de symboles (fonctions ou variables) assez long utilisé par AutoDesk eux-même. Il faut dire que les Go disponibles d'aujourd'hui n'ont plus rien à voir avec les quelques Ko de l'époque du début d'Autocad. Et puis lors du passage du 16bits au 32bits, je pense que cela a levé cette recommandation d'économie, et que dire du 64bits
  6. Bonjour, J'avais fais quelque chose de similaire pour du texte, je l'ai rapidement adapté pour des insertions de blocs, à voir si cela peut faire l'affaire! (defun c:Dispatch_BlockOverride ( / js_blk nb_blk inc_ang ang ent obj_vlax dxf_ent mnpt mxpt mintpt maxpt offset) (setq js_blk (ssget '((0 . "INSERT")))) (cond (js_blk (cond ((> (setq nb_blk (sslength js_blk)) 1) (setq inc_ang (/ (* 2 pi) nb_blk) ang 0.0) (repeat nb_blk (setq ent (ssname js_blk (setq nb_blk (1- nb_blk))) obj_vlax (vlax-ename->vla-object ent) dxf_ent (entget ent) pt_ins (cdr (assoc 10 dxf_ent)) ) (vla-GetBoundingBox obj_vlax 'mnpt 'mxpt) (setq minpt (trans (safearray-value mnpt) 0 1) maxpt (trans (safearray-value mxpt) 0 1) ) (setq offset (* (distance minpt maxpt) 2.0)) (entmod (subst (cons 10 (polar pt_ins ang offset)) (assoc 10 dxf_ent) dxf_ent)) ;(entmod (subst (cons 50 ang) (assoc 50 dxf_ent) dxf_ent)) (setq ang (+ ang inc_ang)) ) ) ) ) ) )
  7. bonuscad

    TABSORT DE LEE MAC

    J'ai la même info que toi, cela est compréhensible car en le compilant, cela devient du langage machine.Si il y a 15 ans le gain pouvait être sensible, je pense qu'avec les machine d'aujourd'hui l'écart devient moindre mais cela reste cependant vrai, surtout pour des codes volumineux. L'inconvénient qu'il peut y avoir, c'est qu'un programme compilé ne sera pas compatible partout. Je m'explique:déjà suivant l'architecture 64 ou 32 bit, l'OS; Mac ou PC Intel et je dirais aussi le processeur Intel ou AMD.Puis lors de la modification du source, ben; il faut tout reprendre.Dernière chose, quand tu perd les sources et bien c'est galère, on peut arriver à décompiler (je l'ai eu fais il y a longtemps) mais c'est chaud et puis si l'auteur a compilé pour protéger son travail, cela n'est pas bien légal de procéder ainsi. Pour moi, avec l'évolution du lisp qu'il y a eu (ActiveX et les fonctions VLA) qui atteignent les infos aux premier niveaux, à l'inverse des appels à (command) qui passent par des niveaux intermédiaires la compilation devient moins intéressante pour le gain d’exécution, mais ce n'est que mon avis. A moins de vouloir protéger son travail... mais c'est une autre histoire.
  8. bonuscad

    TABSORT DE LEE MAC

    Pour essayer de comprendre le problème de PHILPHIL, j'ai essayé de compiler le TABSORT de LeeMac dans l'éditeur VisualLisp et je n'ai pas de problème avec le .fas obtenu; il fonctionne. Par contre j'ai remarqué que j'ai du faire attention à l'encodage du .lsp (LeeMac à sans doute utilisé du ANSI) PHILPHIL c'est toi qui a procédé à la compilation ? Si oui, à tu fais attention à l'encodage avant de procéder à la compilation du .lsp Ou tu l'a téléchargé a quel endroit? LeeMAc donne les sources (merci à lui) et ne compile pas ses programmes!...
  9. bonuscad

    modification LISP

    Bonjour, Une adaptation du lisp faite sommairement, pas testé en profondeur; des ajustements seront peut être nécessaire. (defun l-coor2l-pt (lst flag / ) (if lst (cons (list (car lst) (cadr lst) (if flag (+ (if (vlax-property-available-p ename 'Elevation) (vlax-get ename 'Elevation) 0.0) (caddr lst)) (if (vlax-property-available-p ename 'Elevation) (vlax-get ename 'Elevation) 0.0) ) ) (l-coor2l-pt (if flag (cdddr lst) (cddr lst)) flag) ) ) ) (defun make_field (pt / obj ptlst arr nw_obj) (vlax-put (vla-AddPoint Space (vlax-3d-point pt)) 'layer "Id-Point") (setq obj (entlast) ptlst (append pt (polar pt o_lead d_lead)) arr (vlax-make-safearray vlax-vbdouble (cons 0 (- (length ptlst) 1))) ) (vlax-safearray-fill arr ptlst) (setq nw_obj (vla-addMLeader Space (vlax-make-variant arr) 0)) (vla-put-textstring nw_obj (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).Coordinates \\f \"%lu6%pt1\">%" "\\P" "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).Coordinates \\f \"%lu6%pt2\">%" ) ) (vla-put-layer nw_obj "Id-XY") (vla-update nw_obj) ) (defun c:ptdef-xy_field2lead ( / js htx rtx rtx0 pt_lead d_lead o_lead AcDoc Space ncol dxf_cod n lremov ent ename l_pt l_pr) (princ "\nChoix d'un objet modèle pour le filtrage: ") (while (null (setq js (ssget "_+.:E:S" (list '(0 . "LINE,MLINE,*POLYLINE,POINT,ARC,CIRCLE,ELLIPSE,INSERT") (cons 67 (if (eq (getvar "CVPORT") 1) 1 0)) (cons 410 (if (eq (getvar "CVPORT") 1) (getvar "CTAB") "Model")) ) ) ) ) (princ "\nCe n'est pas un objet valable pour cette fonction!") ) (initget 6) (setq htx (getdist (getvar "VIEWCTR") (strcat "\nSpécifiez la hauteur du champ <" (rtos (getvar "TEXTSIZE")) ">: "))) (if htx (setvar "TEXTSIZE" htx)) (if (not (setq rtx (getorient (getvar "VIEWCTR") "\nSpécifiez l'orientation du champ <0.0>: "))) (setq rtx 0.0)) (setq rtx0 (+ (angle '(0 0 0) (getvar "UCSXDIR")) rtx)) (initget 1) (setq pt_lead (getpoint (getvar "VIEWCTR") "\nSpécifiez l'orientation et la distance type de la ligne de guidage du repère: ")) (setq d_lead (distance (getvar "VIEWCTR") pt_lead)) (setq o_lead (angle (getvar "VIEWCTR") pt_lead)) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ncol '(174 2) ) (vla-startundomark AcDoc) (foreach n '("Id-XY" "Id-Point") (cond ((null (tblsearch "LAYER" n)) (vlax-put (vla-add (vla-get-layers AcDoc) n) 'color (car ncol)) ) ) (setq ncol (cdr ncol)) ) (setq dxf_cod (entget (ssname js 0))) (initget "Unique Multiple _Single Multiple") (if (eq (getkword "\nSélection filtrée [unique/Multiple]<M>: ") "Single") (setq n -1) (setq dxf_cod (entget (ssname js 0)) js (ssget "_X" (foreach m (foreach n dxf_cod (if (not (member (car n) '(0 67 410 8 6 62 48 420 70))) (setq lremov (cons (car n) lremov)))) (setq dxf_cod (vl-remove (assoc m dxf_cod) dxf_cod)) ) ) n -1 ) ) (repeat (sslength js) (setq ename (vlax-ename->vla-object (ssname js (setq n (1+ n)))) l_pt nil) (setq l_pr (list 'StartPoint 'EndPoint 'Center 'InsertionPoint 'Coordinates 'FitPoints)) (foreach n l_pr (if (vlax-property-available-p ename n) (setq l_pt (if (eq n 'Coordinates) (progn (append (if (eq (vla-get-ObjectName ename) "AcDbPolyline") (l-coor2l-pt (vlax-get ename n) nil) (l-coor2l-pt (vlax-get ename n) T) ) l_pt ) ) (cons (vlax-get ename n) l_pt) ) ) ) ) (mapcar 'make_field l_pt) ) (vla-regen AcDoc acactiveviewport) (vla-endundomark AcDoc) (prin1) )
  10. bonuscad

    xref

    Bonsoir, Quand je jette un coup d’œil rapide, je vois que ce qui est écrit ne fonctionnera que sous une version Anglaise\Américaine correctement.Pour en faire une version internationale, il faudrait cette syntaxe (le point est un plus: contourne la commande _.UNDEFINE, le -; plus très utile est pour désactiver les boites de dialogue) (defun c:xr( / layerC) (setq layerC (getvar "clayer")) (command "_.-Layer" "_thaw" "0" "") (setvar "clayer" "0") (command "_.-Xref" "_attach" "") (setvar "clayer" layerC) ) Devrait fonctionner sur n'importe qu'elle version de langue, c'est multilingue!NB: J'ai pas du tout testé, je me suis contenté de faire la traduction.
  11. bonuscad

    Précision du Cadastre

    Un article sur Georezo
  12. bonuscad

    Précision du Cadastre

    Pour le peu de souvenir que j'ai, je me souviens que mon professeur (un Géomètre Expert DPLG) nous avait martelé que le cadastre comme le dit Denis n'était là que pour déterminer l'assiette fiscale. En aucun cas il ne peut faire acte de propriété (vue son imprécision) La seule exception est le cadastre d'Alsace Lorraine avec son livre foncier
  13. Cela est géré par la variable de cotation "DIMZIN", même si cela peut paraitre étrange... elle influe aussi sur les fonctions (rtos) et (angtos) du lisp. Donc à régler à ton goût avant utilisation ou intégrer la changement dans le lisp lui même.
  14. Si tu commence à t’intéresser au code DXF, tu pourrais utiliser ceci, ça pourrait t'aider car plus facilement lisible que le retour d' (entget) En même temps attention aux entités complexes avec beaucoup de points de définitions, car la liste peut être longue... (beaucoup de clicks sur "OK") (defun c:dxflistdata ( / ent msg l_str nb ch) (setq ent 0) (while (not (listp ent)) (if user-dxf (setq msg "\n[Entite/Sous-entite]<S> - Choix de l'objet à lister ses codes DXF: ") (setq msg "\n[Entite/Sous-entite]<E> - Choix de l'objet à lister ses codes DXF: ") ) (initget "Entite Sous-entite") (if user-dxf (setq ent (nentsel msg)) (setq ent (entsel msg)) ) (if (eq ent "Sous-entite") (setq user-dxf T)) (if (eq ent "Entite") (setq user-dxf nil)) ) (cond (ent (setq l_str (cons "\tDATA DXF d'OBJET\n\n" (mapcar '(lambda (x) (strcat x "\n")) (mapcar 'vl-prin1-to-string (entget (car ent))))) nb (length l_str) ch "" ) (while (> (length l_str) 31) (repeat 31 (setq ch (strcat ch (car l_str)) l_str (cdr l_str) ) ) (alert ch) (setq l_str (cons "suite DATA DXF d'OBJET\n\n" l_str) ch "") ) (setq ch (apply 'strcat l_str)) (alert ch) ) ) (prin1) )
  15. Bonjour, Pour certaines propriétés en DXF (couleur, type de ligne, etc...), tu es obligé de vérifier d'abord si elles existent pour substituer une autre valeur car si elles ont la valeur par défaut, elles n'existe pas! Donc le (subst) ne fonctionne pas.Donc en cas ne non-existence, tu dois passer par un (append) (setq elst (entget Ent) n (+ 1 n) elst (append elst '((6 . "Axes tubes"))) ; type de ligne elst (append elst '((39 . 9))) ; épaisseur de ligne ) Ton code fonctionnerait si l'objet avait déjà un type de ligne et une épaisseur affectée avec des valeurs autres.
  16. Le .sv$ est une bonne idée, mais j'ai peur que si le .BAK pose déjà problème que ce soit rapé pour la sauvegarde automatique. Pas eu de problèmes électrique? Avec les orages de ces derniers temps une surtension à pu détériorer le fichier lors de l'écriture ou simplement le DD en créant des secteurs illisibles. Tous ça pour dire que c'est peut être un problème physique de ton ordi car je suis surpris qu'un Bak (dwg n-1) soit détérioré.Il faudrait essayer de les lire avec une autre machine. En tout cas garde précieusement tes fichiers originaux et ne tente de réparer que des copies pour ne pas aggraver les choses...
  17. Essayes comme ceci: change le second point (DXF 14) ((or (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (eq (rem (cdr (assoc 70 dxf_ent)) 32) 1)) (setq p1 (cdr (assoc 13 dxf_ent)) p2 (cdr (assoc 14 dxf_ent))) (setq p_nw2 (polar p2 (angle p1 p2) value)) (setq dxf_ent (subst (cons 14 p_nw2) (assoc 14 dxf_ent) dxf_ent)) (entmod dxf_ent) )
  18. bonuscad

    débats...

    Qu'a cela ne tienne... on va faire plaisir à l'Ardéchois.Tu rajoutes ce qui suit au bon endroit <track> <location>http://live.francra.org:8000/Frequence7?_=1414697659</location> <title>Frequence 7</title> <image>http://www.frequence7.net/player/img/fond.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>26</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> Ne pas oublier de rajouter aussi <vlc:item tid="26"/> Après on pourrait en rajouter des milles et des cents, ce n'est pas ce qui manque sur le web.Le plus dur est de trouver l'adresse de lecture directe "<location> et non pas l'adresse d'un player web généralement utilisé, et ce n'est pas toujours évident...
  19. bonuscad

    débats...

    J'ai rajouté Radio Meuh dans le fichier Radios.xspf dans le post précédent pour ceux qui seraient intéressés. NB: Pour l'édition du fichier j'utilise Notepad2, dans le menu File -> Encoding , je choisi UTF8 De cette manière mon fichier est compris par VLC sans soucis
  20. bonuscad

    débats...

    Ben là j'en sais rien... J'ai posté le code xml, peut être que le copier-coller transforme l'encodage. L'original est encodé en UTF-8, j'ai peur que tu l'ai passé en ANSI (ou autre). Je joins le fichier, ce sera plus sur. Certaine radios ne sont plus fonctionnelles, mais ont peut les supprimer et en rajouter d'autres (radio MEUH par exemple). Dans VLC dans le menu "Vue" on peut passer "Affichage liste de lecture" en "PictureFlow" c'est sympa! Edit: Désolé j'arrive pas à joindre ce fichier minuscule.
  21. bonuscad

    débats...

    J'écoute essentiellement de la "zic" presque en sourdine. Pour ce faire j'ai un petit fichier Radios.xspf qui contient ce qui suit et qui ce lit avec VLC. Ma station préférée: radio paradise (aucune pub, de tant en temps un p'tit jungle de la station) <?xml version="1.0" encoding="UTF-8"?> <playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1"> <title>Liste de Radio</title> <image> </image> <trackList> <track> <location>http://direct.franceinter.fr/live/franceinter-midfi.mp3</location> <title>France-Inter</title> <image>https://www.franceinter.fr/img/logo-france-inter-reseaux.jpg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>0</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://african1paris.ice.infomaniak.ch/african1paris-128.mp3</location> <title>Africa N°1 Paris</title> <image>http://www.africa1.com/squelettes/images/logo_africa.jpg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>1</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://e1-live-mp3-128.scdn.arkena.com/europe1.mp3</location> <title>Europe 1</title> <image>http://cdn1-europe1.new2.ladmedia.fr/bundles/europe1front/images/logo_europe1.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>2</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://direct.francebleu.fr/live/fb1071-midfi.mp3</location> <title>France-Bleue-107.1</title> <image>https://upload.wikimedia.org/wikipedia/fr/7/7f/France_Bleu_logo_2005.svg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>3</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://broadcast.infomaniak.net/radioclassique-high.mp3</location> <title>Radio Classique</title> <image>http://db.radioline.fr/pictures/show_a5acc14327cf9ca5eec3b86bc60626d7/logo200.jpg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>4</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://listen.radionomy.com/radio-wassoulou-internationale?d=YWQ9cmFkaW9ubzUmcmVmZXJlcj1odHRwJTNBJTJGJTJGcmFkaW8td2Fzc291bG91LWludGVybmF0aW9uYWxlLnBsYXl0aGVyYWRpby5jb20lMkY=</location> <image>http://static.radio.fr/images/broadcasts/8d/1d/8205/c175.png</image> <title>Radio Wassoulou Internationale</title> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>5</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://live02.rfi.fr/rfimonde-64.mp3</location> <title>RFI Monde</title> <image>http://t3.gstatic.com/images?q=tbn:ANd9GcRlrRkfdua7_M_m_fmgVQ-OisRXDZ5y-kD7Ytp2HfsEs0ziAt3Obry2XUER</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>6</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://direct.fipradio.fr/live/fip-midfi.mp3</location> <title>FIP</title> <image>http://www.fipradio.fr/sites/default/files/fip-quadri-filet.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>7</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://stream3.laut.fm/radiojazz</location> <title>Jazz</title> <image>http://www.jazzradio.fr/media/pochette.jpg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>8</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://voltagelounge.bcast.infomaniak.ch/voltagelounge-128.mp3</location> <title>Voltage Lounge</title> <image>http://www.voltage.fr/images/header/webradio_voltage_premium_big.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>9</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://zenorad.io:10210/;214238468346843stream.nsv</location> <title>Radio Badenya Mali</title> <image>http://static.radio.fr/images/broadcasts/2d/a8/30927/c175.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>10</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://213.136.96.14:8000/nostalgie.mp3</location> <title>Nostalgie Côte d'Ivoire</title> <image>http://www.nostalgie.ci/sites/all/themes/Nostalgietheme/logo.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>11</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://streaming.radio.rtl.fr/rtl-1-44-96</location> <title>RTL</title> <image>http://static.rtl.fr/versions/www/6.0.180/img/apple-touch-icon-300x300-precomposed.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>12</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://direct.fipradio.fr/live/fip-webradio5.mp3</location> <title>FIP Nouveauté</title> <image>http://www.fipradio.fr/sites/default/files/asset/images/2016/06/webradio-nouveau-small.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>13</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://direct.fipradio.fr/live/fip-webradio2.mp3</location> <title>FIP Jazz</title> <image>http://www.fipradio.fr/sites/default/files/asset/images/2016/06/webradio-jazz-small.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>14</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://direct.fipradio.fr/live/fip-webradio4.mp3</location> <title>FIP Monde</title> <image>http://www.fipradio.fr/sites/default/files/asset/images/2016/06/webradio-monde-small.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>15</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://direct.franceculture.fr/live/franceculture-midfi.mp3</location> <title>France Culture</title> <image>https://www.franceculture.fr/favicons/android-icon-192x192.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>16</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://stream.srg-ssr.ch/m/rsc_fr/aacp_96</location> <title>Radio Suisse Classique</title> <image>http://www.radioswissclassic.ch/social-media/rsc-web.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>17</vlc:id> </extension> </track> <track> <location>http://sc6.shoutcaststreaming.us:8016</location> <title>Nippon Blue Heron Radio</title> <image>https://pbs.twimg.com/profile_images/1314050416/AOSAGIGUNLOGO512_normal.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>18</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://radio.chinesemusicworld.com:8202/</location> <title>Chinese Classical Music</title> <image>http://chinesemusicworld.com/wp-content/uploads/2012/03/logo.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>19</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://streaming.radionomy.com/buddha-bar</location> <title>Buddha Bar</title> <image>http://www.montecarlosbm.com/wp-content/uploads/2013/03/RMC_Buddha-Bar.jpg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>20</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://stream-uk1.radioparadise.com/mp3-192</location> <title>Radio Paradise</title> <image>http://static.radio.fr/images/broadcasts/d5/23/1885/c175.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>21</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://radiomeuh.ice.infomaniak.ch/radiomeuh-128.mp3</location> <title>Radio Meuh</title> <image>https://i2.wp.com/www.radiomeuh.com/player/images/3.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>22</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://cdn.nrjaudio.fm/audio1/fr/30201/mp3_128.mp3?origine=fluxradios</location> <title>Chérie FM</title> <image>http://a405.idata.over-blog.com/2/43/38/07/Divers/Logo_CherieFM.png</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>23</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://185.52.127.155/fr/30601/mp3_128.mp3?origine=fluxradios</location> <title>Nostalgie</title> <image>https://upload.wikimedia.org/wikipedia/fr/1/1e/Nostalgie_radio.jpg</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>24</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> <track> <location>http://live02.rfi.fr/rfiafrique-64.mp3</location> <title>RFI Afrique</title> <image>https://t1.gstatic.com/images?q=tbn:ANd9GcQpu_M9FGpC-aybQYnYTs98d5cUBPZEz65uG3fLJ28Tz1LwJYk51NS0U2s</image> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:id>25</vlc:id> <vlc:option>network-caching=1000</vlc:option> </extension> </track> </trackList> <extension application="http://www.videolan.org/vlc/playlist/0"> <vlc:item tid="0"/> <vlc:item tid="1"/> <vlc:item tid="2"/> <vlc:item tid="3"/> <vlc:item tid="4"/> <vlc:item tid="5"/> <vlc:item tid="6"/> <vlc:item tid="7"/> <vlc:item tid="8"/> <vlc:item tid="9"/> <vlc:item tid="10"/> <vlc:item tid="11"/> <vlc:item tid="12"/> <vlc:item tid="13"/> <vlc:item tid="14"/> <vlc:item tid="15"/> <vlc:item tid="16"/> <vlc:item tid="17"/> <vlc:item tid="18"/> <vlc:item tid="19"/> <vlc:item tid="20"/> <vlc:item tid="21"/> <vlc:item tid="22"/> <vlc:item tid="23"/> <vlc:item tid="24"/> <vlc:item tid="25"/> </extension> </playlist>
  22. Tout simplement par flemme, et puis par experience je me suis rendu compte que lors de la demande d'un lisp, dans la majorité des cas le demandeur n'a que faire des explications, pour lui l'essentiel est que ça fonctionne. Peu cherchent à s'investir et à adapter le lisp à son besoin: le plus souvent en retour on te demande de faire des modifications pour l'adapter. Aucunement, les lignes en commentaire ne sont pas interpretées. Pour ma part je préfère un code source bien indenté que truffé de commentaires. J'ai plus de facilité à lire le premier et à le comprendre (on voit les profondeurs d'appel du premier coup d'oeil), alors qu'un code source présenté en ligne, même avec commentaires sera imbuvable. Mais si tu veux t'investir, alors je vais faire l'effort de commenter... A ton tour de jouer! (defun c:dim-n ( / js n ent_dim dxf_ent p1 p2 p_nw1 p_nw2) ;déclaration des variable locales (if (not value) ; value n'a pas été mis en variable locale, cette variable sera valide pendant toute la session du dessin. Cela veut dire que dès que value sera définie, il ne posera plus la question sur la valeur à lui affecter. (progn (initget 2) ; arme le bit d'entrée utilsateur: interdit la valeur zéro (setq value (getreal "\nValeur à retrancher à la côte sélectionnée <0.20>: ")) (if (not value) (setq value 0.2)) ;si entrée utilisateur nulle alors valeur par défaut affectée à value ) ) ;si un jeu de sélection implicite OU précedent filtré sur les cotation existe (or (setq js (ssget "_I" '((0 . "DIMENSION")))) (setq js (ssget "_P" '((0 . "DIMENSION")))) ) ;alors on le grip et pose la question de traiter celui-ci ou d'en créer un nouveau. (cond (js (sssetfirst nil js) (initget "Existant Nouveau _Existent New") ; arme le bit en mode français/international (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] <Existant>: ") "New") (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget '((0 . "DIMENSION"))))) ) ) ;autrement on demande une selection filtrée sur les cotation (T (setq js (ssget '((0 . "DIMENSION"))))) ) ;on continu si un jeu de selection existe (cond (js ;on boucle sur le nombre d'entités contenu dans la sélection. (repeat (setq n (sslength js)) ;on récupére le nom de l'entité par incrémentation, ici plus exactement par décrémentation (n-1) (setq ent_dim (ssname js (setq n (1- n)))) ;on extrait les code dxf de celle-ci (setq dxf_ent (entget ent_dim)) (cond ;on vérifie que la cotation appartient au type alignée, pivotée, horizontale ou verticale. ;on veut écarter des cotation de type radiale, coordonnée, angulaire où le type de traitement que l'on veut appliquer ne serait pas possible. ((or (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (eq (rem (cdr (assoc 70 dxf_ent)) 32) 1)) ;on récupère les points de définitions des côtes: 13 et 14 (setq p1 (cdr (assoc 13 dxf_ent)) p2 (cdr (assoc 14 dxf_ent))) ;on applique à ces points la correction voulue ;le calcul se fait à l'aide (polar), c'est ici que tu doit adapter si tu ne veut faire que un seul côté... (setq p_nw1 (polar p1 (angle p1 p2) (/ value 2.0)) p_nw2 (polar p2 (angle p2 p1) (/ value 2.0))) ;on substitue les nouvelles valeurs aux anciennes. (setq dxf_ent (subst (cons 13 p_nw1) (assoc 13 dxf_ent) dxf_ent)) (setq dxf_ent (subst (cons 14 p_nw2) (assoc 14 dxf_ent) dxf_ent)) ;on met à jour l'entité (entmod dxf_ent) ) (T (princ "\nN'est pas une côte alignée, pivotée, horizontale ou verticale.") ) ) ) ) ) (prin1) )
  23. Je remet un code publié en 2006: comment trouver un fichier depuis un lisp L'optimisation est peut être possible..., mais là j'ai pas trop le temps! (defun extract_folder (lst_fold / l_dir l) (setq l_dir '()) (foreach n lst_fold (setq l (vl-directory-files n nil -1)) (if (eq (car l) ".") (setq l (cddr l)) ) (cond (l (setq l_dir (append (mapcar '(lambda (x) (strcat n x "/") ) l ) l_dir ) ) ) ) ) l_dir ) (defun c:where_file ( / disk_unit folder_name file2find folder_list) (setq disk_unit (getstring T "\nUnité de disque? : ") folder_name (strcat disk_unit (vl-string-translate "\\" "/" (getstring T "\nDémarrer du dossier? : "))) file2find (getstring T "\nFichier à trouver? : ") folder_list (list folder_name) ) (textscr) (if (vl-directory-files folder_name file2find 1) (princ (strcat "\nFichier " file2find " trouvé dans le dossier " (strcase (vl-string-translate "/" "\\" folder_name)))) ) (while (setq folder_list (extract_folder folder_list)) (foreach n folder_list (if (vl-directory-files n file2find 1) (princ (strcat "\nFichier " file2find " trouvé dans le dossier " (strcase (vl-string-translate "/" "\\" n)))) ) ) ) (prin1) )
  24. Bonjour, J'avais fais ceci pour quelqu'un qui voulait coter des portes en retranchant les encadrements. Peut être que cela convient, ou simplement l'adapter... NB: Ce lisp dissocie les cotes des objets -> donc pas de mise à jour automatique! (defun c:dim-n ( / js n ent_dim dxf_ent p1 p2 p_nw1 p_nw2) (if (not value) (progn (initget 2) (setq value (getreal "\nValeur à retrancher à la côte sélectionnée <0.20>: ")) (if (not value) (setq value 0.2)) ) ) (or (setq js (ssget "_I" '((0 . "DIMENSION")))) (setq js (ssget "_P" '((0 . "DIMENSION")))) ) (cond (js (sssetfirst nil js) (initget "Existant Nouveau _Existent New") (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] <Existant>: ") "New") (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget '((0 . "DIMENSION"))))) ) ) (T (setq js (ssget '((0 . "DIMENSION"))))) ) (cond (js (repeat (setq n (sslength js)) (setq ent_dim (ssname js (setq n (1- n)))) (setq dxf_ent (entget ent_dim)) (cond ((or (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (eq (rem (cdr (assoc 70 dxf_ent)) 32) 1)) (setq p1 (cdr (assoc 13 dxf_ent)) p2 (cdr (assoc 14 dxf_ent))) (setq p_nw1 (polar p1 (angle p1 p2) (/ value 2.0)) p_nw2 (polar p2 (angle p2 p1) (/ value 2.0))) (setq dxf_ent (subst (cons 13 p_nw1) (assoc 13 dxf_ent) dxf_ent)) (setq dxf_ent (subst (cons 14 p_nw2) (assoc 14 dxf_ent) dxf_ent)) (entmod dxf_ent) ) (T (princ "\nN'est pas une côte alignée, pivotée, horizontale ou verticale.") ) ) ) ) ) (prin1) )
  25. Bonjour, Je triche un peu, mais avec une fonction anonyme? pas de variable! (defun doublon (lst / ) (apply 'or (mapcar '(lambda (x) (if (member x (cdr (member x lst))) T)) lst)) )
×
×
  • 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é