Covadis - Applicatif Topographie / VRD d'Autocad

Forum - Communauté - Entraide
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 Comment insérer une surface dans un attribut ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
MarcusIX
Nouvel utilisateur
Nouvel utilisateur


Nombre de messages : 9
Age : 35
Localisation : Nouvelle-Calédonie
Date d'inscription : 23/02/2007

MessageSujet: Comment insérer une surface dans un attribut ?   Lun 26 Mar - 11:37

Bonjour,

voilà je suis en train de faire le découpage parcellaire d'un lotissement.

Je souhaite crée un bloc avec 2 attributs : 1 pour le n° du lot et le 2ème comportant la surface du lot.

J'ai bien la fonction covadis me permettant de crée une numérotation automatique avec un bloc et attributs, par contre je ne vois pas la possibilité d'y ajouter une surface.

Je me retrouve donc à crée le bloc comportant la numérotation et à y ajouter manuellement les surfaces.

Pas très pratique. Si quelqu'un a une astuce pour me dépanner, elle est la bienvenue.

Merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
LoloBa
Utilisateur averti
Utilisateur averti


Nombre de messages : 21
Date d'inscription : 08/02/2007

MessageSujet: Re: Comment insérer une surface dans un attribut ?   Lun 26 Mar - 17:38

Bonjour,

As-tu essayé de composé un bloc depuis le texte issu de la commande Covadis 2D => Cotation/division => Cotation de surface (réacteurs).

Sinon, je ne voix pas trop.

Solution quasi-sûr... Map.

Salut.

Laurent.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
squelet
Membre d'honneur
Membre d'honneur


Nombre de messages : 228
Age : 47
Localisation : Valmorel La Belle (Savoie-73)
Date d'inscription : 17/12/2006

MessageSujet: Re: Comment insérer une surface dans un attribut ?   Lun 26 Mar - 19:22

j'ai peut-être un truc pour toi si tu n'es pas contre un peu du Lisp.
Cette après-midi j'ai bossé sur une routine dont j'avais besoin.
Le principe est de créér un bloc dont tu renseignes le premier attribut, ce qui pourait correspondre avec ton n° de lot, et le deuxième attribut est automatiquement rempli avec la longueur de la polyligne que tu as sélectionné.
Ca donnerait ça pour ton exemple :
Code:

;;; Insère le bloc "mon_bloc" après sélection d'une polyligne
;;; Attribut 1 : N° de lot
;;; Attribut 2 : Aire de la polyligne

(defun c:pms (/ AcDoc Space bloc nom ent aire ins)
(vl-load-com)
(setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
Space (if (= (getvar "CVPORT") 1)
(vla-get-PaperSpace AcDoc)
(vla-get-ModelSpace AcDoc)
)
)
(cond
((tblsearch "BLOCK" (setq bloc "mon_bloc")))
((findfile (setq bloc "mon_bloc.dwg")))
(T (setq bloc nil))
)
(if bloc
(progn
(while (not (setq ent (car (entsel)))))
(if (= (cdr (assoc 0 (entget ent))) "LWPOLYLINE")
(progn
(setq obj (vlax-ename->vla-object ent)
id (vla-get-ObjectID obj)
aire (strcat "%<\AcObjProp Object(%<\_ObjId "
(itoa id)
">%).Area \f "%lu2%pr2%ct8">%"
)
)
(initget 1)
(setq nom (getstring T "nN° de lot: "))
(initget 1)
(setq ins (trans (getpoint "nPoint d'insertion: ") 1 0))
(setq ref
(vla-InsertBlock
Space
(vlax-3d-point ins)
bloc
1.0
1.0
1.0
0.0
)
)
(mapcar '(lambda (x y) (vla-put-TextString x y))
(vlax-invoke ref 'GetAttributes)
(list nom aire)
)
(vla-regen AcDoc acActiveViewport)
)
(alert "L'objet sélectionné n'est pas une polyligne.")
)
)
(alert "Le bloc "aha_bloc_metre_surf" est introuvable.")
)
(princ)
)


En l'état le LISP fonctionne avec un bloc qui doit exister dans la collection du dessin courant (ou dans le gabarit ayant servi à sa création), ou être un fichier .dwg créé avec la commande wbloc et enregistré dans un dossier du chemin de recherche d'AutoCAD.

Le nom du bloc doit être : "mon_bloc" ou "mon_bloc.dwg" (wbloc). Tu remplaces bien sûr "mon_bloc" par le nom que tu veux, mais n'oublie pas alors de le changer aussi dans le code.

Le bloc doit contenir 3 attributs : n°_lot, longueur, et unité, à sélectionner dans cet ordre lors de la création du bloc. Ces attributs seront renseignés via le LISP (donc inutile de spécifier une invite). Pour l'attribut unité, renseigne le champ valeur avec le suffixe de ton choix (m²,....).

Le LISP invite à sélectionner une polyligne (ouverte ou fermée), à entrer le N° de lot (premier attribut) et à spécifier le point d'insertion.

Et voilà.Very Happy

C'est une routine qui vient d'un membre de CADxp.
Qu'il en soit ici remercié.
Merci (gile)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
MarcusIX
Nouvel utilisateur
Nouvel utilisateur


Nombre de messages : 9
Age : 35
Localisation : Nouvelle-Calédonie
Date d'inscription : 23/02/2007

MessageSujet: Re: Comment insérer une surface dans un attribut ?   Lun 2 Avr - 6:36

Salut et merci pour la réponse.
Cependant j'ai un petit souci, lorsque je sélectionne ma polyligne il me met un message d'erreur : "Choix de l'objet: ; erreur: type d'argument incorrect: stringp nil"

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
squelet
Membre d'honneur
Membre d'honneur


Nombre de messages : 228
Age : 47
Localisation : Valmorel La Belle (Savoie-73)
Date d'inscription : 17/12/2006

MessageSujet: Re: Comment insérer une surface dans un attribut ?   Lun 2 Avr - 8:41

MarcusIX a écrit:
lorsque je sélectionne ma polyligne il me met un message d'erreur : "Choix de l'objet: ; erreur: type d'argument incorrect: stringp nil"
Quelle version d'Autocad as-tu ?
Es-tu sûr d'avoir respecter la syntaxe du code ?
Est-ce que tu sélectionnes des polys 2D ? Car cette routine ne fonctionne pas pour des polys 3D. Il y a une modif à faire pour mesurer en 3D.Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Comment insérer une surface dans un attribut ?   Aujourd'hui à 1:15

Revenir en haut Aller en bas
 
Comment insérer une surface dans un attribut ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment insérer une image dans les messages du forum ?
» Comment insérer une ligne ou barre,qui sépare les réponses.
» insérer animation flash dans un message
» Comment afficher un flux RSS dans un Widget
» comment insérer une image dans mes catégories?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Covadis - Applicatif Topographie / VRD d'Autocad :: Covadis - Applicatif VRD d'Autocad :: Discussion générale-
Sauter vers:  
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit