Aller au contenu

Messages recommandés

Posté(e)

Y a pas longtemps, au hasard d'une recherche, j'ai découvert un poste où je t'avais expliqué qu'on pouvait utiliser une fonction qui s'appelait grread :cool:

T'avais dit "faudra que je me penche là-dessus".

Ce à quoi je réponds que t'es tombé dedans à force de te pencher.

Ca m'a fait penser avec nostalgie à mes propres débuts avec le breton juste au dessus, là et Didier qui changeaient mes couches et me donnaient le biberon !

Le temps dire ouf et tu m'as dépassé tout comme moi même je n'ai jamais vraiment dépassé les personnages sus-cités. Sauf peut-être en ObjectDCL que j'ai l'impression d'être le seul à utiliser (et qui n'a rien de compliqué).

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
  • Réponses 60
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Posté(e)

Y a pas longtemps, au hasard d'une recherche, j'ai découvert un poste où je t'avais expliqué qu'on pouvait utiliser une fonction qui s'appelait grread :cool:

Je me souviens, c'était mon premier message sur CADxp...

 

Sinon, on se fout de qui dépasse qui ou pas, l'essentiel est d'apprendre et le domaine est tellement vaste que même pour ceux qui sont le plus avancés il y a toujours des zones d'ombre et des zone mieux éclaircies en fonction des besoins et des envies de chacun...

 

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

 

Hello

 

Je suis un peu desespere car les 2 versions de PENTE-MNT fonctionnent bien

sur mon DWG de test et le PF3D de Gilles dessine rien du tout avec Zero erreur !

 

Et ce que je sois en Degres ou en Grades !

 

Le Decapode

 

 

Autodesk Expert Elite Team

Posté(e)
Sinon, on se fout de qui dépasse qui ou pas,

 

Oh, je suis pas d'accord, moi ca m'interesse. Evidemment ca ne veut pas tout dire. Mais par exemple, hors d'un forum (où la présence de tous est possible), si j'ai une question dans un domaine, je cherche au contraire à connaitre le niveau de celui qui me répond.

C'est sur, un forum aplanit les différences au niveau de l'accès puisqu'il est le même pour chacun.

 

Hoppla, je laisse la place aux écoulements.

 

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)
Sinon, on se fout de qui dépasse qui ou pas

Sur le principe, je suis d'accord, mais je rejoins aussi Tramber quant à connaître le niveau de chacun.

A ma connaissance, tu n'as pas beaucoup de personnes qui pourraient maintenant t'en apprendre d'avantage (à part peut-être Serge Camiré, Elpanov Evgeniy, T.Willey)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Je pense souvent à Serge, que j'ai eu l'honneur de rencontrer IRL. Ces bouquins sont les meilleurs, un gars hors catégorie.

Il s'est embrouillé avec son associé il y a 3 ou 4 ans je crois maintenant. C'est dommage. Une société francophone dédiée à la prog et à la publication de livres comme aucune autre dans le monde francophone.

Et je pense qu'il a du voler vers d'autres horizons, finir sa carrière en tant qu'employé ou en conseil mais plus à 100% dans AutoCAD.

 

J'ai acquis du niveau (reacteurs, manips XL et autres, Visualisp de manière générale) grâce à vous tous, y compris de gens moins expérimentés que moi en apparence. Et je pense pouvoir aller très loin quand c'est demandé par mon client. J'y arrive.

Pourtant je me suis discipliné à n'aider que les très débutant ici. Mon côté brouillon et aussi mon manque de temps. Je peux me concentrer pour un message sur CADxp, mais pas trop pour un lisp, le téléphone sonne trop souvent et j'ai trop pris l'habitude de routines persos un peu bidouillées et non adjoignables.

 

Mais je suis davantage multi-logiciels, multi-métiers, dessinateur aussi. Alors je ne vois aucun inconvénient qu'une personne plus programmeuse, plus stable dans sa carrière de lispeur soit meilleure que moi, loin devant.

Au contraire, ca me donne donc du plaisir de pouvoir la rattraper parfois (c'est à dire penser à une réponse aussi bonne ou une solution de même qualité) !

Et puis c'est très rassurant, au cas où.

 

Hoppla encore, désolé pour les bassins versants !

 

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Hello

 

Je suis un peu desespere car les 2 versions de PENTE-MNT fonctionnent bien

sur mon DWG de test et le PF3D de Gilles dessine rien du tout avec Zero erreur !

 

Et ce que je sois en Degres ou en Grades !

 

Le Decapode

 

 

Procédons avec méthode :

Les degrés ou grades n'ont aucune importance le LISP ne fonctionne qu'avec des radians (pas d'utilisation de (command ...))

 

Excepté pour la création du calque et du bloc (sont-ils bien créés s'ils n'existent pas ?), il n'y a que deux test (if ...) qui pourraient faire avorter la routine sans provoquer d'erreur.

Le premier teste la validité du jeu de sélection (3DFACE), mais si ça fonctionne avec les PENTE-MNT, ça ne peut pas venir de là.

Le second contient plusieurs conditions dans un groupe (and ...) et il suffit qu'une des conditions ne soit pas remplie pour que le bloc ne soit pas inséré.

Parmi ces conditions, celle qui pourraient retourner nil (et donc faire arrêter le processus) sont :

 

;; contrôle si la face 3d est triangulaire
(equal (cdr (assoc 13 elst)) p3 1e-9)

Suivant comment ont été faites les faces 3d, elles pourraient ne pas être rigoureusement triangulaire (le 4èmme point pas complètement confondu avec le 3ème).

Cette ligne peut être "commentée" avec un point virgule.

 

;; normale de la face
(setq no (norm_3pts p1 p2 p3))

La routine norm_3pts retourne nil si les 3 points sont alignés. Ce serait étonnant que ce soit le cas pour toutes les faces 3d...

 

;; vecteur de plus grande pente
  (setq
    pgp
     (vunit (ilp no
		 (list (car no) (cadr no) (- (caddr no) 1.))
		 '(0 0 0)
		 no
	    )
     )
  )

La routine ilp retourne nil s'il n'y a pas d'intersection entre la droite et le plan. Mais dans ce cas (vunit nil) devrait retourner un erreur (ce qui me fait m'apercevoir avec horreur que ce contrôle est mal implémenté et provoquera une erreur avec les faces verticales... Copie à revoir)

 

Essaye déjà de recopier le code, de tester si le bloc est bien créé et s'il est à une dimension visible par rapport à l'échelle de ton dessin (il fait 2 unités de long), puis essaye en commentant l'expression citée ci dessus (mais j'ai des doutes...)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Pour le fun, une nouvelle version qui fait des flèches de couleurs différentes suivant le pourcentage (comme sur l'image de lili2006) et permet d'insérer une légende (mtexte multicolore, hauteur et style courant)

 

Nouvelle version :

- optimisation du calcul de la plus grande pente

- division en 2 faces triangulaires des faces quadrilatérales

- réparé un bug (division par 0.0) avec les faces verticales

- l'utilisateur spécifie la longueur des flèches

 

Nouvelle version : remplacé Quad2Tri par Triang3dFace

 

;; PF3D (gile)
;; Insère le bloc "PENTE" sur toutes les faces 3d sélectionnées

(defun c:PF3D (/    size n    ss   ent	new  elst p1   p2   p3	 cg
       no   pgp	 lst  minp maxp	moy  l0	  l1   l2   l3	 l4
       l5   l6	 l7   l8
      )
 (initget 5)
 (setq size (getdist "\nTaille des flèches: "))
 ;; Création du calque s'il n'existe pas
 (if (not (tblsearch "LAYER" "PENTE-FLECHE"))
   (entmake '((0 . "LAYER")
       (100 . "AcDbSymbolTableRecord")
       (100 . "AcDbLayerTableRecord")
       (2 . "PENTE-FLECHE")
       (70 . 0)
       (62 . 3)
       (6 . "Continuous")
      )
   )
 )

 ;; Création du bloc s'il n'existe pas
 (if (not (tblsearch "BLOCK" "PENTE-FLECHE"))
   (progn
     (entmake
'((0 . "BLOCK")
  (100 . "AcDbEntity")
  (8 . "0")
  (100 . "AcDbBlockBegin")
  (2 . "PENTE-FLECHE")
  (70 . 2)
  (10 0.0 0.0 0.0)
 )
     )
     (entmake
'((0 . "LINE")
  (8 . "0")
  (62 . 0)
  (10 -0.5 0. 0.)
  (11 0.5 0. 0.)
 )
     )
     (entmake
'((0 . "LINE")
  (8 . "0")
  (62 . 0)
  (10 0.5 0. 0.)
  (11 0.25 0.1 0.)
 )
     )
     (entmake
'((0 . "LINE")
  (8 . "0")
  (62 . 0)
  (10 0.5 0. 0.)
  (11 0.25 -0.1 0.)
 )
     )
     (entmake '((0 . "ENDBLK") (8 . "0")))
   )
 )

 ;; Traitement du jeu de sélection
 (if (and (setq n  -1
	 l0 0
	 l8 0
	 ss (ssget '((0 . "3DFACE")))
   )
     )
   (while (setq ent (ssname ss (setq n (1+ n))))
     ;; si la face a 4 sommets elle est divisée
     (if (setq new (Triang3dFace ent))
(ssadd new ss)
     )
     (setq elst (entget ent)
    p1	 (cdr (assoc 10 elst))
    p2	 (cdr (assoc 11 elst))
    p3	 (cdr (assoc 12 elst))
     )
     (if
(and
  (setq	cg (mapcar
	     '(lambda (x1 x2 x3) (/ (+ x1 x2 x3) 3.))
	     p1
	     p2
	     p3
	   )
  )
  ;; normale de la face
  (setq no (v^v (mapcar '- p2 p1) (mapcar '- p3 p1)))
  (setq	no (if (minusp (caddr no))
	     (mapcar '- no)
	     no
	   )
  )
)
 (if (setq pgp (vpgp no))	; vecteur de plus grande pente
   (if
     (entmake
       (list '(0 . "INSERT")
	     '(2 . "PENTE-FLECHE")
	     '(8 . "PENTE-FLECHE")
	     (cons 10 (trans cg 0 no))
	     (cons 50 (angle '(0. 0. 0.) (trans pgp 0 no)))
	     (cons 41 size)
	     (cons 42 size)
	     (cons 43 size)
	     (cons 210 no)
       )
     )
      (if (equal pgp '(0. 0. -1.) 1e-9)
	(setq l8 (1+ l8))
	(setq lst
	       (cons
		 (cons
		   (entlast)
		   (* -100.
		      (/ (caddr pgp)
			 (distance '(0. 0.) (list (car pgp) (cadr pgp)))
		      )
		   )
		 )
		 lst
	       )
	)
      )
   )
   (setq l0 (1+ l0))
 )
     )
   )
 )
 (setq	minp (if (< 0 l0)
       0.
       (apply 'min (mapcar 'cdr lst))
     )
maxp (apply 'max (mapcar 'cdr lst))
moy  (/ (- maxp minp) 7.)
 )
 (foreach l '(l1 l2 l3 l4 l5 l6 l7) (set l 0))
 (foreach p lst
   (cond
     ((<= (cdr p) (+ minp moy))
      (setq l1 (1+ l1))
      (entmod (append (entget (car p)) (list '(62 . 1))))
     )
     ((<= (cdr p) (+ minp (* 2 moy)))
      (setq l2 (1+ l2))
      (entmod (append (entget (car p)) (list '(62 . 2))))
     )
     ((<= (cdr p) (+ minp (* 3 moy)))
      (setq l3 (1+ l3))
      (entmod (append (entget (car p)) (list '(62 . 3))))
     )
     ((<= (cdr p) (+ minp (* 4 moy)))
      (setq l4 (1+ l4))
      (entmod (append (entget (car p)) (list '(62 . 4))))
     )
     ((<= (cdr p) (+ minp (* 5 moy)))
      (setq l5 (1+ l5))
      (entmod (append (entget (car p)) (list '(62 . 5))))
     )
     ((<= (cdr p) (+ minp (* 6 moy)))
      (setq l6 (1+ l6))
      (entmod (append (entget (car p)) (list '(62 . 6))))
     )
     (T
      (setq l7 (1+ l7))
      (entmod (append (entget (car p)) (list '(62 . 7))))
     )
   )
 )
 (if (setq pt (getpoint "\nPoint d'insertion de la légende: "))
   (entmake
     (list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
'(8 . "LEGENDE")
'(100 . "AcDbMText")
(cons 10 (trans pt 1 0))
(cons 1
      (strcat
	"{\\C1;de "
	(rtos minp)
	"% à "
	(rtos (+ minp moy))
	"% ("
	(itoa l1)
	" faces)\\P\\C2;de "
	(rtos (+ minp moy))
	"% à "
	(rtos (+ minp (* 2 moy)))
	"% ("
	(itoa l2)
	" faces)\\P\\C3;de "
	(rtos (+ minp (* 2 moy)))
	"% à "
	(rtos (+ minp (* 3 moy)))
	"% ("
	(itoa l3)
	" faces)\\P\\C4;de "
	(rtos (+ minp (* 3 moy)))
	"% à "
	(rtos (+ minp (* 4 moy)))
	"% ("
	(itoa l4)
	" faces)\\P\\C5;de "
	(rtos (+ minp (* 4 moy)))
	"% à "
	(rtos (+ minp (* 5 moy)))
	"% ("
	(itoa l5)
	" faces)\\P\\C6;de "
	(rtos (+ minp (* 5 moy)))
	"% à "
	(rtos (+ minp (* 6 moy)))
	"% ("
	(itoa l6)
	" faces)\\P\\C7;de "
	(rtos (+ minp (* 6 moy)))
	"% à "
	(rtos maxp)
	"% ("
	(itoa l7)
	" faces)}"
	(if (< 0 l0)
	  (strcat "\n" (itoa l0) " faces horizontales")
	  ""
	)
	(if (< 0 l8)
	  (strcat "\n" (itoa l0) " faces verticales")
	  ""
	)
      )
)
     )
   )
 )
 (princ)
)

;; V^V
;; Retourne le produit vectoriel (vecteur) de deux vecteurs
;;
;; Arguments : deux vecteurs

(defun v^v (v1 v2)
 (list	(- (* (cadr v1) (caddr v2)) (* (caddr v1) (cadr v2)))
(- (* (caddr v1) (car v2)) (* (car v1) (caddr v2)))
(- (* (car v1) (cadr v2)) (* (cadr v1) (car v2)))
 )
)

;; VUNIT
;; Retourne le vecteur unitaire d'un vecteur
;;
;; Argument : un vecteur

(defun vunit (v)
 ((lambda (l)
    (if (/= 0 l)
      (mapcar (function (lambda (x) (/ x l))) v)
    )
  )
   (distance '(0 0 0) v)
 )
)

;; VPGP
;; Retourne le vecteur unitaire de plus grande pente du plan
;; défini par sa normale (nil si le plan est horizontal)
;;
;; Argument : le vecteur normal du plan

(defun vpgp (norm)
 (if (/= 0 (caddr norm))
   ((lambda (d)
      (vunit
 (list (car norm) (cadr norm) (/ (* d d) (- (caddr norm))))
      )
    )
     (distance '(0. 0.) (list (car norm) (cadr norm)))
   )
   '(0. 0. -1.)
 )
)

;; Triang3dFace
;; Divise une face3d quadrilatérale en 2 faces 3d triangulaires ou 'normalise'
;; la face triangulaire (3ème et 4ème sommets confondus)
;; Retourne le ename de la nouvelle face créée ou nil si la face était triangulaire
;;
;; Argument : une face 3d (ENAME)

(defun Triang3dFace	(f3d / p1 p2 p3 p4)
 (setq	elst (entget f3d)
p1   (cdr (assoc 10 elst))
p2   (cdr (assoc 11 elst))
p3   (cdr (assoc 12 elst))
p4   (cdr (assoc 13 elst))
 )
 (cond
   ((equal p3 p4 1e-9) nil)
   ((equal p1 p2 1e-9)
    (entmod (subst (cons 11 p3)
	    (assoc 11 elst)
	    (subst (cons 12 p4) (assoc 12 elst) elst)
     )
    )
    nil
   )
   ((equal p1 p4 1e-9)
    (entmod (subst (cons 13 p3) (assoc 13 elst) elst))
    nil
   )
   (T
    (if (< (distance p2 p4) (distance p1 p3))
      (progn
 (entmod
   (subst (cons 12 p4) (assoc 12 elst) elst)
 )
 (entmakex
   (subst (cons 10 p2)
	  (assoc 10 elst)
	  (subst (cons 11 p3)
		 (assoc 11 elst)
		 (subst (cons 12 p4) (assoc 12 elst) elst)
	  )
   )
 )
      )
      (progn
 (entmod (subst (cons 13 p3) (assoc 13 elst) elst))
 (entmakex
   (subst (cons 11 p3)
	  (assoc 11 elst)
	  (subst (cons 12 p4) (assoc 12 elst) elst)
   )
 )
      )
    )
   )
 )
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Fantastique Gile

Pour le fun, une nouvelle version qui fait des flèches de couleurs différentes suivant le pourcentage (comme sur l'image de lili2006) et permet d'insérer une légende (mtexte multicolore, hauteur et style courant)

C'est très intéressant les légendes et les différentes couleurs, heiureusement pour nous que ce n'est uniquement pour le fun.

 

Merci encore Maître [Edité le 18/3/2010 par pierrevigneux]

Acadnadien

Posté(e)

Bjr Gile,

J'ai essayé ta routine et je dois avoir un soucis.

J'ai écris un fichier dxf mnt avec points et lignes pour avoir mes facettes, là pas de soucis.

j'ai appliqué ta routine et là rien.

Il a créé les différentes couches de plan ainsi que la bloc et légende là nickel par contre ds la légende j'ai ça

de 0.0000% à 0.0000% (0 faces)

de 0.0000% à 0.0000% (0 faces)

de 0.0000% à 0.0000% (0 faces)

de 0.0000% à 0.0000% (0 faces)

de 0.0000% à 0.0000% (0 faces)

de 0.0000% à 0.0000% (0 faces)

de 0.0000% à 0.0000% (0 faces)

Je n'ai pas de flèche du tout nul part sur mon fichier.

Pourtant si je clique sur un triangle du mnt ds propriété j'ai bien inscrit "face 3d" les arrêtes sont bien visible et le z est bien en altimétrie.

Il doit y avoir un truc

Posté(e)

Salut,

 

Peux tu m'envoyer le fichier à :

chanteau point gilles arobase orange point fr

 

PS : j'ai corrigé une faute de frappe qui donnait un résultat faux dans la légende (décompte des faces les plus pentues à la dernière ligne)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

 

Hello

 

Tiens je ne suis pas le seul a avoir un petit probleme !

 

C un bon vieux dessin AutoCAD et mon terrain est compose de 3DFaces en 4 points XYZ

mais que se passe t-il dans ton programme si les 4 points XYZ ne sont pas "coplanaires" ?

 

Sous entendu la Face 3D (4 points XYZ) devrait etre scindee en 2 3DFaces triangulaires !

 

D'ailleurs un programme qui traiterait un ensemble de 3D Faces (3 ou 4 points) pour construire (ou plutot reconstruire) sur le calque courant N 3DFaces triangulaires m'interesse !

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

Salut,

 

J'ai optimisé le code en ajoutant une routine (vpgp) qui retourne le vecteur directeur des lignes de plus grande pente d'un plan défini par sa normale sans utiliser l'intersection d'une ligne et d'un plan.

 

lecrabe,

 

si ça ne fonctionne pas chez toi (et peut-être aussi chez philous2) c'est que PF3D ne traite que les faces 3d à 3 sommets, précisément parce que celles à 4 sommets ne sont pas forcément planes...

 

Les routines de capde06 ne contrôlent pas l'égalité entre le 3ème et le 4ème sommet, mais n'utilisent que les 3 premiers sommets de chaque face. Elles "fonctionnent" donc avec des faces à 4 sommets mais le résultat sera faux si les 4 sommets ne sont pas coplanaires.

 

Je vais regarder ce que je peux faire pour diviser les faces à 4 sommets en faces à 3 sommets

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Voilà une routine qui divise les face 3d quadrilatérales en faces 3d triangulaires (la division se fait sur la diagonale la plus courte.

 

Nouvelle version : 'normalise' les faces 3d triangulaires (3ème et 4ème points confondus)

 

;; Triang3dFace
;; Divise une face3d quadrilatérale en 2 faces 3d triangulaires ou 'normalise'
;; la face triangulaire (3ème et 4ème sommets confondus)
;; Retourne le ename de la nouvelle face créée ou nil si la face était triangulaire
;;
;; Argument : une face 3d (ENAME)

(defun Triang3dFace	(f3d / p1 p2 p3 p4)
 (setq	elst (entget f3d)
p1   (cdr (assoc 10 elst))
p2   (cdr (assoc 11 elst))
p3   (cdr (assoc 12 elst))
p4   (cdr (assoc 13 elst))
 )
 (cond
   ((equal p3 p4 1e-9) nil)
   ((equal p1 p2 1e-9)
    (entmod (subst (cons 11 p3)
	    (assoc 11 elst)
	    (subst (cons 12 p4) (assoc 12 elst) elst)
     )
    )
    nil
   )
   ((equal p1 p4 1e-9)
    (entmod (subst (cons 13 p3) (assoc 13 elst) elst))
    nil
   )
   (T
    (if (< (distance p2 p4) (distance p1 p3))
      (progn
 (entmod
   (subst (cons 12 p4) (assoc 12 elst) elst)
 )
 (entmakex
   (subst (cons 10 p2)
	  (assoc 10 elst)
	  (subst (cons 11 p3)
		 (assoc 11 elst)
		 (subst (cons 12 p4) (assoc 12 elst) elst)
	  )
   )
 )
      )
      (progn
 (entmod (subst (cons 13 p3) (assoc 13 elst) elst))
 (entmakex
   (subst (cons 11 p3)
	  (assoc 11 elst)
	  (subst (cons 12 p4) (assoc 12 elst) elst)
   )
 )
      )
    )
   )
 )
)

(defun c:TriFace (/ n ss ent)
 (if (and (setq n  -1
	 ss (ssget '((0 . "3DFACE")))
   )
     )
   (while (setq ent (ssname ss (setq n (1+ n))))
     (Triang3dFace ent)
   )
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

J'ai intégré Qua2Tri à PF3D (code modifié ci dessus).

Le traitement est automatique : les faces quadrilatérales sont divisées en 2 faces triangulaires qui sont traitées.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

je viens de relire ce post

il est tres instructif, il a interressé beaucoup de monde

donc je vais publier un autre lisp qui devrait faire le buzz sur cadxp

 

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Posté(e)

Salut,

 

Suivant comment sont générées les faces 3d triangulaires (qui ont toujours 4 sommets) les sommets confondus ne sont pas forcément les troisième et quatrième.

Ceci peut faire échouer les routines qui traitent ces faces en ne considérant que les 3 premiers sommets.

 

J'ai donc modifié la routine Quad2Tri, renommée Triang3dFace, pour qu'en plus de diviser les faces quadrangulaires en 2 faces triangulaires, elle 'normalise' les faces 3d triangulaies de façon à ce que les sommets confondus soient bien le troisième et le quatrième (code DXF 12 et 13).

 

Les commandes TRIFACE et PF3D, ci dessus ont été mises à jour en conséquence.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

N'exagérons rien...

Ce qui serait vraiment top, ce serait d'entrer les données de toutes les faces 3d du MNT dans une base de données pour pouvoir faire des requêtes du style : sélectionner les faces dont la pente est comprise entre tant et tant, ou entre telle et telle altitude...

 

Il y certainement moyen en LISP avec SQLite et le magnifique travail de Daniel (un Swamper) : SQLiteLisp (qui fonctionne aussi sur BricsCAD)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

 

Hello

 

Ok pour un cercle sur les faces horizontales

 

et les faces verticales : un bloc en forme de triangle peut etre !?

 

Encore Merci Gilles pour ce fabuleux programme ! :)

 

Le Decapode

 

Autodesk Expert Elite Team

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é