Aller au contenu

lecrabe

Moderateurs
  • Compteur de contenus

    10 663
  • Inscription

  • Dernière visite

  • Jours gagnés

    101

Tout ce qui a été posté par lecrabe

  1. Hello @babatche06 Au Pif, c sans doute : rtos Et non pas : itos Bye, lecrabe
  2. Hello RAPPEL : je suis VENAL, ce sera comme d habitude un excellent Whisky Single Malt ! Bye, lecrabe
  3. lecrabe

    Fichier installation covadis 15.0

    Hello Tu as quelle version de AutoCAD ou AutoCAD MAP ? SVP quel SN (Serial Number) pour ton AutoCAD ? Tu tapes en Ligne de commande : _PKSER < Entree > No de Serie de ton Dongle Covadis ? Et quel Code d autorisation ?? Rappel : Covadis v15.0D s utilise sur AutoCAD 2007-2017 ... Bye, lecrabe
  4. Hello PARFAIT ton AutoCAD 2024 a bien le dernier Update ! Toujours ouvrir des DWGs provenant de l exterieur en Mode RECUPERER (RECOVER) voire meme aussi certains en Interne, si on plante regulierement ! Et faire un certain nombre de choses ... Voir Image ... Bye, lecrabe
  5. Hello Malheureusement je pense que ces 2 Lisp ne vont pas t aider beaucoup sur le DWG "nettoye" que tu nous as envoyé !? A voir sur d autres DWGs !? Je vais transférer ton Sujet sur le forum AutoCAD MAP ... Bye, lecrabe
  6. Hello SVP tu fais la commande : APROPOS < Entree > et tu nous envoies la capture ecran ... Bye, lecrabe
  7. Hello Et voici la routine "E2LBC" qui "eclate" le DWG sur de Multiples Calques en fonction de la Couleur (Support des Couleurs ACI, RGB, RAL, Pantone, etc) des Entites Bye, lecrabe ;; ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/separate-hatches-on-multiple-layers-depending-on-color-or-name/td-p/9402333 ;; ;; Routine: E2LBC__Entities_to_Layer_By_Color__dlanorh by dlanorh for Patrice B. ;; ;; Move selected Entities on separate layers depending on Color ;; ;; --- Interrogation Entite/Objet en Lisp --- ;; (entget (car (entsel)) '("*")) ;; (vl-load-com) (defun LM:True->RGB ( c ) (mapcar '(lambda ( x ) (lsh (lsh (fix c) x) -24)) '(8 16 24))) (defun rh:lst2str ( lst del / str ) (setq str "") (mapcar '(lambda (x) (setq str (strcat str x del))) lst) (vl-string-right-trim del str)) (defun rh:layer_props ( lyr lst / v ) (setq v (mapcar '(lambda (x) (vlax-get-property lyr x)) lst))) (defun rh:strlen3 ( str ) (if (< (strlen str) 3) (while (< (strlen str) 3) (setq str (strcat "0" str))) str) str) ;; Entities to layer by color (defun c:E2LBC ( / c_doc c_lyrs l_props ss cnt ent elst lyr l_vals cstr clst clr nlyr lobj) (setq c_doc (vla-get-activedocument (vlax-get-acad-object)) c_lyrs (vla-get-layers c_doc) l_props (list 'truecolor 'linetype 'lineweight);Layer properties list );end_setq (prompt "\nSelect Entities : ") (setq ss (ssget)) (cond (ss (repeat (setq cnt (sslength ss)) (setq ent (ssname ss (setq cnt (1- cnt))) elst (entget ent) lyr (cdr (assoc 8 elst));Layer l_vals (rh:layer_props (vla-item c_lyrs lyr) l_props);Layer properties cstr "" clst nil );end_setq (foreach x '(62 420 430) (setq clst (cons (cdr (assoc x elst)) clst))) (setq clr (vl-some '(lambda (x) x) clst)) (cond ( (not clr) (setq cstr "256")) ;No Color set (bylayer) ( (and (= (type clr) 'INT) (<= clr 256)) ;ACI (0-256) (setq cstr (rh:strlen3 (itoa clr))) ) ( (= (type clr) 'STR) (setq cstr clr)) ;Color Book (t (setq clr (mapcar 'itoa (LM:True->RGB clr));RGB cstr (rh:lst2str (mapcar 'rh:strlen3 clr) "_") );end_setq ) );end_cond (setq nlyr (strcat lyr "__" cstr)) (cond ( (not (tblsearch "layer" nlyr)) (setq lobj (vla-add c_lyrs nlyr)) (mapcar '(lambda (x y) (vlax-put-property lobj x y)) l_props l_vals))) (vlax-put-property (vlax-ename->vla-object ent) 'layer nlyr) );end_repeat ) (t (alert "NO Entities Selected ! ")) );end_cond (princ) );end_defun
  8. Hello Juste pour Info, j utilise souvent 2 superbes Routines Lisp pour trier / preparer des DWGs "bordeliques" provenant de l exterieur quand le DWG a de multiples types d objets sur le MEME Calque et/ou de Multiples Objets avec la Couleur FORCEE ! Bye, lecrabe Voici la Routine "TRI" de notre regrette Patrick_35 qui "eclate" le DWG sur de multiples calques en fonction du Type d Entite ! ;; ;; Tri des entites par calque et transfert dans des sous-calques ;; ;; Si Calque nomme A alors : A__TEXT, A__LINE, A___CIRCLE, A__HATCH, A__POLYLINE, etc ;; ;; Par Patrick_35 le 23/03/2009 pour Patrice B. ;; ;; Nouvelle version 1.1 qui separe XREF & BLOC et fonctionne sur AutoCAD >= 2000 ;; ;; Par VDH-Bruno : Nouvelle version 1.1A ;; qui traite SEULEMENT la Selection et NON PAS TOUT le DWG ... ;; (defun c:TRI (/ doc ent lay lck nom ori pro sel tot txt) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (if (ssget) ;; Selection partiel ;; (ssget "X") ;; Selection total (progn (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (cond ((and (eq (vla-get-objectname ent) "AcDbBlockReference") (vlax-property-available-p ent 'path) ) (setq nom "Xref") ) (T (setq txt (substr (vla-get-objectname ent) 5) tot 2 ) (while (and (> (vl-string-elt txt tot) 90) (< tot (1- (strlen txt))) ) (setq tot (1+ tot)) ) (and (eq (1- (strlen txt)) tot) (setq tot (1+ tot)) ) (setq nom (substr txt 1 tot)) ) ) (setq ori (vla-item (vla-get-layers doc) (vla-get-layer ent)) lck (vla-get-lock ori) ) ;; (or (wcmatch (vla-get-layer ent) (strcat "* - " nom)) ;; (and (vl-catch-all-error-p (setq lay (vl-catch-all-apply 'vla-item (list ;; (vla-get-layers doc) (setq txt (strcat (vla-get-layer ent) " - " nom)))))) (or (wcmatch (vla-get-layer ent) (strcat "*__" nom)) (and (vl-catch-all-error-p (setq lay (vl-catch-all-apply 'vla-item (list (vla-get-layers doc) (setq txt (strcat (vla-get-layer ent) "__" nom)))))) (setq lay (vla-add (vla-get-layers doc) txt)) (foreach pro '('color 'freeze 'layeron 'linetype 'lineweight 'material 'plottable 'viewportdefault) (and (vlax-property-available-p lay (eval pro)) (vlax-put lay (eval pro) (vlax-get ori (eval pro))) ) ) ) (vla-put-lock lay :vlax-false) (vla-put-lock ori :vlax-false) (vla-put-layer ent txt) (vla-put-lock lay lck) (vla-put-lock ori lck) ) ) (princ (strcat "\nTravail sur " (itoa (vla-get-count sel)) " objet(s). ")) (vla-delete sel) ) (princ "\nDessin vide! ") ) (vla-endundomark doc) (princ) )
  9. Hello Ton DWG est une HORREUR ! As tu le meme AVANT un quelconque traitement ? Bye, lecrabe
  10. Hello Tu fais ce que tu veux MAIS il ne faut pas rester avec ces Coords XY en MM ! Bye, lecrabe
  11. Hello DONC ton DWG c vraiment N IMPORTE QUOI ! Tes Coords XY nous amenent BIEN au SE de Chartres SAUF QUE on est en plein champ ! J ai applique un facteur d echelle de 0.001 (Base =0,0) a TOUT ton DWG pour arriver dans les "choux" !! Ce qui "AMUSANT" c que tes Altitudes Z sont BIEN en METRES !!! SVP tu es OU physiquement ? Une adresse aiderait ?? -- Au fait tu ne serais pas a Nogent Le Phaye pres de Chartes ?? -- Pour moi, tu a l Intersection de la D24 (Route de Chartres) et de la Rue du Tronc (D136.3) sur la Commune "Nogent Le Phaye" au SE de Chartes ! Bye, lecrabe
  12. Hello DONC en theorie ton DWG est en MM (Millimetres), et tu serais en CC48 au Sud-Est de Chartres ! Je vais regarder ton DWG ... Bye, lecrabe
  13. Hello SVP c quoi ces Coords XY, tu es en cm ou en mm ?? TOUTE la precision mathematique d AutoCAD est "bouffee" par ces chiffres "ridicules" ! De nombreuses fonctionnalites AutoCAD vont "deconner" ! Bye, lecrabe
  14. Hello Sans trop reflechir si AutoCAD 2022-2024, tu tentes : GFXDX12 = 0 ... Quitter AutoCAD 2022-2024 puis Relancer ... Alors ?? Bye, lecrabe
  15. Hello Je l avais rencontre une fois aux Etats-Unis d'Amérique dans les annees 1990-1995 lors d un CAD Salon ! Il avait ete tres sympa en parlant lentement pour que je comprenne bien ses reponses a mes questions ! SNIFF, Bye, lecrabe
  16. Hello C bien triste ! https://en.wikipedia.org/wiki/John_Walker_(programmer) https://www.fourmilab.ch/ SNIFF, Bye, lecrabe
  17. Hello As tu Covadis avec ton AutoCAD / AutoCAD MAP ? Bye, lecrabe
  18. Hello Juste de mémoire : un truc du genre DWGCHECK !? Bye, lecrabe
  19. Hello @Luna Merci beaucoup... Belle annee 2024 et La Santé, Bye, lecrabe
  20. Hello @Luna SVP tu fais au plus SIMPLE ... Pour moi, il est evident que Par Defaut : Prefixe et Suffixe sont VIDES ! Si on relance la Routine, TANT PIS si on doit resaisir la meme valeur de Prefixe / Suffixe Par defaut : Valeur Depart = 1 et Valeur Increment = 1 MERCI, Bye, lecrabe
  21. Hello @Luna 1) MERCI de ton interet et de ton travail pour moi ! 2) Soit les gens selectionnent les Blocs UN par UN et ce sera bien sur l ordre de traitement -- Soit ils font une grosse selection globale (par Fenetre ou autre) et on traite dans l ordre d'arrivee des Blocs ... En principe ZERO probleme de tri !? Bye, lecrabe
  22. Hello OUI Choix de la Table OD AVANT la Vue Grille/XLS des Champs ODs ... Ainsi on pourra modifier et consulter facilement le Contenu des ODs ! Peut etre 2 colonnes supplementaires (triables bien/sur et NON modifiables a mon avis !?) au debut : Calque (LAYER) et Type Entite (Entity Type) C toi qui voit ... Et les autres ? Bye, lecrabe
  23. Hello @Luna OUI c bien le probleme ... Traiter N blocs differents DEJA inseres ayant le fameux attribut en commun (que l on ECRASE !) BON en attendant j ai trouve un Lisp "AutoTag_Attr" (que j ai un poil bricole) qui resoud en partie mon probleme ! Mais il faudrait l ameliorer un peu !? 1) Le securiser sur la selection : que des Blocs (INSERT) Facile 2) Traiter N Blocs STATIQUES ET DYNAMIQUES ET DIFFERENTS 3) Mettre toutes les questions que j ai prevues - Il y en a deja 2 + Avec des valeurs par defaut qui marchent ... 2 questions manquantes : le Pas/Increment et le Suffixe J espere que cette base te convient !? Et si on pouvait soit Cliquer sur l Attribut concerne OU donner son nom, ca serait Top !? Merci, Bye, lecrabe ;; ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/auto-populate-of-block-attributes-with-incremental-series-number/m-p/11597317 ;; ;; Routine: AutoTag_Attr by hak_vz ;; (vl-load-com) (defun c:AutoTag_Attr (/ LM:vl-setattributevalue ssBlock intIncrement startValue prefixValue objBlock attrtag) (defun LM:vl-setattributevalue ( blk tag val ) (setq tag (strcase tag)) (vl-some '(lambda ( att ) (if (= tag (strcase (vla-get-tagstring att))) (progn (vla-put-textstring att val) val) ) ) (vlax-invoke blk 'getattributes) ) ) (setq ssBlock (ssget)) (setq attrtag "XXX") (setq intIncrement 0) (setq startValue 1) (setq prefixValue "") (princ "\n------ ATTENTION : No Error Management ! ------ ") (princ "\nSo please select ONLY right Blocks and give the Start Value ! ") (setq attrtag (getstring T "\nPlease EXACT Name for the Attribute to increment : ")) (setq startValue (getint "\nSpecify Start Value : ") prefixValue (strcase (getstring t "\nSpecify Prefix : "))) (repeat (sslength ssBlock) (setq objBlock (vlax-ename->vla-object (ssname ssBlock intIncrement))) (LM:vl-setattributevalue objBlock attrtag (strcat prefixValue (rtos startValue 2 0))) (setq startValue (1+ startValue)) (setq intIncrement (1+ intIncrement)) ) (princ) )
  24. Hello Je dois etre fatigue ce matin !? J ai de nombreuses routines US et French pour incrementer des textes et/ou inserer de nouveaux blocs avec incrementation d un attribut ... MAIS A PRIORI aucune ne correspond a mon besoin specifique ! En fait j ai besoin de selectionner visuellement un ATTR (ou de donner son Etiquette d Attr au clavier) puis de selectionner N Blocs STATIQUES OU DYNAMIQUES (eventuellement DIFFERENTS) mais ayant TOUS ce fameux Attr Question Prefixe eventuel ? Question Suffixe eventuel ? Question Valeur Depart (Defaut = 1) ? Question Increment/Pas (Defaut = 1) ? TRAITEMENT ... SVP si quelqu un a la bonne routine, je suis preneur ! Merci d avance, Bonne semaine, Bye, lecrabe
  25. Hello @Olivier Eckmann ATTENTION: c Patrice "Le Penible" specialiste du CDC/CCTP qui cause ! C "pas terrible" de modifier (ou consulter) les ODs par la Palette des Proprietes ou on ne voit que le Nom du Champ OD et son Contenu SVP pourrais tu implementer un "DCL" (Nouvelle Commande: ODEDIT") ou on verrait sur 4 colonnes et N lignes/rangees : -- Le nom du Champ OD -- L eventuel Blabla Prompt du Champ OD (que l on voit avec la Commande: ADEEDITDATA) -- Son contenu -- Son type par une simple Lettre : I (Integer) / R (Real) / S (String) et le TOUT en Mode "Grille XLS" ... La grille XLS presente le contenu commun (ou "varie") des ODs des objets selectionnes (Table OD commune bien sur) comme la Palette des Proprietes Possibilite de trier en mode Ascendant / Descendant en cliquant sur le Titre des 4 colonnes (Idem MAPSHOWOD) Comme Titres je propose : Nom (Name), Infos, Contenu (Value), Type (I/R/S) Cela facilitera la saisie, consultation ... Notre Grand Maitre Olivier, voit il bien ce que je propose ?? Merci, Bye, lecrabe
×
×
  • 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é