Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

recreer un contour a plusieurs hachures

13 RÉPONSES 13
RÉSOLU
Répondre
Message 1 sur 14
ben050
7115 Visites, 13 Réponses

recreer un contour a plusieurs hachures

bonjour,
voila, je viens de récupérer un fichier dwg comprenant des hachures dépourvues de polylignes de contour. Je souhaiterai redonner un contour a chacune de ces hachures pour pouvoir exploiter ces contours ensuite. Seulement ces hachures sont nombreuses et je souhaiterai savoir si l'on peut sélectionner plusieurs hachures et leur attribuer un contour simultanément. Je vous remercie par avance. Benjamin
13 RÉPONSES 13
Message 2 sur 14
_gile
en réponse à: ben050

Salut,

Un petit LISP vite fait :
Commande : HBOUND
Sélectionner les hachures ou faire Entrée, Espace ou clic droit pour tout traiter.

{code}(defun c:hbound (/ ss echo n ent)
(princ "\nSélectionnez les hachures (Entrée, Espace ou clic droit pour toutes")
(if (or (setq ss (ssget '((0 . "HATCH"))))
(setq ss (ssget "_X" '((0 . "HATCH"))))
)
(progn
(setq echo (getvar 'cmdecho)
n -1
)
(setvar 'cmdecho 0)
(while (setq ent (ssname ss (setq n (1+ n))))
(if (= 0 (cdr (assoc 97 (entget ent))))
(vl-catch-all-apply
'(lambda ()
(command "_.hatchedit" ent "_boundary" "_polyline" "_yes")
)
)
)
)
(setvar 'cmdecho echo)
)
)
(princ)
){code}


Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 3 sur 14
ben050
en réponse à: ben050

Merci _gile de t'interesser à cette difficulté. En revanche, je ne vois pas ce que je dois faire avec ce LISP. J'ai compris que c'était des commandes permettant d'autres fonctions, mais je ne sais pas me servir de ce truc. Dois-je rentrer ces entrées dans la commande autocad directement, ou dans les parametres de programmes, ou ailleurs? Désolé mes connaisances autocad ne sont pas encore au point.
Message 4 sur 14
_gile
en réponse à: ben050

Salut,

Lis attentivement ce sujet :
http://www.cadxp.com/sujetXForum-14630.htm


Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 5 sur 14
ben050
en réponse à: ben050

Salut gile,
la version de mon logiciel est française, la commande tu m'a fourni peut elle fonctionner quand meme?
Autocad me dit qu'il a correctement chargé le fichier lisp. Cependant je ne vois pas dans quel ordre il faut faire la manipulation. Faut il ouvrir la boite de dialogue hachures, puis charger le fichier ou l'inverse? Faut il que je renomme des elements de acad.pgp ?
Merci.
Message 6 sur 14
Anonymous
en réponse à: ben050

Bonjour,
Si le fichier est correctement chargé alors, comme l'a écrit gile,
Commande : HBOUND (à taper au clavier)
Bon courage
--
Bernard Flavignard
www.guidonchalettois.fr
www.hutchinsonopentour.fr
__o
_`\<,_
( )/ ( )

a écrit dans le message de news: 6281995@discussion.autodesk.com...
Salut gile,
la version de mon logiciel est française, la commande tu m'a fourni peut
elle fonctionner quand meme?
Autocad me dit qu'il a correctement chargé le fichier lisp. Cependant je ne
vois pas dans quel ordre il faut faire la manipulation. Faut il ouvrir la
boite de dialogue hachures, puis charger le fichier ou l'inverse? Faut il
que je renomme des elements de acad.pgp ?
Merci.
Message 7 sur 14
ben050
en réponse à: ben050

Ah, ca y est! La commande marche impécablement! Un grand merci à toi _gile pour ce LISP. J'espère que cela ne t'a pas pris trop de temps. Merci Bernard Flavignard, je n'avais pas tapé la commande au clavier. Bonne journée.
Message 8 sur 14
ahbevi
en réponse à: ben050

Salut _gile ,

super ton lisp mais pourquoi faut-il toujours lancer la commande soi-même ,n'est-il pas possible de l'inclure directement dans le lisp ??

Bonne journée.

Alain HG
Message 9 sur 14
_gile
en réponse à: ben050

Salut,

Je ne comprends pas bien la demande.
En LISP on définit des commandes qu'il faut lancer comme des commandes AutoCAD natives ou des fonctions qui s'utilisent comme des fonctions LISP natives.

Si tu veux que la commande soit exécutée à l'ouverture de chaque document, il suffit d'ajouter (c:hbound) après le code donné plus haut et charger automatiquement le fichier au démarrage (avec la valise de la commande appload) ou depuis un fichier aadoc.lsp ou MNL (voir explications dans le lien donné plus haut).


Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 10 sur 14
ahbevi
en réponse à: ben050

C'était juste par simple curiosité.En effet,lorsque je teste les lisp proposés je fais un glisser-coller dans le fichier Autocad et donc à chaque fois il faut taper la commande finale au clavier pour l'exécuter totalement (alors pourquoi ne pas la fournir directement dans le lisp (ce n'est qu'une simple remarque)).Donc j'ai suivi tes explications et j'ai rajouté "(c:hbound) " à la fin de ton lisp et maintenant ça fonctionne immédiatement !!!
Un grand merci et au plaisir de te relire et de découvrir d'autres lisp.

Alain HG
Message 11 sur 14
lau74
en réponse à: ben050

Je reviens de temps en temps sur ce site lorsque je suis bien bloqué.

 

Ce site est une mine d'or pour les Autocadiens que nous sommes.

 

Deux mots dans le champs de recherche et je trouve solution.

 

Un copier coller du lisp de Gile et j'obtient quasi ce que je recherche.

 

Milles merci encore à toi. Ton excellence et ton sens du service est véritablement une aubaine pour nous.

 

Laurent.

Message 12 sur 14
SigTopo_ColmarAgglo
en réponse à: lau74

Bonjour,

Cette fonction lisp est utilisée chez nous très fréquemment. Après plus de 10 ans d'utilisation, nous avons constaté un petit "bug" qui se produit dans un cas très particulier :

- si certains calques sont gelés, la commande hbound ne reconstituera que les contours des hachures des calques non gelés : parfait, c'est ce qu'on attend !

- si par contre, dans ces calques non gelés, il n'y a aucune hachure et donc aucun contour à reconstituer, la fonction hbound va reconstituer les contours des hachures des calques gelés.

Cela nous pose problème dans le cas de scripts automatiques qui traitent plusieurs fichiers. On contourne le problème en créant "artificiellement" une petite hachure dans un coin d'un calque non gelé mais si un expert lisp trouve la solution pour implémenter cette particularité dans le script ce serait top !

Message 13 sur 14
clara.conrathNV3US
en réponse à: ben050

Bonjour,

 

Voici une solution simple pour générer le contour de plusieurs hachures en même temps : 

 

Commande : HATCHGENERATEBOUNDARY

 

Et séléctionner les hachures souhaitées.

Message 14 sur 14
SigTopo_ColmarAgglo
en réponse à: ben050

Bonjour
Merci pour cette commande native d'autocad que je ne connaissais pas. Après tests, elle semble fonctionner parfaitement et ne pas reproduire le bug de la commande lisp décrite dans mon message précédent. 😀
Merci pour ce partage

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report