GEGEMATIC Posté(e) le 7 mai 2023 Partager Posté(e) le 7 mai 2023 Salut à toutes et tous, J'ai un projet où il y a beaucoup de plateformes avec peu de talus, mais beaucoup de structures différente. Donc pas besoin d'entrée en terre, mais dans un 1er temps un fichier de point avec les coordonnées x,y,z du fond de forme serai bien approprié. J'ai pas l'impression que ce soit possible de base ? a+ Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
GEGEMATIC Posté(e) le 7 mai 2023 Auteur Partager Posté(e) le 7 mai 2023 Au final, c'est simple d’avoir la liste des sommets, et c'est très simple d'avoir la profondeur totale: ;;*************************************************************************** ;;§/poly/ Délivre la liste des sommets du fond de forme d'une plateforme /nepol ;;retourne une seule liste de liste de points 3d avec le nom de la plateforme au début ;;(pw_lsomm_FF_3d_covgrading (enam)) ;;("Herisson Dallage 40cm + finition 20 cm 2" (1.99604e+06 2.23606e+06 98.4) (1.99604e+06 2.23606e+06 98.4) (1.99603e+06 2.23606e+06 99.39) (1.99604e+06 2.23606e+06 99.39) (1.99604e+06 2.23606e+06 99.39) (1.99603e+06 2.23606e+06 99.39) (1.99603e+06 2.23606e+06 99.39)) (defun pw_lsomm_FF_3d_covgrading (epol / enget ltmp res prof nom x y z) (setq enget (entget epol)) (setq nom (cdr (assoc 1 enget))) (setq prof (cdr (assoc 140 enget))) ;(mapcar 'cdr (setq prem (vl-remove-if-not '(lambda (x) (or (= 10 (car x)) (= 92 (car x)) ) ) enget ) ) ;) (foreach l prem (if (/= 92 (car l)) (setq ltmp (cons (cdr l) ltmp)) (setq res (cons (reverse ltmp) res) ltmp nil ) ) ) ;;liste points niveau fini (if ltmp (setq res (cons ltmp res)) ) (setq res (pw_flatten_list res)) (setq res (mapcar '(lambda (pt) (setq x (car pt) y (cadr pt) z (last pt)) (list x y (- z prof)) ) res)) (cons nom res) ) ;; ***************************************************************************** ;;§/listes/ ecrase une liste de liste a une liste d'élements/lst ;;non recursive, ne gère qu'un niveau ;(pw_flatten_list '((1 2)(3 4) 4.5 (5 6))) -> (1 2 3 4 4.5 5 6) ; (defun pw_flatten_list (lst / l deb) (setq deb (car lst)) (setq lst (cdr lst)) (if (not (listp deb)) (setq deb (list deb)) ) (foreach l lst (if (listp l) (setq deb (append deb l )) (setq deb (append deb (list l ))) ) ) deb ) ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant