Aller au contenu

Travail sur MNT


RhymOne

Messages recommandés

Bonjour,

J'essaye de recenser toutes les routines concernant les MNT.

Travaillant exclusivement avec des topo (MNT) j'ai besoin d'outil me permettant de les visualiser de les interpreté ou de les coupé.

C'est pour cela que je vous fait part de mes differentes trouvailles:

 

Pente d'un MNT:

http://cadxp.cadmag.info/modules.php?op=modload&name=XForum&file=viewthread&tid=27070

 

Courbes d'un MNT:

http://cadxp.cadmag.info/modules.php?op=modload&name=XForum&file=viewthread&tid=27229

 

Création d'MNT:

http://bruno.valsecchi.neuf.fr/

 

Coupe d'un MNT:

http://bruno.valsecchi.neuf.fr/

 

Transformation en volume Acis MNT:

http://cadxp.cadmag.info/modules.php?op=modload&name=XForum&file=viewthread&tid=27517#pid120892

 

Projection de polyligne 3D / MNT

http://www.cadxp.com/sujetXForum-28860.htm

 

En esperant que des personnes completerons cette liste...

 

 

Je recherche par ailleurs de projeter une poly(2Dou3D) / MNT avec une valeur de pentes.

Genre a la covadis Decalé en 3D mode talutage.

 

 

Mise à jour du 13/09/2010

 

[Edité le 13/9/2010 par rhymone]

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

Desolé problèmes serveur de multiples sujet ce sont crée à la crétion de mon Post.

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

Désolé problèmes serveur de multiples sujet ce sont crée à la création de mon Post.

 

:cool: Tu peut les éditer et les supprimer. Et de manière plus générale, évitez de cliquer plusieurs fois sur le bouton de publication. Soyez patients, une seul fois suffit. ;) :cool: :D

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Si d'autre personne voit des lisp concernat les MNT merci de les communiquer.

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
  • 1 mois après...

Salut à tous

Dit moi ce que tu recherche je te le ferais parvenir.

Pour la coupe:

Deux commande:

1. coupe_tn pour crée la coupe du MNT

2.choisir_coupe pour mettre à jour un profil via la coupe modifié (à testé)

routine (coupe_tn.lsp):

((lambda (/)
		(if (null (tblsearch "STYLE" "COT_TRF"))
			(command "_.style" "$TRF_COT" "MONOTXT" "0.0" "0.9" "0.0" "_N" "_N" "_N")
		)
		(if (null (tblsearch "LTYPE" "AXES2"))
			(progn
				(command "_.linetype" "_load" "AXES2" "ACADISO.LIN" "")
				(setvar "ltscale" 1.0)
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_ALTI"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_ALTI") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.2) (1 . "") (3 . "Altitude du point") (2 . "ALTI") (70 . 0) (50 . 1.570796326794896) (7 . "$TRF_COT") (72 . 2)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_DIST"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_DIST") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.2) (1 . "") (3 . "Distance du point") (2 . "DIST") (70 . 0) (50 . 1.570796326794896) (7 . "$TRF_COT") (72 . 2)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_TITRE_CARTRAV"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_TITRE_CARTRAV") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 0.0 0.0 0.0) (11 -6.0 0.0 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 4.0 0.0) (40 . 0.3) (1 . "PROFIL No") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -3.1 4.0 0.0) (40 . 0.3) (1 . "1") (3 . "Numéro du profil ?:") (2 . "NO-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 2.5 0.0) (40 . 0.3) (1 . "ABSCISSE =") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -2.8 2.5 0.0) (40 . 0.3) (1 . "0.00") (3 . "Abscisse du profil ?:") (2 . "ABS-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 2.0 0.0) (40 . 0.3) (1 . "ECH = 1/") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -3.55 2.0 0.0) (40 . 0.3) (1 . "100") (3 . "Echelle du profil ?:") (2 . "ECH-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 1.0 0.0) (40 . 0.3) (1 . "PC =") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -4.5 1.0 0.0) (40 . 0.3) (1 . "100") (3 . "Plan de comparaison du profil ?:") (2 . "PC-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_CARTRAV"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_CARTRAV") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -6.0 0.0 0.0) (11 -6.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -6.0 -2.75 0.0) (11 0.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -0.35 0.0 0.0) (11 -0.35 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -0.35 -1.375 0.0) (11 0.0 -1.375 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.3) (1 . "DISTANCES") (7 . "$TRF_COT") (72 . 2) (11 -0.5 -0.6875 0.0) (210 0.0 0.0 1.0) (73 . 2)))
				(entmake '((0 . "TEXT") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.3) (1 . "COTES") (7 . "$TRF_COT") (72 . 2) (11 -0.5 -2.0625 0.0) (210 0.0 0.0 1.0) (73 . 2)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.3) (1 . "TERRAIN") (3 . "Quel ligne ?:") (2 . "INTITULE") (70 . 0) (7 . "$TRF_COT") (11 -5.7 -1.375 0.0) (210 0.0 0.0 0.0) (74 . 2)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_STRECHCART"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_STRECHCART") (8 . "0") (70 . 64) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 0.0 0.0 0.0) (11 1.0 0.0 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 1.0 0.0 0.0) (11 1.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 1.0 -2.75 0.0) (11 0.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 0.0 -1.375 0.0) (11 1.0 -1.375 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_TIRET-COT"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_TIRET-COT") (8 . "0") (70 . 64) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (62 . 0) (10 0.0 -0.05 0.0) (11 0.0 0.05 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_DRAPAX"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_DRAPAX") (8 . "0") (70 . 64) (10 0.0 0.0 0.0)))
				(entmake
					(list
						'(0 . "LINE") '(8 . "0") '(62 . 0)
						(cons 10 (list (* (sin (/ pi 4)) -0.25) (* (cos (/ pi 4)) -0.25) 0.0))
						(cons 11 (list (* (sin (/ pi 4)) 0.5) (* (cos (/ pi 4)) 0.5) 0.0))
						'(210 0.0 0.0 1.0)
					)
				)
				(entmake
					(list
						'(0 . "LINE") '(8 . "0") '(62 . 0)
						(cons 10 (list (* (sin (/ pi 4)) 0.5) (* (cos (/ pi 4)) 0.5) 0.0))
						(cons 11 (list (* (sin (/ pi 4)) 0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0))
						'(210 0.0 0.0 1.0)
					)
				)
				(entmake
					(list
						'(0 . "LINE") '(8 . "0") '(62 . 0)
						(cons 10 (list (* (sin (/ pi 4)) 0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0))
						(cons 11 (list (+ (* (sin (/ pi 4)) -0.075) (* (sin (/ pi 4)) 0.5)) (+ (* (cos (/ pi 4)) 0.075) (- (* (cos (/ pi 4)) 0.5) 0.25)) 0.0))
						'(210 0.0 0.0 1.0)
					)
				)
				(entmake
					(list
						'(0 . "LINE") '(8 . "0") '(62 . 0)
						(cons 10 (list (* (sin (/ pi 4)) 0.25) (* (cos (/ pi 4)) -0.25) 0.0))
						(cons 11 (list (* (sin (/ pi 4)) -0.5) (* (cos (/ pi 4)) 0.5) 0.0))
						'(210 0.0 0.0 1.0)
					)
				)
				(entmake
					(list
						'(0 . "LINE") '(8 . "0") '(62 . 0)
						(cons 10 (list (* (sin (/ pi 4)) -0.5) (* (cos (/ pi 4)) 0.5) 0.0))
						(cons 11 (list (* (sin (/ pi 4)) -0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0))
						'(210 0.0 0.0 1.0)
					)
				)
				(entmake
					(list
						'(0 . "LINE") '(8 . "0") '(62 . 0)
						(cons 10 (list (* (sin (/ pi 4)) -0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0))
						(cons 11 (list (+ (* (sin (/ pi 4)) 0.075) (* (sin (/ pi 4)) -0.5)) (+ (* (cos (/ pi 4)) 0.075) (- (* (cos (/ pi 4)) 0.5) 0.25)) 0.0))
						'(210 0.0 0.0 1.0)
					)
				)
				(entmake '((0 . "ENDBLK")))
			)
		)
))
(defun eob (arg / )
   (/ (* arg echll) 100.0)
)
(defun matrix (pt id / t_x t_y t_z t_v t_zo e_x e_y e_z nw_x nw_y nw_z)
(setq
	t_x (trans '(1 0 0) 0 1 T)
	t_y (trans '(0 1 0) 0 1 T)
	t_z (trans '(0 0 1) 0 1 T)
	t_v (trans '(0 0 0) 1 0)
	t_zo (trans '(0 0 0) 0 1)
)
(setq dxf_210 (list (caddr t_x) (caddr t_y) (caddr t_z)))
(cond
	((= id "2D")
		(setq e_x (car t_zo) e_y (cadr t_zo) e_z (caddr t_zo))
		(setq dxf_10 (list 0.0 0.0 (- e_z)))
		(setq nw_x (+ (- (car t_zo)) (car pt)))
		(setq nw_y (+ (- (cadr t_zo)) (cadr pt)))
		(setq nw_z (+ (- (caddr t_zo)) (caddr pt)))
	)
	((= id "3D")
		(setq nw_x
			(+
				(* (car pt) (car t_x))
				(* (cadr pt) (cadr t_x))
				(* (caddr pt) (caddr t_x))
				(car t_v)
			)
		)
		(setq nw_y
			(+
				(* (car pt) (car t_y))
				(* (cadr pt) (cadr t_y))
				(* (caddr pt) (caddr t_y))
				(cadr t_v)
			)
		)
		(setq nw_z
			(+
				(* (car pt) (car t_z))
				(* (cadr pt) (cadr t_z))
				(* (caddr pt) (caddr t_z))
				(caddr t_v)
			)
		)
	)
)
(setq nw_pt (list nw_x nw_y nw_z))
)
(defun writ_cot (ent_po col_po / ptprc pdtx dxf_lst)
(if (= col_po 3)
	(progn
		(entmake
			(list
				(cons 0 "INSERT") (cons 8 nouv) (cons 62 1) (cons 2 "TRF_DRAPAX") (cons 10 (matrix (list 0.0 (+ 1.5 high_z) 0.0) "2D")) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "LINE")
				(cons 8 nouv)
				(cons 62 1)
				(cons 6 "AXES2")
				(cons 10 (trans (list 0.0 (+ 1.5 high_z) 0.0) 1 0))
				(cons 11 (trans (list 0.0 pc 0.0) 1 0))
				(cons 210 dxf_210)
			)
		)
		(setq dxf_lst (entget ent_po))
	)
	(setq dxf_lst (reverse (entget ent_po)))
)
(foreach pdtx (reverse (mapcar '(lambda (z) (trans (trans z ent_po 0) 0 1)) (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) dxf_lst))))
	(cond
		((/= ptprc ())
			(if
				(or
					(						(					)
				(setq ptprc (cons (+ (car ptprc) (eob 0.25)) (list (cadr pdtx))))
				(setq ptprc pdtx)
			)
		)
		(T (setq ptprc pdtx))
	)
	(entmake
		(list
			(cons 0 "INSERT") (cons 8 nouv) (cons 62 col_po) (cons 2 "TRF_TIRET-COT")
			(cons 10 (matrix (list (car pdtx) (cadr pdtx) 0.0) "2D")) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
		)
	)
	(entmake)
	(entmake
		(list
			(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_DIST")
			(cons 10 (matrix (list (car ptprc) (- pc (eob 0.05)) 0.0) "2D")) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
		)
	)
	(entmake
		(list
			(cons 0 "ATTRIB") (cons 8 "0")
			(cons 10 (matrix (list (car ptprc) (- pc (eob 0.05)) 0.0) "2D")) (cons 40 (eob 0.2))
			(cons 1 (rtos (car pdtx) 2 2)) (cons 2 "DIST") (cons 70 0) (cons 50 (/ pi 2)) (cons 7 "$TRF_COT")
			(cons 11 (matrix (list (car ptprc) (- pc (eob 0.05)) 0.0) "2D")) (cons 72 2) (cons 210 dxf_210) (cons 74 0)
		)
	)
	(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
	(entmake)
	(entmake
		(list
			(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_ALTI")
			(cons 10 (matrix (list (car ptprc) (- pc (eob 1.425)) 0.0) "2D")) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
		)
	)
	(entmake
		(list
			(cons 0 "ATTRIB") (cons 8 "0")
			(cons 10 (matrix (list (car ptprc) (- pc (eob 1.425)) 0.0) "2D")) (cons 40 (eob 0.2))
			(cons 1 (rtos (cadr pdtx) 2 2)) (cons 2 "ALTI") (cons 70 0) (cons 50 (/ pi 2)) (cons 7 "$TRF_COT")
			(cons 11 (matrix (list (car ptprc) (- pc (eob 1.425)) 0.0) "2D")) (cons 72 2) (cons 210 dxf_210) (cons 74 0)
		)
	)
	(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
)
)
(defun do_poly ( col / js_tmp ent_po ttr_ca)
(setq js_tmp (ssget "X" (list '(0 . "LWPOLYLINE") (cons 62 col) (cons 8 nouv))))
(cond
	((and js_tmp (eq (sslength js_tmp) 1))
		(setq ent_po (ssname js_tmp 0))
		(setq ttr_ca
			(cond
				((eq col 1) "PROJET")
				((eq col 4) "ASSISE")
				((eq col 6) "FORME")
				((eq col 5) "BASE")
			)
		)
			(setq pc (- pc (eob 2.75)))
		(setq
			pt_ins (trans (list (car (last lst_som)) pc 0.0) 1 0)
			pt_ins (matrix (trans pt_ins 0 1) "2D")
			pt_coi (trans (list (caar lst_som) pc 0.0) 1 0)
		)
		(entmake)
		(entmake
			(list
				(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_CARTRAV")
				(cons 10 pt_ins) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "ATTRIB") (cons 8 "0")
				(cons 10 pt_ins) (cons 40 (eob 0.3)) (cons 1 ttr_ca) (cons 2 "INTITULE") (cons 70 0) (cons 7 "$TRF_COT")
				(cons 11 (list (+ (car pt_ins ) (eob -5.7)) (+ (cadr pt_ins) (eob -1.375)) (caddr pt_ins))) (cons 210 dxf_210) (cons 74 2)
			)
		)
		(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
		(entmake
			(list
				(cons 0 "INSERT") (cons 8 nouv) (cons 66 0) (cons 2 "TRF_STRECHCART")
				(cons 10 pt_ins) (cons 41 (+ (distance (list (caar lst_som) pc 0.0) (list (car (last lst_som)) pc 0.0)) (eob 0.35))) (cons 42 (eob 1))
				(cons 43 (eob 1)) (cons 210 dxf_210)
			)
		)
		(writ_cot ent_po col)
		(setq js_tmp nil)
	)
)
)
(defun c:choisir_coupe ( / echll nouv n_pr js cod js_tmp ent lst_som ent_po pc high_z pt_ins pt_coi dxf_210)
(if (zerop (getvar "useri1"))
	(setvar "useri1" 100)
)
(initget 6)
(setq echll (getint (strcat "\nEntrez l'echelle du profil: ")))
(if (not echll) (setq echll (getvar "useri1")))
(setvar "useri1" echll)
(setq nouv (getvar "clayer") n_pr (atoi (substr (getvar "clayer") 12)) a_curv 0.0)
(command "._layer" "_thaw" nouv "_set" nouv "_freeze" "*" "_off" "*" "_on" nouv "")
(command "_ucs" "_restore" nouv)
(command "_.plan" "")
(setq js
	(ssget "X"
		(list
			'(-4 . "					'(-4 . "						'(0 . "LINE") '(62 . 3) (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_TITRE_CARTRAV") (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_CARTRAV") (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_STRECHCART") (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_DIST") (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_ALTI") (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_TIRET-COT") (cons 8 nouv)
				'(-4 . "AND>")
				'(-4 . "						'(0 . "INSERT") '(2 . "TRF_DRAPAX") (cons 8 nouv)
				'(-4 . "AND>")
			'(-4 . "OR>")
		)
	)
)
(cond (js (command "_.erase" "_previous" "")))
(setq js nil)
(initget "Oui Non")
(setq cod (getkword "\nMettre le profil a jour ? [Oui/Non] : "))
(if (eq cod ()) (setq cod "Non"))
(cond
	((eq cod "Oui")
		(prompt "\nMise à jour en cours...")
		(if (null (tblsearch "STYLE" "COT_TRF"))
			(command "_.style" "$TRF_COT" "MONOTXT" "0.0" "0.9" "0.0" "_N" "_N" "_N")
		)
		(if (null (tblsearch "LTYPE" "AXES2"))
			(progn
				(command "_.linetype" "_load" "AXES2" "ACADISO.LIN" "")
				(setvar "ltscale" 1.0)
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_ALTI"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_ALTI") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.2) (1 . "") (3 . "Altitude du point") (2 . "ALTI") (70 . 0) (50 . 1.570796326794896) (7 . "$TRF_COT") (72 . 2)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_DIST"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_DIST") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.2) (1 . "") (3 . "Distance du point") (2 . "DIST") (70 . 0) (50 . 1.570796326794896) (7 . "$TRF_COT") (72 . 2)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_TITRE_CARTRAV"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_TITRE_CARTRAV") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 0.0 0.0 0.0) (11 -6.0 0.0 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 4.0 0.0) (40 . 0.3) (1 . "PROFIL No") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -3.1 4.0 0.0) (40 . 0.3) (1 . "1") (3 . "Numéro du profil ?:") (2 . "NO-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 2.5 0.0) (40 . 0.3) (1 . "ABSCISSE =") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -2.8 2.5 0.0) (40 . 0.3) (1 . "0.00") (3 . "Abscisse du profil ?:") (2 . "ABS-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 2.0 0.0) (40 . 0.3) (1 . "ECH = 1/") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -3.55 2.0 0.0) (40 . 0.3) (1 . "100") (3 . "Echelle du profil ?:") (2 . "ECH-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 -6.0 1.0 0.0) (40 . 0.3) (1 . "PC =") (7 . "$TRF_COT") (210 0.0 0.0 1.0)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 -4.5 1.0 0.0) (40 . 0.3) (1 . "100") (3 . "Plan de comparaison du profil ?:") (2 . "PC-PR") (70 . 0) (7 . "$TRF_COT") (210 0.0 0.0 0.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_CARTRAV"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_CARTRAV") (8 . "0") (70 . 66) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -6.0 0.0 0.0) (11 -6.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -6.0 -2.75 0.0) (11 0.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -0.35 0.0 0.0) (11 -0.35 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 -0.35 -1.375 0.0) (11 0.0 -1.375 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "TEXT") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.3) (1 . "DISTANCES") (7 . "$TRF_COT") (72 . 2) (11 -0.5 -0.6875 0.0) (210 0.0 0.0 1.0) (73 . 2)))
				(entmake '((0 . "TEXT") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.3) (1 . "COTES") (7 . "$TRF_COT") (72 . 2) (11 -0.5 -2.0625 0.0) (210 0.0 0.0 1.0) (73 . 2)))
				(entmake '((0 . "ATTDEF") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.3) (1 . "TERRAIN") (3 . "Quel ligne ?:") (2 . "INTITULE") (70 . 0) (7 . "$TRF_COT") (11 -5.7 -1.375 0.0) (210 0.0 0.0 0.0) (74 . 2)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_STRECHCART"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_STRECHCART") (8 . "0") (70 . 64) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 0.0 0.0 0.0) (11 1.0 0.0 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 1.0 0.0 0.0) (11 1.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 1.0 -2.75 0.0) (11 0.0 -2.75 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "LINE") (8 . "0") (10 0.0 -1.375 0.0) (11 1.0 -1.375 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_TIRET-COT"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_TIRET-COT") (8 . "0") (70 . 64) (10 0.0 0.0 0.0)))
				(entmake '((0 . "LINE") (8 . "0") (62 . 0) (10 0.0 -0.05 0.0) (11 0.0 0.05 0.0) (210 0.0 0.0 1.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(if (null (tblsearch "BLOCK" "TRF_DRAPAX"))
			(progn
				(entmake)
				(entmake '((0 . "BLOCK") (2 . "TRF_DRAPAX") (8 . "0") (70 . 64) (10 0.0 0.0 0.0)))
				(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 0) (cons 10 (list (* (sin (/ pi 4)) -0.25) (* (cos (/ pi 4)) -0.25) 0.0)) (cons 11 (list (* (sin (/ pi 4)) 0.5) (* (cos (/ pi 4)) 0.5) 0.0)) '(210 0.0 0.0 1.0)))
				(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 0) (cons 10 (list (* (sin (/ pi 4)) 0.5) (* (cos (/ pi 4)) 0.5) 0.0)) (cons 11 (list (* (sin (/ pi 4)) 0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0)) '(210 0.0 0.0 1.0)))
				(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 0) (cons 10 (list (* (sin (/ pi 4)) 0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0)) (cons 11 (list (+ (* (sin (/ pi 4)) -0.075) (* (sin (/ pi 4)) 0.5)) (+ (* (cos (/ pi 4)) 0.075) (- (* (cos (/ pi 4)) 0.5) 0.25)) 0.0)) '(210 0.0 0.0 1.0)))
				(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 0) (cons 10 (list (* (sin (/ pi 4)) 0.25) (* (cos (/ pi 4)) -0.25) 0.0)) (cons 11 (list (* (sin (/ pi 4)) -0.5) (* (cos (/ pi 4)) 0.5) 0.0)) '(210 0.0 0.0 1.0)))
				(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 0) (cons 10 (list (* (sin (/ pi 4)) -0.5) (* (cos (/ pi 4)) 0.5) 0.0)) (cons 11 (list (* (sin (/ pi 4)) -0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0)) '(210 0.0 0.0 1.0)))
				(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 0) (cons 10 (list (* (sin (/ pi 4)) -0.5) (- (* (cos (/ pi 4)) 0.5) 0.25) 0.0)) (cons 11 (list (+ (* (sin (/ pi 4)) 0.075) (* (sin (/ pi 4)) -0.5)) (+ (* (cos (/ pi 4)) 0.075) (- (* (cos (/ pi 4)) 0.5) 0.25)) 0.0)) '(210 0.0 0.0 1.0)))
				(entmake '((0 . "ENDBLK")))
			)
		)
		(setq js_tmp (ssget "X" (list '(0 . "LWPOLYLINE") '(62 . 3) (cons 8 nouv))))
		(cond
			((and js_tmp (eq (sslength js_tmp) 1))
				(setq ent (ssname js_tmp 0) lst_som '() ent_po ent)
				(setq lst_som (mapcar '(lambda (z) (trans (trans z ent 0) 0 1)) (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent)))))
				(setq pc (cadar lst_som) high_z pc)
				(foreach n lst_som (setq pc (min pc (cadr n))))
				(foreach n lst_som (setq high_z (max high_z (cadr n))))
				(setq pc (* (/ (fix pc) 10) 10))
				(setq
					pt_ins (trans (list (car (last lst_som)) pc 0.0) 1 0)
					pt_coi (trans (list (caar lst_som) pc 0.0) 1 0)
				)
				(matrix '(0 0 0) "2D")
				(entmake
					(list
						(cons 0 "LINE")
						(cons 8 nouv)
						(cons 62 3)
						(cons 10 (trans (list (car (last lst_som)) (cadr (last lst_som)) 0.0) 1 0))
						(cons 11 pt_ins)
						(cons 210 dxf_210)
					)
				)
				(entmake
					(list
						(cons 0 "LINE")
						(cons 8 nouv)
						(cons 62 3)
						(cons 10 (trans (list (caar lst_som) (cadar lst_som) 0.0) 1 0))
						(cons 11 pt_coi)
						(cons 210 dxf_210)
					)
				)
				(setq pt_ins (matrix (trans pt_ins 0 1) "2D"))
				(entmake)
				(entmake
					(list
						(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_TITRE_CARTRAV")
						(cons 10 pt_ins) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
					)
				)
				(entmake
					(list
						(cons 0 "ATTRIB") (cons 8 "0")
						(cons 10 (list (+ (car pt_ins ) (eob -3.1)) (+ (cadr pt_ins) (eob 4.0)) (caddr pt_ins)))
						(cons 40 (eob 0.3)) (cons 1 (itoa n_pr)) (cons 2 "NO-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
					)
				)
				(entmake
					(list
						(cons 0 "ATTRIB") (cons 8 "0")
						(cons 10 (list (+ (car pt_ins ) (eob -2.8)) (+ (cadr pt_ins) (eob 2.5)) (caddr pt_ins)))
						(cons 40 (eob 0.3)) (cons 1 (rtos a_curv 2 2)) (cons 2 "ABS-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
					)
				)
				(entmake
					(list
						(cons 0 "ATTRIB") (cons 8 "0")
						(cons 10 (list (+ (car pt_ins ) (eob -3.7)) (+ (cadr pt_ins) (eob 2.0)) (caddr pt_ins)))
						(cons 40 (eob 0.3)) (cons 1 (itoa echll)) (cons 2 "ECH-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
					)
				)
				(entmake
					(list
						(cons 0 "ATTRIB") (cons 8 "0")
						(cons 10 (list (+ (car pt_ins ) (eob -4.5)) (+ (cadr pt_ins) (eob 1.0)) (caddr pt_ins)))
						(cons 40 (eob 0.3)) (cons 1 (itoa pc)) (cons 2 "PC-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
					)
				)
				(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
				(entmake)
				(entmake
					(list
						(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_CARTRAV")
						(cons 10 pt_ins) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
					)
				)
				(entmake
					(list
						(cons 0 "ATTRIB") (cons 8 "0") (cons 10 pt_ins) (cons 40 (eob 0.3))
						(cons 1 "TERRAIN") (cons 2 "INTITULE") (cons 70 0) (cons 7 "$TRF_COT")
						(cons 11 (list (+ (car pt_ins ) (eob -5.7)) (+ (cadr pt_ins) (eob -1.375)) (caddr pt_ins))) (cons 210 dxf_210) (cons 74 2)
					)
				)
				(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
				(entmake
					(list
						(cons 0 "INSERT") (cons 8 nouv) (cons 66 0) (cons 2 "TRF_STRECHCART") (cons 10 pt_ins)
						(cons 41 (+ (distance (list (caar lst_som) pc 0.0) (list (car (last lst_som)) pc 0.0)) (eob 0.35)))
						(cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
					)
				)
				(writ_cot ent_po 3)
				(setq js_tmp nil)
				(foreach n '(1 4 6 5)
					(do_poly n)
				)
			)
		)
	)
)
(command "_.zoom" "_extent")
)
(defun c:coupe_tn ( / js_line dxf_line p1 p2 all_pt js n lst_px dxf_ent lst_pt px new_lst l el pt_all nouv n_pr echll a_curv ent lst_som ent_po pc high_z pt_ins pt_coi dxf_210)
(setq js_line (ssget "_+.:E:S" '((0 . "LINE"))))
(cond
	(js_line
		(setvar "cmdecho" 1)
		(setq
			dxf_line (entget (ssname js_line 0))
			p1 (list (cadr (assoc 10 dxf_line)) (caddr (assoc 10 dxf_line)))
			p2 (list (cadr (assoc 11 dxf_line)) (caddr (assoc 11 dxf_line)))
			all_pt nil
		)
		(command "_.zoom" "_window" p1 p2)
		(setq
			js (ssget "_F" (list p1 p2) '((0 . "3DFACE")))
			n -1
			lst_px nil
		)
		(cond
			(js
				(repeat (sslength js)
					(setq
						dxf_ent (entget (ssname js (setq n (1+ n))))
						lst_pt
						(list
							(cdr (assoc 10 dxf_ent))
							(cdr (assoc 11 dxf_ent))
							(cdr (assoc 12 dxf_ent))
							(cdr (assoc 13 dxf_ent))
						)
					)
					(if (equal (caddr lst_pt) (cadddr lst_pt))
						(setq lst_pt (list (car lst_pt) (cadr lst_pt) (caddr lst_pt) (car lst_pt)))
						(setq lst_pt (append lst_pt (list (car lst_pt))))
					)
					(while (cdr lst_pt)
						(setq px (inters p1 p2 (car lst_pt) (cadr lst_pt) T))
						(if px
							(progn
								(setq px (inters (list (car px) (cadr px) 0.0) (list (car px) (cadr px) 100.0) (car lst_pt) (cadr lst_pt) nil))
								(if (and px (not (member px lst_px)))
									(setq lst_px (cons px lst_px))
								)
							)
						)
						(setq lst_pt (cdr lst_pt))
					)
				)
				(if lst_px
					(progn
						(setq new_lst nil)
						(while lst_px
							(setq l (mapcar '(lambda (x) (distance x p1)) lst_px))
							(setq el (nth (- (length lst_px) (length (member (apply 'min l) l))) lst_px))
							(setq
								lst_px (vl-remove el lst_px)
								new_lst (cons el new_lst)
							)
						)
						(setq pt_all (append (list (cadr all_pt)) new_lst pt_all))
					)
					(setq pt_all (append (list (cadr all_pt)) pt_all))
				)
			)
		)
		(setq all_pt (cdr all_pt))
		(setq nouv (strcat "TRF_PROFIL-" (itoa (setq n_pr (getint "\nNuméro du profil: ")))))
		(if (zerop (getvar "useri1"))
			(setvar "useri1" 100)
		)
		(initget 6)
		(setq echll (getint (strcat "\nEntrez l'echelle du profil: ")))
		(if (not echll) (setq echll (getvar "useri1")))
		(setvar "useri1" echll)
		(setq a_curv (getdist "\nDistance cumulée du profil: "))
		(setvar "expert" 5)
		(command "_.ucs" "_world")
		(command "_.ucs" "_3point" ".xy" "_none" (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5)) 0.0 ".xy" "_none" p2 0.0 ".xy" "_none" (mapcar '* (mapcar '+ p1 p2) '(0.5 0.5)) 1000.0)
		(command "_.ucs" "_save" nouv)
		(command "_.plan" "")
		(command "._layer" "_make" nouv "_thaw" nouv "_set" nouv "_freeze" "*" "_off" "*" "_on" nouv "")
		(setvar "cecolor" "3")
		(command "_.pline")
		(foreach el (cdr pt_all) (command "_none" (trans el 0 1)))
		(command "")
		(setq ent (entlast) lst_som '() ent_po ent)
		(setvar "cecolor" "256")
		(entdel (cdar dxf_line))
		(setq lst_som (mapcar '(lambda (z) (trans (trans z ent 0) 0 1)) (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent)))))
		(setq pc (cadar lst_som) high_z pc)
		(foreach n lst_som (setq pc (min pc (cadr n))))
		(foreach n lst_som (setq high_z (max high_z (cadr n))))
		(setq pc (* (/ (fix pc) 10) 10))
		(setq
			pt_ins (trans (list (car (last lst_som)) pc 0.0) 1 0)
			pt_coi (trans (list (caar lst_som) pc 0.0) 1 0)
		)
		(matrix '(0 0 0) "2D")
		(entmake
			(list
				(cons 0 "LINE")
				(cons 8 nouv)
				(cons 62 3)
				(cons 10 (trans (list (car (last lst_som)) (cadr (last lst_som)) 0.0) 1 0))
				(cons 11 pt_ins)
				(cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "LINE")
				(cons 8 nouv)
				(cons 62 3)
				(cons 10 (trans (list (caar lst_som) (cadar lst_som) 0.0) 1 0))
				(cons 11 pt_coi)
				(cons 210 dxf_210)
			)
		)
		(setq pt_ins (matrix (trans pt_ins 0 1) "2D"))
		(entmake)
		(entmake
			(list
				(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_TITRE_CARTRAV")
				(cons 10 pt_ins) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "ATTRIB") (cons 8 "0")
				(cons 10 (list (+ (car pt_ins ) (eob -3.1)) (+ (cadr pt_ins) (eob 4.0)) (caddr pt_ins))) (cons 40 (eob 0.3))
				(cons 1 (itoa n_pr)) (cons 2 "NO-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "ATTRIB") (cons 8 "0")
				(cons 10 (list (+ (car pt_ins ) (eob -2.8)) (+ (cadr pt_ins) (eob 2.5)) (caddr pt_ins))) (cons 40 (eob 0.3))
				(cons 1 (rtos a_curv 2 2)) (cons 2 "ABS-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "ATTRIB") (cons 8 "0")
				(cons 10 (list (+ (car pt_ins ) (eob -3.7)) (+ (cadr pt_ins) (eob 2.0)) (caddr pt_ins))) (cons 40 (eob 0.3))
				(cons 1 (itoa echll)) (cons 2 "ECH-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "ATTRIB") (cons 8 "0")
				(cons 10 (list (+ (car pt_ins ) (eob -4.5)) (+ (cadr pt_ins) (eob 1.0)) (caddr pt_ins))) (cons 40 (eob 0.3))
				(cons 1 (itoa pc)) (cons 2 "PC-PR") (cons 70 0) (cons 7 "$TRF_COT") (cons 210 dxf_210)
			)
		)
		(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
		(entmake)
		(entmake
			(list
				(cons 0 "INSERT") (cons 8 nouv) (cons 66 1) (cons 2 "TRF_CARTRAV")
				(cons 10 pt_ins) (cons 41 (eob 1)) (cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
			)
		)
		(entmake
			(list
				(cons 0 "ATTRIB") (cons 8 "0") (cons 10 pt_ins) (cons 40 (eob 0.3))
				(cons 1 "TERRAIN") (cons 2 "INTITULE") (cons 70 0) (cons 7 "$TRF_COT")
				(cons 11 (list (+ (car pt_ins ) (eob -5.7)) (+ (cadr pt_ins) (eob -1.375)) (caddr pt_ins))) (cons 210 dxf_210) (cons 74 2)
			)
		)
		(entmake (list '(0 . "SEQEND") (cons 8 nouv)))
		(entmake
			(list
				(cons 0 "INSERT") (cons 8 nouv) (cons 66 0) (cons 2 "TRF_STRECHCART")
				(cons 10 pt_ins) (cons 41 (+ (distance (list (caar lst_som) pc 0.0) (list (car (last lst_som)) pc 0.0)) (eob 0.35)))
				(cons 42 (eob 1)) (cons 43 (eob 1)) (cons 210 dxf_210)
			)
		)
		(writ_cot ent_po 3)
		(foreach n '(1 4 6 5)
			(do_poly n)
		)
	)
)
)

 

A plus.....

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

(Re)Bonjour,

Petite précision ne marche exclusivement sur des lignes (malheureusement)....

 

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
Bonjour,

J'essaye de recenser toutes les routines concernant les MNT.

Travaillant exclusivement avec des topo (MNT) j'ai besoin d'outil me permettant de les visualiser de les interpreté ou de les coupé.

C'est pour cela que je vous fait part de mes differentes trouvailles:

 

Pente d'un MNT:

http:// http://cadxp.cadmag.info/modules.php?op=modload&name=XForum&file=viewthread&tid=27070

 

Courbes d'un MNT:

http:// http://cadxp.cadmag.info/modules.php?op=modload&name=XForum&file=viewthread&tid=27229

 

Création d'MNT:

http:// http://bruno.valsecchi.neuf.fr/

http:// http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=26041#pid113514

(réponses 11)

 

Coupe d'un MNT:

http:// http://bruno.valsecchi.neuf.fr/

 

Transformation en volume Acis MNT:

http:// http://cadxp.cadmag.info/modules.php?op=modload&name=XForum&file=viewthread&tid=27517#pid120892

 

Projection de polyligne 3D / MNT

http:// http://www.cadxp.com/sujetXForum-28860.htm

 

En esperant que des personnes completerons cette liste...

 

 

Je recherche par ailleurs de projeter une poly(2Dou3D) / MNT avec une valeur de pentes.

Genre a la covadis Decalé en 3D mode talutage.

 

Mise à jour du 24/09/2010

 

Mise à jour du 13/09/2010

 

[Edité le 13/9/2010 par rhymone]

DAO: AutoCAD(2D & 3D), Covadis

CAO: 3D's MAX, Rhinoceros 3D, REVIT

GeoModeliSation: AutoCAD MEP, RhinoTerrain

Rendu: Vray for Rhino, Keyshot, Lumion

Programmation: Grasshopper, Dynamo, VisualStudio

 

C.V.

Profil LinkedIn

Book

Site web

 

http://nsa37.casimages.com/img/2016/09/26/160926023334168603.jpg

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é