Aller au contenu

Bloc+attribut --> Espace_ADT


lecrabe

Messages recommandés

Bonjour,

Voici un petit tuto.(Mais attention sa s'avère très lourds à faire sur AutoCAD suivant le MNT):

Deux méthodes

******************************************************************************

1. A partir de ton fichier isole le mnt sur un dessin à pars.

2. Créer ton matériaux dans le gestionnaire (on s'occupera après des réglages)

3. A partir de la commande _materialattach attribue ton matériaux au calque du MNT

4. Dessine un rectangle dans le SCG correspondant à la bounding box du MNT (contour rectangulaire prenant en compte tous le MNT ) de preference à z=0

5. Cote ce rectangle tu aura une distance en x et en y.

6.Dans le gestionnaire de matériaux mettre dans la mise à l'échelle du materiaux

-unité d'échelle: échelle du dessin (en m)

-mosaïque en U: distance en x

-mosaïque en V: distance en y

7.lance la commande mapping, options plan et selectionne les faces du MNT et le rectangle.

8.Voila ton image se redefiniti suivant ton MNT.

********************************************************************************

Si tu rencontre des problèmes groupe ton MNT avant de faire les étapes 1 à 8, si le problèmes persiste exporte tes faces 3D en *.3ds puis re-importe le tu obtiendra un maillage polyface de toutes tes faces... Beaucoup plus pratique pour le plaquage, mais du coup on perd l'info MNT covadis.

 

Voili voilou, j'espère que sa t'aidera

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

  • Réponses 109
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Bonjour,

Voici un petit tuto.(Mais attention sa s'avère très lourds à faire sur AutoCAD suivant le MNT):

Deux méthodes

******************************************************************************

1. A partir de ton fichier isole le mnt sur un dessin à pars.

2. Créer ton matériaux dans le gestionnaire (on s'occupera après des réglages)

3. A partir de la commande _materialattach attribue ton matériaux au calque du MNT

4. Dessine un rectangle dans le SCG correspondant à la bounding box du MNT (contour rectangulaire prenant en compte tous le MNT ) de preference à z=0

5. Cote ce rectangle tu aura une distance en x et en y.

6.Dans le gestionnaire de matériaux mettre dans la mise à l'échelle du materiaux

-unité d'échelle: échelle du dessin (en m)

-mosaïque en U: distance en x

-mosaïque en V: distance en y

7.lance la commande mapping, options plan et selectionne les faces du MNT et le rectangle.

8.Voila ton image se redefiniti suivant ton MNT.

********************************************************************************

Si tu rencontre des problèmes groupe ton MNT avant de faire les étapes 1 à 8, si le problèmes persiste exporte tes faces 3D en *.3ds puis re-importe le tu obtiendra un maillage polyface de toutes tes faces... Beaucoup plus pratique pour le plaquage, mais du coup on perd l'info MNT covadis.

 

Voili voilou, j'espère que sa t'aidera

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

Invité tichou

Bonjour,

 

Pardonnez mon insistance mais si quelqu'un pouvait m'aiguiller svp... J'ai réellement besoin de ce code.

 

Merci par avance. Bonne journée.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je vois sur le sujet depuis deux jours qu'il y a une réponse mais je ne la vois pas quand je rentre dans le sujet :casstet: , sinon pour vous tenir informez, je suis en train de discuter avec Maxence Delannoy qui va m'aider à faire une macro d'extraction avec liaison je pense et me faire un devis pour créer cela en .NET (langage que je ne connais pas)

 

Merci à vous.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Peut être un début de réponse pour ce qu'y est de l'identifiant et de l'incrémentation automatique. Ca fonctionne chez moi:

 

(vl-load-com)

 

(defun c:surf (/ js obj AcDoc Space nw_style

pt htx rtx unit_key unit_draw

dxf_cod n ename ll ur nw_obj

lremov

)

 

(princ "\nSélectionnez un objet curviligne.")

 

(while

 

(null

 

(setq js

 

(ssget "_+.:E:S"

 

(list

 

'(0 . "*POLYLINE,ARC,CIRCLE,ELLIPSE,HATCH")

 

(cons 67

(if (eq (getvar "CVPORT") 1)

1

0

)

)

 

(cons 410

(if (eq (getvar "CVPORT") 1)

(getvar "CTAB")

"Model"

)

)

 

'(-4 . "

 

'(-4 . "&")

 

'(70 . 120)

 

'(-4 . "NOT>")

 

)

 

)

 

)

 

)

 

(princ

"\nCe n'est pas un objet curviligne valable pour cette fonction!"

)

 

)

 

(initget 6)

 

(setq htx (getdist (getvar "VIEWCTR")

(strcat "\nSpécifiez la hauteur du champ <"

(rtos (getvar "TEXTSIZE"))

">: "

)

)

)

 

(if htx

(setvar "TEXTSIZE" htx)

)

 

(if (not

(setq

rtx (getorient (getvar "VIEWCTR")

"\nSpécifiez l'orientation du champ <0.0>: "

)

)

)

(setq rtx 0.0)

)

(if (= cod nil)

(setq codr 1)

(setq codr cod)

 

)

(if (not

(setq

cod (getreal (strcat

"\nSpécifiez le numéro de l'ID <"

(rtos codr 2 0)

">: "

)

)

)

)

(setq cod codr)

)

(setq

 

AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))

 

Space

 

(if (= 1 (getvar "CVPORT"))

 

(vla-get-PaperSpace AcDoc)

 

(vla-get-ModelSpace AcDoc)

 

)

 

)

 

(cond

 

((null (tblsearch "LAYER" "Id-Surfaces"))

 

(vlax-put (vla-add (vla-get-layers AcDoc) "Id-Surfaces")

'color

96

)

 

)

 

)

 

(cond

 

((null (tblsearch "STYLE" "Romand-Field"))

 

(setq nw_style (vla-add (vla-get-textstyles AcDoc) "Romand-Field"))

 

(mapcar

 

'(lambda (pr val)

 

(vlax-put nw_style pr val)

 

)

 

(list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag)

 

(list "romand.shx" 0.0 (/ (* 15.0 pi) 180) 1.0 0.0)

 

)

 

)

 

)

 

(if (or (eq (getvar "USERS5") "")

(not (eq (substr (getvar "USERS5") 1 2) "qz"))

)

 

(progn

 

(initget "KM ME CM MM")

 

(if (not (setq unit_key

(getkword "\nDessin réalisé en [KM/ME/CM/MM] : "

)

)

)

 

(setq unit_key "ME")

 

)

 

(cond

 

((eq unit_key "KM")

 

(setq unit_draw 1000000)

 

)

 

((eq unit_key "ME")

 

(setq unit_draw 1000

unit_key "M"

)

 

)

 

((eq unit_key "CM")

 

(setq unit_draw 10)

 

)

 

((eq unit_key "MM")

 

(setq unit_draw 1)

 

)

 

)

 

(setvar "USERS5" (strcat "qz" (itoa unit_draw)))

 

)

 

(progn

 

(setq unit_draw (atoi (substr (getvar "USERS5") 3)))

 

(cond

 

((eq unit_draw 1000000)

 

(setq unit_key "KM")

 

)

 

((eq unit_draw 1000)

 

(setq unit_key "M")

 

)

 

((eq unit_draw 10)

 

(setq unit_key "CM")

 

)

 

((eq unit_draw 1)

 

(setq unit_key "MM")

 

)

 

)

 

)

 

)

 

(initget "Unique Multiple _Single Multiple")

 

(if (eq (getkword "\nSélection filtrée [unique/Multiple]: ")

"Single"

)

 

(setq n -1)

 

(setq

 

dxf_cod (entget (ssname js 0))

 

js

 

(ssget

"_X"

 

(foreach m

(foreach n dxf_cod

(if

(not (member (car n) '(0 67 410 8 6 62 48 420 70)))

(setq lremov (cons (car n) lremov))

)

)

 

(setq dxf_cod (vl-remove (assoc m dxf_cod) dxf_cod))

 

)

 

)

 

n -1

 

)

 

)

 

(repeat (sslength js)

 

(setq

 

obj (ssname js (setq n (1+ n)))

 

ename (vlax-ename->vla-object obj)

 

)

 

(vla-GetBoundingBox ename 'll 'ur)

 

(if (< cod 10)

(setq compcod "00")

(if (and (< cod 100) (>= cod 10))

(setq compcod "0")

 

(setq compcod "")

)

)

 

(setq

 

ll (safearray-value ll)

 

ur (safearray-value ur)

 

pt (mapcar '* (mapcar '+ ll ur) '(0.5 0.5 0.5))

 

 

 

nw_obj

 

(vla-addMtext

Space

 

(vlax-3d-point pt)

 

0.0

 

(strcat

 

"%<\\AcObjProp.16.2 Object(%<\\_ObjId "

 

(itoa (vla-get-ObjectID ename))

 

">%).Area \\f \"%lu2%pr2%ps[iD"

(strcat compcod (rtos cod 2 0))

"=,"

(strcase unit_key T)

 

"²]\">%"

 

)

 

)

 

)

 

(mapcar

 

'(lambda (pr val)

 

(vlax-put nw_obj pr val)

 

)

 

(list 'AttachmentPoint 'Height 'DrawingDirection

'InsertionPoint 'StyleName 'Layer

'Rotation

)

 

(list 5

(getvar "TEXTSIZE")

5

pt

"Romand-Field"

"Id-Surfaces"

rtx

)

 

)

 

)

(setq cod (+ cod 1))

 

(prin1)

 

)

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é