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 @Maxime10 MERCI pour le rappel de "NUM_INC" de Lee-Mac ! SVP ne pas oublier que le Lisp / VLisp "NUMBER_TYPE_AREA_Table" n est pas "de moi" , neanmoins il rend bien des services ! Cependant je suis l auteur du CDC / CCTP ... Bon WE, Bye, lecrabe
  2. Hello @ChatGris Donc tu as verifie : UCSFOLLOW et UCSVP ?? Bye, lecrabe
  3. Hello @cedricK Je t ai DEJA repondu ICI : https://forums.autodesk.com/t5/autocad-tous-produits-francais/autocad-full-2017-fichier-installation/td-p/13430575 Bye, lecrabe PS: SVP quand tu fais un DOUBLE Post, tu l indiques !! PS2: et même un TRIPLE Post avec dessein-tech, ca m enerve !!!
  4. Hello TON DWG demande du travail pour etre exploite ! 1) MTEXTs a exploser / decomposer pour avoir des textes simples 2) Le chiffre 1/2/3/4/etc (No de Lot Appart) doit etre separe du texte APPARTEMENT / CAVE / TERRASSE / BALCON 3) Les TEXTs simples APPARTEMENT / CAVE / TERRASSE / BALCON / etc sur UN Calque specifique 4) Les TEXTs simples 1/2/3/4/etc (No de Lot Appart) sur UN AUTRE Calque specifique 5) Les TEXTs simples COMMUN sur un AUTRE Calque ou ALORS avec une Polyligne autour pour les traiter !? etc Bye, lecrabe PS: je te donne "quand meme" la routine "NUMBER_TYPE_AREA_Table" ... Ainsi un développeur Lisp pourra l améliorer !? ;; ;; Routine par doaiena pour Patrice B. ;; ;; Routine: NUMBER_TYPE_AREA_Table by doaiena ;; ;; ---- Re: Lisp to Get Table with Room : Number + Type + Area ---- ;; ;; Here is a quick draft. I didn't have time to test it a lot, ;; so try it and tell me if it's working as expected. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ATTENTION : DIMZIN = 0 sinon on ne controle pas les Decimales !! ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ATTENTION : Le Style de Tableau STANDARD doit etre correct et adapte ;; (vl-load-com) (defun c:NUMBER_TYPE_AREA_Table ( / _dec dec _numLay numLay _typeLay typeLay _areaLay areaLay _polyLay polyLay ss ctr obj coords pts ss2 lay num typ area data tablePt table row col dimzinsauve oldecho ) (setq oldecho (getvar "cmdecho")) (setvar "cmdecho" 0) ;;;;;;;; Sauvegarde de DIMZIN ;;;;;;;; (setq dimzinsauve (getvar "dimzin") ) (setvar "dimzin" 0) (setq _dec "2") (setq _numLay "NUMERO") ;; Numero FACULTATIF pour le TRI / REGROUPEMENT dans le tableau (setq _typeLay "PIECE") ;; Nom / Identifiant de la PIECE (setq _areaLay "SURFACE") ;; Surface (setq _polyLay "POLYGONE") ;; Polygones (initget "0 1 2 3") (setq dec (cond ((getkword (strcat "How many decimals for the AREA [0/1/2/3] <" _dec ">: "))) (_dec))) (setq numLay (getstring (strcat "Enter layer for text number <" _numLay ">: "))) (if (= numLay "") (setq numLay _numLay)) (setq typeLay (getstring (strcat "Enter layer for text number <" _typeLay ">: "))) (if (= typeLay "") (setq typeLay _typeLay)) (setq areaLay (getstring (strcat "Enter layer for text number <" _areaLay ">: "))) (if (= areaLay "") (setq areaLay _areaLay)) (setq polyLay (getstring (strcat "Enter layer for 2D polygons <" _polyLay ">: "))) (if (= polyLay "") (setq polyLay _polyLay)) (princ "\n \nSVP verifiez AVANT que les Polylignes 2D sont parfaites : \nPas de doublon/triplon , Closes , CONTINUOUS , PLINEGEN=0 , etc ! \n \n") (if (setq ss (ssget (list (cons 0 "LWPOLYLINE") (cons 8 polyLay) (cons 70 1)))) (progn (while (not tablePt) (setq tablePt (getpoint "\nPick top left corner for the table: "))) (command "_view" "_sa" "tmp") (setq ctr 0) (repeat (sslength ss) (setq obj (vlax-ename->vla-object (ssname ss ctr))) (setq coords (vlax-safearray->list (vlax-variant-value (vla-get-coordinates obj)))) (setq pts nil) (while (> (length coords) 0) (setq pts (cons (list (car coords) (cadr coords)) pts)) (setq coords (cdr (cdr coords))) ) (command "_zoom" "_o" (ssname ss ctr) "") (if (setq ss2 (ssget "_WP" pts (list (cons 0 "Text") (cons 8 (strcat numLay "," typeLay "," areaLay))))) (progn (setq ctr2 0 num "0" typ "0" area (rtos 0 2 (atoi dec))) (repeat (sslength ss2) (setq lay (cdr (assoc 8 (entget (ssname ss2 ctr2))))) (cond ((= lay numLay) (setq num (cdr (assoc 1 (entget (ssname ss2 ctr2)))))) ((= lay typeLay) (setq typ (cdr (assoc 1 (entget (ssname ss2 ctr2)))))) ((= lay areaLay) (setq area (rtos (atof (cdr (assoc 1 (entget (ssname ss2 ctr2))))) 2 (atoi dec)))) ) (setq ctr2 (1+ ctr2)) );repeat (setq data (cons (list num typ area) data)) ));if ss2 (setq ctr (1+ ctr)) );repeat (command "_view" "_r" "tmp") (command "_view" "_de" "tmp") (if (> (length data) 0) (progn (setq data (vl-sort data '(lambda (x y) (< (atoi (car x)) (atoi (car y)))))) (setq table (vla-Addtable (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point tablePt) (+ (length data) 2) 3 10 30)) (setq row 0) (repeat (length data) (setq col 0) (repeat 3 (vla-settext table (+ row 1) col (nth col (nth row data))) (setq col (1+ col)) ) (setq row (1+ row)) );rows (vla-settext table (+ row 1) 2 (rtos (apply '+ (mapcar 'atof (mapcar 'caddr data))) 2 (atoi dec))) )) ));if ss ;;;;;;;; Restauration de DIMZIN ;;;;;;;; (setvar "dimzin" dimzinsauve) (setvar "cmdecho" oldecho) (princ) );defun
  5. Hello @AlexisF SVP tu regardes bien l image jointe ... Tu vois les Surfaces generees par la routine Lisp POLYAREA de Gilles (qui ont ete decomposees / explosees pour la routine Lisp suivante) Tu vois un CHIFFRE facultatif qui est utilise pour trier dans le tableau Tu vois un Texte (Nom de Piece) ou autre Identifiant ou Texte quelconque ET tu vois le tableau (Style Copropriete) genere par la routine Lisp "NUMBER_TYPE_AREA_Table" ... Est ce que cela te convient ?? Si c OK pour toi, SVP tu me le dis ! La routine "NUMBER_TYPE_AREA_Table" devrait etre amelioree "un poil" pour INTERPRETER le MTEXT Dynamique de la Surface (genere par POLYAREA) ainsi il ne serait plus necessaire de decomposer / exploser les Surfaces ... Facile pour un developpeur Lisp comme Didier ou Gilles ou autre ... Bye, lecrabe
  6. Hello DONC DEJA SVP tu testes cette belle routine de Gilles : POLYAREA Qui traite les objets (ayant une surface possible) et genere un champ dynamique de la Surface ... Au fait tu "regles" TEXTSIZE a une bonne hauteur avant le lancement de POLYAREA ! SVP est ce OK pour toi ? Bye, lecrabe ;; ;; PolyArea par GC - 03/03/2018 ;; ;; Micro-Modif par Patrice B. ;; ;; ------------------------------------------------------------------------------------- ;; SVP changer la Variable System TEXTSIZE AVANT d'executer la Routine ! ;; Car la routine utilise la valeur de TEXTSIZE comme Hauteur de MTEXT par defaut ... ;; ------------------------------------------------------------------------------------- ;; ;; J'ai revu les codes, le probleme venait de la methode utilisee pour placer le texte/champ sur le barycentre de la polyligne. ;; Cette methode ne fonctionnait qu'avec des polylignes. ;; ;; J'ai change cela. Le texte est desormais place au centre de la boundingbox de l'entite. ;; J'ai aussi revu les filtres de selection qui ne devraient pas etre tout à fait les memes pour l'aire et la longueur. ;; ;; Pour l'aire, je te laisse choisir entre uniquement les objets fermes, ou pas. ;; ;; Pour les longueurs, les champs sont differents pour les cercles (Circumference), les regions et mpolygons (Perimeter) ;; et n'existent pas pour les ELLIPSEs et SPLINEs, j'ai donc remplace le champ par un MTEXT simple qui affiche la longueur. ;; ;; %<\AcObjProp Object(%<\_ObjId 1181647088>%).Area \f "%lu2">% ;; %<\AcObjProp Object(%<\_ObjId 1181647088>%).Length \f "%lu2">% ;; %<\AcObjProp Object(%<\_ObjId 1181647088>%).Perimeter \f "%lu2">% ;; %<\AcObjProp Object(%<\_ObjId 1181647088>%).Circumference \f "%lu2">% ;; ;; Liste sur ELLIPSE --> Aire & Circonference ?? ;; Liste sur SPLINE --> Aire & Circonference ?? ;; ;; --- Interrogation Entite/Objet en Lisp --- ;; (entget (car (entsel)) '("*")) ;; (defun c:PolyArea (/ *error* filter ss acSpace minPt maxPt pt id str txt) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))) (or *util* (setq *util* (vla-get-Utility *acdoc*))) (defun *error* (msg) (and msg (/= msg "Fonction annulée") (/= msg "Function cancelled") (princ (strcat "Erreur: " msg)) ) (vla-EndUndomark *acdoc*) (princ) ) ;; entités fermées ;| (setq filter (list '(-4 . "<OR") '(0 . "CIRCLE,MPOLYGON,REGION") '(-4 . "<AND") '(0 . "ELLIPSE") '(41 . 0.0) (cons 42 (* 2 pi)) '(-4 . "AND>") '(-4 . "<AND") '(0 . "LWPOLYLINE") '(-4 . "&") '(70 . 1) '(-4 . "AND>") '(-4 . "<AND") '(0 . "POLYLINE") '(-4 . "&") '(70 . 1) '(-4 . "<NOT") '(-4 . "&") '(70 . 120) '(-4 . "NOT>") '(-4 . "AND>") '(-4 . "<AND") '(0 . "SPLINE") '(-4 . "&") '(70 . 9) '(-4 . "AND>") '(-4 . "OR>") ) ) |; ;; entités fermées ou ouvertes (setq filter (list '(-4 . "<OR") '(0 . "ARC,CIRCLE,LWPOLYLINE,MPOLYGON,REGION,ELLIPSE") '(-4 . "<AND") '(0 . "POLYLINE") '(-4 . "<NOT") '(-4 . "&") '(70 . 120) '(-4 . "NOT>") '(-4 . "AND>") '(-4 . "<AND") '(0 . "SPLINE") '(-4 . "&") '(70 . 8) '(-4 . "AND>") '(-4 . "OR>")) ) (prompt "Hauteur courante de MTEXT - Voir la Variable System TEXTSIZE ... \n" ) (prompt "\nPOLYAREA traite: ARC,CIRCLE,ELLIPSE,POLYLINE 2D,ELLIPSE,SPLINE,MPOLYGON,REGION \nSelectionnez les objets ou Entree pour tous ") (if (or (ssget filter) (ssget "_X" (cons (cons 410 (getvar 'ctab)) filter)) ) (progn (vla-StartUndomark *acdoc*) (setq acSpace (vla-get-Block (vla-get-ActiveLayout *acdoc*))) (vlax-for obj (setq ss (vla-get-ActiveSelectionSet *acdoc*)) (vla-GetBoundingBox obj 'minPt 'maxPt) (setq pt (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.)) (vlax-safearray->list minPt) (vlax-safearray->list maxPt) ) id (vla-GetObjectIdString *util* obj :vlax-false) str (strcat "%<\\AcObjProp Object(%<\\_ObjId " id ">%).Area \\f \"%lu2%pr1%ps[,m²]%\">%" ) txt (vla-addMText acSpace (vlax-3d-point pt) 0. str) ) (vla-put-AttachmentPoint txt acAttachmentPointMiddleCenter) (vla-put-insertionPoint txt (vlax-3d-point pt)) ) (vla-Delete ss) ) ) (*error* nil) )
  7. Hello J essaye de resumer : -- Tu as un DWG en METRE -- Tu as des Polylignes 2D (sur un Calque specifique) avec un Texte SIMPLE "Identifiant" (sur un Calque specifique) a l interieur PARTOUT -- TU veux la Surface en M2 (au fait 1 ou 2 decimales ?) -- TU veux un tableau avec le Listing des pieces (Identifiants + Surfaces + Le total general) Ai je bien compris ? Bye, lecrabe
  8. Hello Je pense que des clients sont restes avec la version v17.1i ou v18.0e afin de garder le bon vieux dongle USB !? Bye, lecrabe
  9. Hello Merci pour tes Infos : la limite à 10 DWGs Au fait tu es avec quelle version de MAP + Quel Update ? Des que je peux je prevois un test pour voir ?! Bye, lecrabe
  10. Hello 1) As tu ouvert tes 18 DWGs en mode RECUPERER, corrige les éventuelles erreurs, re-enregistre ? 2) As tu mis tes 18 DWGs dans un dossier SIMPLE du genre : C:\TRAV ? 3)Tes 18 DWGs ont ils un nom SIMPLE (A-Z , 0-9 , - , _ ) ? Bye, lecrabe
  11. Hello @angelique Tu cherches la fameuse Routine Lisp "RINS" de notre regrette Patrick_35 ! Bye, lecrabe
  12. Hello @AlexisF Voici la routine BlocSelonVue.vlx ... SVP tu nous dis si c OK pour toi ? Bye, lecrabe ---- Infos ---- Nom de la commande : "BlocSelonVue" Permet de faire pivoter un bloc (avec attributs) pour l'afficher FACE A une vue donnee (Haut, Avant, Droite, Gauche ou la vue Courante) sans modifier ses coordonnees ! Demarche : - Faire un glisser-deposer du fichier 'BlocSelonVue.VLX' dans l'espace objet de votre dessin OU charger la routine .VLX avec la commande: APPLOAD <entree> - Taper la commande BLOCSELONVUE en ligne de commande - Taper le nom du bloc à traiter - Choisir la vue - Selectionner les blocs a modifier - Valider BlocSelonVue.zip
  13. Hello Et si je me souviens bien, on peut dépasser les 255 Presentations / Layouts par la Génération d Atlas automatique de MAP (ou CIVIL) !? Bye, lecrabe
  14. Hello @TUAU https://georezo.net/forum/viewtopic.php?pid=372549#p372549 SVP tu récupères la Routine Lisp "Sel_by_OD" (MERCI a Bruno) ... Et bien d autres routines intéressantes ! Sinon voici un lien valable 30 jours pour la Routine "Sel_by_OD" : https://transfert.free.fr/YAg4Lfy ET sinon voici le lien pour la fabuleuse DLL de Olivier Eckmann sur les Données d Objet (Object Data) https://apps.autodesk.com/MAP3D/fr/Detail/Index?id=7146835859656784994&appLang=fr&os=Win64&_ga=2.161926708.964482210.1744034276-813488804.1742806354 Bye, lecrabe
  15. Hello Waouh j en ai bouffe de l Assembleur 8 bits 8080/8085 et Z80 dans les annees 80 ! Et aussi des cartes perforees en Cobol et Fortran ! Bon WE, Bye, lecrabe
  16. Hello As tu le REVIT 2024.3.1 Update (1.4 Go) de novembre 2024 ? A priori je ne crois pas ! Bye, lecrabe
  17. Hello Svp tu as quel Update sur ton REVIT 2024 ? Bye, lecrabe
  18. Hello https://www.linkedin.com/posts/activity-7310990430593048577-bf0v?utm_source=share&utm_medium=member_android&rcm=ACoAADSpXUsBL8-T0r0yFdomVnwprUrLrQxNF9E Bye, lecrabe
  19. Hello @philsogood BOF le probleme c que sur un simple Zoom / Pan (ou autre commande "non impactante"), ACAD va proposer d enregistrer alors que RIEN n a ete modifie dans le DWG ! Tu peux eventuellement "planquer" qq part un champ dynamique : Variable System / loginname ... Ainsi tu sauras quel Login Windows a realise le dernier "Enregistrer" ! TU peux aussi "enclencher" la variable system LOGFILEMODE !? ( Dans ce cas, voir aussi LOGFILEPATH et LOGFILENAME ) Bye, lecrabe
  20. Hello As tu besoin du module VRD (Voirie conception routière et Réseaux Divers) de Covadis ? Bye, lecrabe
  21. Hello On garde le format DWG2018 : MERCI ! Par contre on a perdu les fonds de carte BingMaps et donc on a seulement les Fonds de carte ESRI comme avec la 2025 ! En théorie BingMaps devrait fonctionner jusqu en 2028 mais Autodesk a décidé d arrêter en 2025 avec la version 2026 ! Bien entendu les "anciens" DWGs avec les cartes BingMaps activees fonctionnent et affichent toujours les cartes BM ... DONC SVP veuillez garder une 2025, 2024, 2023, etc ... https://help.autodesk.com/view/ACD/2026/ENU/?guid=GUID-FAB1960D-49C1-4A12-B128-5511F7889AB9 https://help.autodesk.com/view/ACD/2026/ENU/?guid=GUID-4A458300-2D7E-401F-8B6A-7A6129E4DDAB https://help.autodesk.com/view/ACD/2026/ENU/?guid=GUID-037BF4D4-755E-4A5C-8136-80E85CCEDF3E ---- ACAD 2026 French ---- https://help.autodesk.com/view/ACD/2026/FRA/ ---- ACAD LT 2026 French ---- https://help.autodesk.com/view/ACDLT/2026/FRA/ ---- AutoCAD MAP 2026 ---- https://help.autodesk.com/view/MAP/2026/ENU/?guid=GUID-6A5D1296-483C-41C2-83C1-44AA5DA77FFB ---- AutoCAD PLANT 2026 ---- https://help.autodesk.com/view/PLNT3D/2026/ENU/?guid=GUID-384C71E7-9012-48B1-95B2-D4C42EBCF423 ---- AutoCAD Architectural 2026 ---- https://help.autodesk.com/view/ARCHDESK/2026/ENU/ ---- AutoCAD MEP 2026 ---- https://help.autodesk.com/view/BLDSYS/2026/ENU/?guid=GUID-E833B312-0F36-447D-B2A6-1F7F36CEABD2 ---- AutoCAD Electrical 2026 ---- https://help.autodesk.com/view/ACAD_E/2026/ENU/?guid=GUID-9FE2D1C0-E1F2-414F-8672-43E001814EBE ---- AutoCAD Mechanical 2026 ---- https://help.autodesk.com/view/AMECH_PP/2026/ENU/?guid=GUID-7258AC18-B4D4-4B03-A61C-6C68893FA0EA ---- System Requirements for AutoCAD 2026 (& ToolsSets) ---- https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/System-requirements-for-AutoCAD-2026-including-Specialized-Toolsets.html ---- Les Nouveautes d AutoCAD 2026 sur Village-BIM ---- https://village-bim.fr/2025/03/autocad-2026-est-disponible-quelles-nouveautes/ ---- Les Nouveautes d AutoCAD CIVIL 3D 2026 sur Village-BIM ---- https://village-bim.fr/2025/04/nouveautes-civil-3d-2026/ En attendant la suite ... Bye, lecrabe
  22. Hello @FredGL MAIS quand tu selectionnes N hachures, tu as automatiquement en bas de la case de dialogue Proprietes : la surface TOTALE ! Bye, lecrabe
  23. Hello @FredGL En fait il faudrait avoir au minimum AutoCAD LT 2024 pour faire tourner 90% des Lisp / VLisp pour AutoCAD ! Avec un AutoCAD LT 20xx-2023, j ai une Macro sur la Longueur (et non pas l Aire / Surface) de Eric Guelen : a adapter / a verifier !? Et ici, tu regardes la video d Eric qui illustre les 3 Macros : https://forums.autodesk.com/t5/autocad-tous-produits-francais/additionner-longueur-polylignes-lt2020/td-p/9448135 SVP si tu reussis, tu nous donnes la solution ! Bye, lecrabe >> J'ai construit les macros sous une version pleine, et j'avais "zappé" que pour une version LT, seules les variable USERS1-5 sont accessibles. >> Voici la correction présumée (3 boutons / 3 Macros) , sans pouvoir tester sous un AutoCAD LT : >> ^C^C_.users1;0.0;_.text;_justify;_right;\\0.0;Récapitulatif;^Z >> *^C^C_.area;_object;\_.users1;$M=$(+,$(getvar,users1),$(rtos,$(getvar,perimeter),2,2));_.text;;$(rtos,$(getvar,perimeter),2,2); >> ^C^C$M=$(if,$(!=,$(getvar,users1),0.0),_.text;;Total=$(getvar,users1);)^Z >> NB: Toujours sur 1 seule ligne, et bien vérifier qu'aucun espace ne s'est glissé lors du copier-coller !!
  24. Hello @FredGL Mais tu as quoi : AutoCAD ou AutoCAD LT ? Et en quelle version : 2025 / 2024 / 2023 / 2022 ?? Bye, lecrabe
  25. Hello NON SVP : 2025, 2024, 2023, 2022, ?? Et c bien AutoCAD et non pas AutoCAD LT !? 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é