Aller au contenu

[ RESOLU ] BLOC 2D AVEC ENTITES 3D (Z= *.* ) ==> 2D TOTAL


PHILPHIL

Messages recommandés

bonjour

je viens de récupérer un fichier *.dwg avec des blocs en 2D dans lesquels il y a des entités avec des Z ( non égal a 0.0) qui parfois bien sur ne sont pas en Z = 0.0.

auriez vous un lisp pour remettre toutes les entites d'un bloc avec un Z=0 ( en sélectionnant plusieurs blocs a la fois, qui peut le plus peu le moins )

sans etre obligé de les ouvrir un par un et de faire le lisp suivant

;;; tout en Z=ZERO
(defun c:z0 ()
  (setq osm (getvar "osmode"))
  (setq pic (getvar "pickstyle"))
  (setvar "osmode" 0)
  (prompt (strcat "\nCLIQUER SUR LES OBJETS A DEPLACER EN Z = ZERO : "))
  (setq obj nil)
  (while (null obj) (setq obj (ssget)))
  (setvar "osmode" osm)
  (setvar "PICKSTYLE" 0)
  (setvar "osmode" 0)
  (command-s "DEPLACER" obj "" "0,0,1e99" "0,0,-1e99")
  (command-s "DEPLACER" obj "" "0,0,-2e99" "0,0,0")
  (setvar "pickstyle" pic)
  (setvar "osmode" osm)
  (princ)
)

merci

Phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Hello

merci a @(gile)
 

;;; ---------------------------
;;; LES ENTITES DU BLOCS EN Z=0
;;; ---------------------------

(defun c:bloc_toutes_entites_z_0 (/                                              acdoc                                                  listblocs                                                  vlalistbloc
;;;                                                        blocks
                                                 )
  (prompt "\nCLIQUER SUR LES BLOCS POUR CHANGER TOUTES ENTITES EN Z=0  :")
  (vl-load-com)
  (setq acdoc  (vla-get-activedocument (vlax-get-acad-object))
        blocks (vla-get-blocks acdoc)
  )
  (vla-startundomark acdoc)
  (and (ssget (list (cons 0 "INSERT")))
       (progn (vlax-for b (setq vlalistbloc (vla-get-activeselectionset acdoc))
                (or (member (vla-get-effectivename b) listblocs)
                    (setq listblocs (cons (vla-get-effectivename b) listblocs))
                )
              )
              (vla-delete vlalistbloc)
              (mapcar '(lambda (e)
                         (vlax-for e (vla-item blocks e)
                           (progn (setq test123 e )
                            (vla-move e (vlax-3d-point '(0.0 0.0 1e99)) (vlax-3d-point '(0.0 0.0 -1e99)))
                            (vla-move e (vlax-3d-point '(0.0 0.0 -2e99)) (vlax-3d-point '(0.0 0.0 0.0)))
                           )
                         )
                       )
                      listblocs
              )
              (vla-regen acdoc acactiveviewport)
       )
  )
  (vla-endundomark acdoc)
  (princ)
)

Phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

hello @je56

SUPERFLATTEN_2_0C  marche impec

il règle le problème des SPLINES 3D contrairement a mon lisp.

Merci

Phil

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é