Aller au contenu

Eh oui!! encore et toujours les filtres .........


cadpolo

Messages recommandés

Salut à tout le monde ..... :)

Voila comme promis je mets mon code en ligne .......

 

Il sélectionne des entités qu'il transforme et les mets dans un calque et les hachures ....

puis les transforment en bloc ........

(defun C:mec (/ )

 

(setq old_filedia (getvar "filedia" ))

;;Récupère la valeur initial

 

(setq old_celtscale (getvar "celtscale" ))

;;Récupère la valeur initial

 

(setq old_clayer (getvar "clayer" ))

;;Récupère la valeur initial

 

(setq old_cmdecho (getvar "cmdecho" ))

;;Récupère la valeur initial

 

 

(setq old_hpassoc (getvar "hpassoc" ))

;;Récupère la valeur initial

 

(setenv "MaxHatch" "10000000")

;;gère le nb de hachures

 

(setvar "filedia" 1 )

;;Désactive la boite de dialogue

 

(setvar "PEDITACCEPT" 1 )

;;desactive l'invite de pedit "voulez transformez la ligne en polyligne " .....

 

(setvar "cmdecho" 0)

;;évite de voir défiler toutes les commandes

 

;;;(setvar "hpgaptol" 3000)

 

(setvar "hpassoc" 1)

;;rend associative la hachure

 

(alert " VOILES MIS EN CHARGE " )

;;Message d'alerte

 

 

(setvar "cecolor" "DUCALQUE" )

;;Active la couleur Ducalque

 

(setq le_calque (cdr(assoc 8 (entget(car(entsel))))))

;;je (récupère le nom ) selectionne le calque à filtrer

 

 

(setq ssel1 (ssget "_X" (list(cons 8 le_calque) (cons 0 "CIRCLE,SOLID,LINE,LWPOLYLINE,ARC"))))

;;Dans ce calque je filtre toutes les lignes,cercles,solides,lwpolyligne et arc .

 

 

(repeat (sslength ssel1 ))

;;on répète l'action pour parcourir tout le jeu de sélection.

 

(command "_-linetype" "CH" "Cache" "" "" "")

;;Charge le type de ligne CACHE

 

(setq val_ltscale ( getreal "\nEntrer la valeur de la ligne \n<(trace de trait cache)> : " ))

;;recupere la valeur du type de ligne

 

(setvar "ltscale" val_ltscale )

;;Donne une nouvelle valeur au type de ligne tracer

 

(command "-calque" "N" "_BA_Mise en charge" "TL" "Cache" "_BA_Mise en charge" "E" "_BA_Mise en charge" "CO" "8" "" "")

;;crée un nouveau calque avec un type de ligne et une couleur.

 

(command "pedit" "multiple" ssel1 "" "J" "0.25" "" "" )

;;Transforme les lignes en polyligne et les joints

 

(command "_region" ssel1 "" )

;;transforme en region toute la selection

 

(setq ssel1 (ssget "_X" (list(cons 8 le_calque) (cons 0 "CIRCLE,SOLID,LINE,LWPOLYLINE,ARC"))))

 

(command "_chprop" ssel1 "" "CA" "_BA_Mise en charge" "" "" )

;;récupère la sélection et la passe dans le calque mc

 

(command "-calque" "E" "_BA_Mise en charge" "" "")

 

(setq ssel2 (ssget "_X" (list (cons 0 "CIRCLE,SOLID,LINE,LWPOLYLINE,ARC"))))

 

(setq n 0)

 

(setq Long_sel (sslength ssel2))

 

(repeat Long_sel

 

(setq ent_last ( ssname ssel2 n))

 

(command "-fhach" "P" "ar-sand" "0.005" "" "S" ent_last "" "" )

 

(setq n(+ 1 n))

 

);;fin de repeat

 

(command "-bloc" "mc" "0,0,0" (setq ssel3 (ssget "_X" (list(cons 8 "_BA_Mise en charge")))) "")

 

(command "-inserer" "mc" "0,0,0" "" "" "" )

 

(setvar "filedia" old_filedia ) ;;;;reinitialise la boite de dialogue

(setvar "celtscale" old_celtscale ) ;;;;reinitialise l'echelle de ligne

(setvar "clayer" old_clayer ) ;;;;reinitialise l'ancien calque courant

(setvar "cmdecho" old_cmdecho ) ;;;;reinitialise la commande echo

(setenv "MaxHatch" "50000")

 

(prompt "\Tapez mec pour lancer le prog")

 

(princ)

 

);;Fin de defun

 

 

 

Bon il marche, mais dès fois il par en """couille"""" je ne comprends pas ??????

Càd sur un fichier propre ça marche très bien ...

mais si on récupère un fichier archi que je veux utiliser il selectionne n'importe quoi ...

Ex: les hachures qui sont censés être dans des region sortent de le leurs contours ....

il part en""""" vrille """""

Qu'en pensez vous ........

 

Salut ......

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

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é