Aller au contenu

lecrabe

Moderateurs
  • Compteur de contenus

    10 665
  • Inscription

  • Dernière visite

  • Jours gagnés

    101

Tout ce qui a été posté par lecrabe

  1. Hello Voir Titre ... SVP est ce que cette routine TRIANGULATE tourne sur ZWCad ? Elle utilise des Points 3D XYZ pour creer un MNT en 3DFaces ... Merci de vos retours ... La Sante, Bye, lecrabe ;; triangulate.lsp ;; http://elpanov.com/index.php?id=6 (defun c:triangulate (/ I L S) (princ (strcat "\n select points")) (if (setq i 0 s (ssget '((0 . "POINT"))) ) ;_ setq (progn (repeat (sslength s) (setq l (cons (cdr (assoc 10 (entget (ssname s i)))) l) i (1+ i) ) ;_ setq ) ;_ repeat (eea-delone-triangulate i l) ) ;_ progn ) ;_ if ) ;_ defun (defun eea-delone-triangulate (i1 L / A A1 A2 A3 I I2 L1 L2 L3 LP MA MI P S TI TR X1 X2 Y1 Y2 ) ;;********************************************************* ;; ;; Written by ElpanovEvgeniy ;; 17.10.2008 ;; Program triangulate an irregular set of 3d points. ;; ;;********************************************************* (if l (progn (setq ti (car (_VL-TIMES)) i 1 i1 (/ i1 100.) i2 0 l (vl-sort (mapcar (function (lambda (p) (list (/ (fix (* (car p) 1000)) 1000.) (/ (fix (* (cadr p) 1000)) 1000.) (caddr p) ) ;_ list ) ;_ lambda ) ;_ function l ) ;_ mapcar (function (lambda (a b) (>= (car a) (car b)))) ) ;_ vl-sort x2 (caar l) y1 (cadar l) y2 y1 ) ;_ setq (while l (setq a (fix (caar l)) a1 (list (car l)) l (cdr l) ) ;_ setq (while (and l (= (fix (caar l)) a)) (setq a2 (car l)) (if (<= (cadr a2) y1) (setq y1 (cadr a2)) (if (> (cadr a2) y2) (setq y2 (cadr a2)) ) ;_ if ) ;_ if (setq a1 (cons (car l) (vl-remove a2 a1)) l (cdr l) ) ;_ setq ) ;_ while (foreach a a1 (setq lp (cons a lp))) ) ;_ while (setq x1 (caar lp) a (list (/ (+ x1 x2) 2) (/ (+ y1 y2) 2)) a1 (distance a (list x1 y1)) ma (+ (car a) a1 a1) mi (- (car a) a1) s (list (list ma (cadr a) 0) (list mi (+ (cadr a) a1 a1) 0) (list (- (car a) a1) (- (cadr a) a1 a1) 0) ) ;_ list l (list (cons x2 (cons a (cons (+ a1 a1) s)))) ma (1- ma) mi (1+ mi) ) ;_ setq (while lp (setq p (car lp) lp (cdr lp) l1 nil ) ;_ setq (while l (setq tr (car l) l (cdr l) ) ;_ setq (cond ((< (car tr) (car p)) (setq l2 (cons (cdddr tr) l2))) ((< (distance p (cadr tr)) (caddr tr)) (setq tr (cdddr tr) a1 (car tr) a2 (cadr tr) a3 (caddr tr) l1 (cons (list (+ (car a1) (car a2)) (+ (cadr a1) (cadr a2)) a1 a2 ) ;_ list (cons (list (+ (car a2) (car a3)) (+ (cadr a2) (cadr a3)) a2 a3 ) ;_ list (cons (list (+ (car a3) (car a1)) (+ (cadr a3) (cadr a1)) a3 a1 ) ;_ list l1 ) ;_ cons ) ;_ cons ) ;_ cons ) ;_ setq ) (t (setq l3 (cons tr l3))) ) ;_ cond ) ;_ while (setq l l3 l3 nil l1 (vl-sort l1 (function (lambda (a b) (if (= (car a) (car b)) (<= (cadr a) (cadr b)) (< (car a) (car b)) ) ;_ if ) ;_ lambda ) ;_ function ) ;_ vl-sort ) ;_ setq (while l1 (if (and (= (caar l1) (caadr l1)) (= (cadar l1) (cadadr l1)) ) ;_ and (setq l1 (cddr l1)) (setq l (cons (eea-data-triangle p (cddar l1)) l) l1 (cdr l1) ) ;_ setq ) ;_ if ) ;_ while (if (and (< (setq i (1- i)) 1) (< i2 100)) (progn (setvar "MODEMACRO" (strcat " " (itoa (setq i2 (1+ i2))) " % " (substr (strcat "||||||||||||||||||||||||||||||||||||||||||||||||||" "||||||||||||||||||||||||||||||||||||||||||||||||||" ) ;_ strcat 1 i2 ) ;_ substr (substr "..." 1 (- 100 i2) ) ;_ substr ) ;_ strcat ) ;_ setvar (setq i i1) ) ;_ progn ) ;_ if ) ;_ while (foreach a l (setq l2 (cons (cdddr a) l2))) (setq l2 (vl-remove-if-not (function (lambda (a) (and (< mi (caadr a) ma) (< mi (caaddr a) ma)) ) ;_ lambda ) ;_ function l2 ) ;_ vl-remove-if ) ;_ setq (foreach a l2 (entmake (list (cons 0 "3DFACE") (cons 10 (car a)) (cons 11 (car a)) (cons 12 (cadr a)) (cons 13 (caddr a)) ) ;_ list ) ;_ entmake ) ;_ foreach ) ;_ progn ) ;_ if (setvar "MODEMACRO" "") (princ (strcat "\n " (rtos (/ (- (car (_VL-TIMES)) ti) 1000.) 2 4) " secs." ) ;_ strcat ) ;_ princ (princ) ) ;_ defun (defun eea-data-triangle (P1 l / A A1 P2 P3 P4 S) ;;********************************************************* ;; ;; Written by ElpanovEvgeniy ;; 17.10.2008 ;; Calculation of the centre of a circle and circle radius ;; for program triangulate ;; ;; (eea-data-triangle (getpoint)(list(getpoint)(getpoint))) ;;********************************************************* (setq p2 (car l) p3 (cadr l) p4 (list (car p3) (cadr p3)) ) ;_ setq (if (not (zerop (setq s (sin (setq a (- (angle p2 p4) (angle p2 p1))))) ) ;_ zerop ) ;_ not (progn (setq a (polar p4 (+ -1.570796326794896 (angle p4 p1) a) (setq a1 (/ (distance p1 p4) s 2.)) ) ;_ polar a1 (abs a1) ) ;_ setq (list (+ (car a) a1) a a1 p1 p2 p3) ) ;_ progn ) ;_ if ) ;_ defun ;|«Visual LISP© Format Options» (80 1 2 2 T " " 80 60 0 0 0 nil nil nil T) ;*** DO NOT add text below the comment! ***|;
  2. Hello @MDS 1) Alors il est sur que acheter une Licence AutoCAD 202X ToolSets + un Covadis ou un AutoCAD CIVIL ou un Mensura pour simplement generer un MNT Statique de 3DFaces, c completement hors de prix ! 2) Maintenant si tu as acces a un AutoCAD complet qq minutes et que tu as un fichier DXF ou DWG avec de multiples Points en XYZ, alors il existe plusieurs routines LSP (Triangulate de Elpanov par exemple) , DotNet (MNT_FACE3D de Gilles par exemple) qui vont generer un MNT SIMPLE Statique forme de N 3DFaces ... 3) Tu trouveras ci-joint la bonne vieille routine Lisp TRIANGULATE de Elpanov qui fait le boulot ! Cette routine est capable de traiter au moins 500 000 points XYZ ... 4) Cette routine Lisp tourne aussi sur ZWCAD ! La Sante, Bye, lecrabe en Vacs TRIANGULATE__Elpanov.zip
  3. Objet: Update AutoCAD 2023.1 (1.08 Go) DISPO pour TOUS les ACADs 2023 Hello https://help.autodesk.com/view/ACD/2023/FRA/?guid=AUTOCAD_2023_UPDATES La Sante, Bye, lecrabe en Vacs
  4. lecrabe

    fichier bouzillé

    Hello Est ce un PC avec AutoCAD ou AutoCAD MAP + Covadis ? Si OUI, SVP tu tapes la commande COVADIS et tu nous donnes la version exacte de Covadis ! Bye, lecrabe
  5. lecrabe

    fichier bouzillé

    Hello As tu le dernier Update ? Bye, lecrabe
  6. lecrabe

    Reprojection

    Hello Les Jeunots Je suis en Vacs ... sans AutoCAD ... Bien entendu pour la routine Lisp, il faut prendre un point "central" avant / après (par exemple coin de parcelle / batiment) de l ensemble des entités graphiques reprojetees ! Bye, lecrabe en Vacs
  7. Hello @Patrick Emin, Autodesk Alors sans réfléchir et sans mes antiques archives, éventuellement Autodesk Impression (ou autre nom proche) !? OU plutot Autodesk Architectural Studio !? La Sante, Bye, lecrabe en Vacs
  8. lecrabe

    Reprojection

    Hello @Luna @Curlygoth @William44850 Voici une routine ("PanAllVPs" dans un VPort ou dans TOUS les VPorts) que j'utilise de temps en temps ! SVP a retester avec vos DWGs ! La Sante, Bye, lecrabe en Vacs PS: Routine tiree de mon stock de 3001 routines ... ;; ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/vector-pan-on-mviews-of-layouts/td-p/9603952 ;; ;; PAN on ALL VPs (Viewports/MVIEW) of ONE Layout or on ALL VPs of ALL Layouts ;; ;; Routine: PanAllVPs by Ronjonp pour Patrice B. ;; ;; Process always ALL MVIEWs / Viewports on ALL Layouts ;; ;; Test OK sur Asnieres L1N --> L93 - Vecteur = 6733809.37<89.56 ;; ;; Cercle L1N = 596548.71,134871.36 - Cercle L93 = 647921.50,6868484.76 ;; (vl-load-com) (defun c:PanAllVPs (/ a c d f np o p1 p2 v sc x) ;; RJP » 2020-06-26 ;; Move all viewport centers from one picked point to another (setvar 'tilemode 1) (command "_undo" "_m") (if (and (setq p1 (getpoint "\nPick OLD center point: ")) (setq p2 (getpoint p1 "\nPick NEW center point: ")) (setq v (ssget "_X" '((0 . "VIEWPORT") (-4 . "!=") (69 . 1)))) (setq d (vla-get-activedocument (setq a (vlax-get-acad-object)))) ) (foreach vp (mapcar 'cadr (ssnamex v)) (cond ((vlax-write-enabled-p (setq o (vlax-ename->vla-object vp))) (setvar 'ctab (cdr (assoc 410 (entget vp)))) (cond ((> (setq c (cdr (assoc 69 (entget vp)))) 1) (and (setq f (= -1 (vlax-get o 'displaylocked))) (vlax-put o 'displaylocked 0)) (vlax-put d 'mspace -1) (setvar 'cvport c) (setq sc (vla-get-customscale o)) (setq np (polar (getvar 'viewctr) (angle p1 p2) (distance p1 p2))) (vla-zoomcenter a (vlax-3d-point np) 1.) (vla-put-customscale o sc) (and f (vlax-put o 'displaylocked -1)) (vlax-put d 'mspace 0) ) ) ) ) ) ) (princ) )
  9. Hello Les Jeunots Et si vous utilisiez une version plus recente de Super Flatten par exemple la version 2.0C !? https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dtm-lisp-extention/td-p/9311922 La Sante, Bye, lecrabe en Vacs
  10. lecrabe

    Reprojection

    Hello No Comprendo ! SVP un extrait de DWG avec tes Blocs spéciaux AutoTurn ... Attention: lors d une reprojection avec MAP ou CIVIL , SEUL le Point d Insertion du Bloc est reprojeté ! Donc il ne faut pas que le Bloc soit un bout de cadastre (îlot, quartier, section, commune, etc), ni qu il soit un Graphique important en surface ! La Sante, Bye, lecrabe en Vacs
  11. Hello As tu une Licence MAP ou CIVIL ou AutoCAD 2019-202X ToolSet (qui inclut MAP) ? Car la commande MAPCLEAN (de AutoCAD MAP ou AutoCAD CIVIL) pourrait t aider !? Bye, lecrabe
  12. lecrabe

    Reprojection

    Hello Un grand classique ton problème ! J ai une routine Lisp qui a partir d un vecteur de translation / déplacement, réalise le PAN Nécessaire dans toutes les Fenêtres FMULT de toutes les Présentations / Layouts ... C Top suite a une Reprojection avec MAP ou CIVIL Malheureusement je suis en Vacs sans mes 3001 routines ! Wait and See ... Bye, lecrabe
  13. Hello En général tout le graphisme d un Bloc est réalisé sur le calque ZERO ! Mais dans certains cas particuliers, en dessiner une partie sur 1 / N calque(s) particulier(s) est LA Solution SIMPLE ! IDEM pour certains Textes et Attributs ! Car APRES dans AutoCAD / AutoCAD LT / Autre logiciel compatible DWG et surtout en PDF, c TELLEMENT facile de faire Calque Visible / Invisible !! Par exemple j ai souvent des Blocs avec des Attributs visibles créés sur des Calques nommés : ATT__xxxxxx__yyyyyy Bye, lecrabe
  14. Hello @Apertolibro57 Tu oublies un détail : d autres logiciels de CAO (MicroStation, ZWCad, GStarCad, etc) lisent le format DWG ! Comment veux tu te protéger contre les autres logiciels de CAO compatibles AutoCAD ? ET Malheureusement Patrick_35 est DCD depuis qq années (Mars 2019) ... RIP La Sante, Bye, lecrabe
  15. Hello @(gile) A priori OUI ! Bon WE, La Santé, Bye, lecrabe PS: les PATs bossent tard et Gilles aussi !
  16. Hello Est le même bloc avec les 2 doublons ATTDEF qui est inséré environ 500 fois ? Bye, lecrabe PS: je pensais éventuellement "attaquer" le DXF au niveau de la définition du fameux bloc !? C juste une idée !
  17. Hello Veux tu un Lisp pour ajouter Prefixe / Suffixe sur 1 attribut précis et sur N blocs sélectionnés ? Si OUI voir le Lisp "Attr_TAG_Prefix_Suffix" ci-apres ... Bon WE, La Sante, Bye, lecrabe PS: routine tiree de mon stock de 3001 routines ... ;; ;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/add-prefix-suffix-to-specific-attirbute/td-p/5384349 ;; ;; Routine: Attr_TAG_Prefix_Suffix by hmsilva - Based on a Lee-Mac Routine ;; ;; Micro-Modif par Patrice B. - Demande du Nom EXACT de l Attribut : attr_tag ;; ATTENTION : le Nom de l Attribut est sensible A LA CASSE ! ;; (defun c:Attr_TAG_Prefix_Suffix (/ as el en i ss str typ attr_tag) ; (setq attr_tag "T-S") ;; Attribute Tag Name : Please modify here ! (setq attr_tag (getstring (strcat "\ATTENTION: NO Error Management - So please the EXACT Name ! \nEXACT Name of the Attribute Tag (ATTDEF) ? : "))) (initget "Prefix Suffix") (setq typ (cond ((getkword "\nAdd Prefix or Suffix? [Prefix/Suffix] <Prefix> : ")) ("Prefix") ) ) (setq str (getstring t (strcat typ " to Add: "))) (if (setq ss (ssget '((0 . "INSERT") (66 . 1)))) (repeat (setq i (sslength ss)) (setq en (ssname ss (setq i (1- i)))) (while (eq "ATTRIB" (cdr (assoc 0 (setq el (entget (setq en (entnext en))))))) (setq as (cdr (assoc 1 el))) ( if (= (setq tg (cdr (assoc 2 el))) attr_tag ) ;; ATTR_TAG (if (eq "Prefix" typ) (if (not (wcmatch as (strcat str "*"))) (entmod (subst (cons 1 (strcat str as)) (assoc 1 el) el)) ) (if (not (wcmatch as (strcat "*" str))) (entmod (subst (cons 1 (strcat as str)) (assoc 1 el) el)) ) ) ) ) ) ) (princ) )
  18. Hello Q1) As tu beaucoup de Blocs avec ces doublons de Noms (ATTDEF) d attributs ? Q2) Et dans de multiples DWGs ? Merci, Bye, lecrabe
  19. Hello MAIS @Luna n'a pas realise un Lisp special pour ce probleme !? Bye, lecrabe
  20. Hello MAIS sur les 3 Blocs inseres , il y a un GROS probleme : tu as 2 Attributs avec le MEME NOM : IDENT !! Alors que le Nouveau Bloc "7_7214" a UN SEUL IDENT !! A mon avis c la SOURCE de ton probleme !? La Sante, Bye, lecrabe
  21. Hello Mais deja si tu touches a une Definition de Bloc, il faut toujours APRES faire un ATTSYNC ou un BATTMAN ! Ainsi les "anciens" Blocs auront le Nouveau graphisme et les Nouveaux attributs !! La Sante, Bye, lecrabe
  22. lecrabe

    Mise à jour des XREFs

    Hello @Luna Tu penses que avec VISRETAINMODE = 2047 cela va resoudre le probleme !? La Sante, Bye, lecrabe
  23. lecrabe

    Mise à jour des XREFs

    Hello 1) Deja sans reflechir : VISRETAIN = 1 et XREFOVERRIDE = 1 Mais je ne pense pas que cela soit le probleme !? Attention : ces 2 variables sont stockees dans chaque DWG ! 2) REGENMODE = 1 3) Tu as quel AutoCAD exactement ? -- Quelle version: 2023/2022/etc ?? -- Et avec quel Update ??? La Sante, Bye, lecrabe
  24. Hello J'ai teste les 2 commandes 3PR et 3PRD sur mon AutoCAD MAP 2021 : no problem ! La Sante, Bye, lecrabe
  25. lecrabe

    parallèle/perspective

    Hello Je sens que @Eric a trouve !? La Sante, 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é