yann69690 Posté(e) le 22 juin 2022 Posté(e) le 22 juin 2022 Bonjour, Je cherche un autre Lisp ou façon de faire pour supprimer des éléments en dehors d'un cadre (par exemple pour un cadastre mais ça peut être toute sorte). J'utilise quand elle marche un Lisp que j'avais récupére qui bug parfois (je ne sais pas trop pourquoi d'ailleurs on dirait qu'elle n'aime pas certaines polylignes 3D mais pas sure . Merci par avance. Exemple de plan ou elle bug tant qu'à faire, ci-joint. Screenshot quand le Lisp tourne en boucle Cordialement PolErase (effacer element delimiter hors d'un bordure - recadre fenetre - cut).lsp cadastre.dwg Citer
Luna Posté(e) le 22 juin 2022 Posté(e) le 22 juin 2022 Coucou, Là comme chat sans réfléchir, je pense à la commande XDELIM qui permet de restreindre l'affichage d'une XREF ou d'une référence de bloc mais pour le cas où la zone à restreindre n'est pas une référence externe ou bloc, je ne sais pas trop...Peut-être simplement en utilisant la commande AJUSTER (_TRIM) et l'option Trajet (_Fence) ? Bisous, Luna Citer
yann69690 Posté(e) le 22 juin 2022 Auteur Posté(e) le 22 juin 2022 Salut Luna, C'est pas un bloc malheureusement après c'est pas compliqué non plus de le mettre en tant que telle, mais pas top pour récuperer les longueurs etc. j'ai pas l'option trajet, ni cette commande, c'est le lasso?, ajuster et effacer ne fait pas très bien le taf avec le lasso car il faut que dans le lasso il y est tout Merci pour ton aide quand meme, c'est quand meme une fonction simple, en gros il faudrait une commande union (entre une surface créeer par la polyligne et le cadastre derrière) cdlt Citer
yann69690 Posté(e) le 22 juin 2022 Auteur Posté(e) le 22 juin 2022 A priori, il y a aussi la commande extrim de express tool, mais elle fait bug mon autocad (d'ailleurs fonction présente sur autocad 2023 mais pas 2022). est ce aussi le cas avec mon dessin chez vous? Citer
lecrabe Posté(e) le 22 juin 2022 Posté(e) le 22 juin 2022 Hello @yann69690 1) Pas sur d avoir tout bien compris !? 2) En resume ton probl est-il bien : Delimiter du DWG par un LWPolyligne 2D ? Un peu comme la commande AJUSTER !? En eleminant ou coupant ce qui est a l exterieur ?? 3) As tu acces a un AutoCAD MAP ou AutoCAD CIVIL ?? 4) As tu bien TOUS les Updates sur ton AutoCAD 202X ?? La Sante, Bye, lecrabe Citer Autodesk Expert Elite Team
yann69690 Posté(e) le 22 juin 2022 Auteur Posté(e) le 22 juin 2022 Bonjour @lecrabe, 1) le but c'est de réduire le cadastre importé (via un SIG donc bizarre avec des polyligne3D entre autre mais je ne pense pas que ça soit cela qui fasse bugger) 2) oui tracer un rectangle ou polyligne et supprimer tout ce qui est exterieure du cadre (mais coupure sur ce cadre) oui pour ajuster, d'ailleurs je viens de ressayer cela fonctionne mais pas tres rapide et surtout si une polyligne appartient à l'intérieure et extérieure du cadre, il la supprime mais c'est une solution intermédiaire car au moins elle ne bug pas 3)nop dommage pour moi 4) euh j'en ai jamais installé (j'ai AutoCAD 2023 T53.0.0), il y en a après j'imagine, tu pense que cela peut venir de la. Avez vous essayer le Lisp fournis en exemple, il bloque chez vous? Merci, Cdlt Citer
lecrabe Posté(e) le 22 juin 2022 Posté(e) le 22 juin 2022 Hello 1) J utilise pour effacer en mode Capture (Attention au Mode Capture) a l exterieur (Outside) ou a l interieur (Inside) par rapport a UNE LWPolyline "normale / segmentee" la routine Lisp/VLisp "EIO" qui rend bien des services ... 2) Bien sur, ce n'est pas un TRIM / AJUSTER qui me semble etre ton besoin !? 3) Si tu as une licence AutoCAD 2019-202X Toolset alors tu as droit a AutoCAD MAP et dans AutoCAD MAP, il y a une commande specifique MAPTRIM qui devrait plus correspondre a ta demande ... 4) Ton AutoCAD 2023 devrait afficher sur la commande APROPOS / _ABOUT : T.72.0.0 AutoCAD 2023.0.1 La Sante, Bye, lecrabe ;; ;; https://www.cadtutor.net/forum/topic/19784-erase-objects-outside-of-boundary-polyline/ ;; (vl-load-com) (defun c:EIO (/ _p2ss o ent ssIn ssOut) ;; Erase Inside/Outside of selected LWPolyline (objects touching LWPolyline are deleted) ;; Alan J. Thompson, 04.02.10 ; (or *EIO:Opt* (setq *EIO:Opt* "Inside" )) (or *EIO:Opt* (setq *EIO:Opt* "Outside")) (setq _p2ss (lambda (ename) (ssget "_CP" ((lambda (e / l) (foreach x e (and (eq 10 (car x)) (setq l (cons (cdr x) l)))) (reverse l) ) ;_ lambda (entget ename) ) ) ;_ ssget ) ;_ lambda ) ;_ setq (and (setq o (car (entsel "\nSelect LWPolyline: "))) (or (eq "LWPOLYLINE" (cdr (assoc 0 (setq ent (entget o))))) (alert "Invalid object!") ) ;_ or (not (initget 0 "Inside Outside")) (setq *EIO:Opt* (cond ((getkword (strcat "\nSpecify erase option [Inside/Outside] <" *EIO:Opt* ">: "))) (*EIO:Opt*) ) ;_ cond ) ;_ setq (cond ((and (eq *EIO:Opt* "Inside") (setq ssIn (_p2ss o))) ((lambda (i) (while (setq e (ssname ssIn (setq i (1+ i)))) (or (eq o e) (vl-catch-all-apply (function entdel) (list e))) ) ;_ while ) ;_ lambda -1 ) ) ((eq *EIO:Opt* "Outside") (setq ssIn (_p2ss o) ssOut (ssget "_X" (list (cons 410 (getvar 'ctab)))) ) ;_ setq ((lambda (i) (while (setq e (ssname ssOut (setq i (1+ i)))) (if ssIn (or (ssmemb e ssIn) (eq o e) (vl-catch-all-apply (function entdel) (list e))) (or (eq o e) (vl-catch-all-apply (function entdel) (list e))) ) ;_ if ) ;_ while ) ;_ lambda -1 ) ) ) ;_ cond ) ;_ and (princ) ) ;_ defun Citer Autodesk Expert Elite Team
je56 Posté(e) le 22 juin 2022 Posté(e) le 22 juin 2022 Bonjour à tous, petite question peut être stupide mais ça ne serait pas plus simple de délimiter directement dans un SIG type QGIS avant import dans autocad? Eric Citer
yann69690 Posté(e) le 22 juin 2022 Auteur Posté(e) le 22 juin 2022 Il y a 2 heures, je56 a dit : Bonjour à tous, petite question peut être stupide mais ça ne serait pas plus simple de délimiter directement dans un SIG type QGIS avant import dans autocad? Eric Bonjour Eric, C'est pas moi qui fait cette partie dur geomap (de souvenir), deja la ils viennent de me faire un export de chaque couche en .dgn, je sens que je vais rigoler alors qu'avant tout était rassembler en dxf mais au plan de la ville... @lecrabe, Merci je vais tester ce Lisp. Bonne journée, Cordialement Citer
yann69690 Posté(e) le 23 juin 2022 Auteur Posté(e) le 23 juin 2022 Bonjour @lecrabe EIO est rapide mais les polylignes qui les traversnt le cadre sont gardées. Mais le combo c'est tracer le rectangle puis extrim (avec un point a l'extérieure qui coupe l'ensemble des lignes sur le rectangle) puis EIO outside, et la c'est parfait quand ça marche sinon des fois ça bloque mais rend la main avec la touche Echap donc parfait... Merci Citer
Messages recommandés