Aller au contenu

MASQUE SUR ATTRIBUTS


lili2006

Messages recommandés

Bonsoir lili2006,

 

A ma connaissance je ne pense pas qu'il existe cette fonction sur les attributs. Par contre dans covadis la fonction existe dans cov.edition ==>attributs===>occultations.

 

Autrement la solution consiste a faire un masque wipeout dans le bloc ?

 

@plus

 

LB

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je ne saisis pas l'intérêt du wipeout sur l'attribut.

Quand on définit un attribut, il y a la possibilité de l'avoir visible ou non.

http://img240.imageshack.us/img240/3736/attdefqn2.png

 

 

 

[Edité le 5/8/2008 par vinz34]

Lien vers le commentaire
Partager sur d’autres sites

Comme quoi un mot peut faire toute la différence...

 

Peut-on placer un masque de type "wipeout" [surligneur]sur[/surligneur] des attributs ?

 

Avec sur, je suis de l'avis de vinz34

Si c'est sous l'attribut, c'est une autre histoire. C'est possible, mais avec conditions.

 

La condition est que ton attribut renseigné le soit avec un nombre de caractères constants.

Si oui, alors cela est réalisable.

 

Lors de la définition de ton attribut, créer une étiquette avec le même nombre de caractères.

Utilises la commande des express TCIRCLE avec l'option Rectangle, puis la commande WIPEOUT avec l"option polyligne et effacement.

Et enfin la commande DRAWORDER pour gérer l'affichage avant de définir ton bloc définitif.

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Merci de vos réponses,

 

lovecraft, je n'ai que AutoCAD à la maison et je voudrais pouvoir le faire sans covadis !

 

Autrement la solution consiste a faire un masque wipeout dans le bloc ?

 

C'est une bonne idée, je n'y avais pas du tout pensé !!!, merci :P

 

vinz34, il me faut voir cet attribut, c'est une information de plan, mais mon problème n'est que très ponctuel donc pas vraiment génant. Je me demandais, suite à ce constat ,si c'était possible de le faire,...

 

Exemple sur l'image ci-dessous, je ne peux pas réduire trop la hauteur de texte afin de garder l'impression au 1/100, mais je n'aime pas trop la superposition d'entités car cela perturbe la lecture "papier", voilà, d'ou ma question.

 

http://images4.hiboox.com/images/3208/b3958ec83befdab54e316287912c77d8.jpg

 

Merci encore à vous deux,

 

 

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Bien vu bonuscad ! (J'espère que mes étudiants ne vont pas me lire car je passe mon temps à le leur dire => Comme quoi un mot peut faire toute la différence...)

 

Effectivement, c'est bien sous l'attribut !

 

Je vais tester ta méthode de suite !

 

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Suite aux tests, je rencontre deux problèmes =>

 

1) Je n'arrive pas à faire disparâitre la polyligne (je ne me rapelle plus de la commande pour mettre le cadre inactif !!! Avec Wipeout option cadre => inactif, mais avec tcircle des express,...???!!)

 

2) Le wipeout ne semble pas fonctionner !!

 

Ci-joint, le fichier pour ceux qui désirerai tester,...

 

Merci d'avance,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Merci de ta proposition phil_vsd mais comme le montre l'image ci-dessus, c'est une information de plan (dimension d'une poutre) qu'il faut pouvoir lire.

 

thry0, à quel moment dois-je utiliser cette commande ? Elle ne réagit, selon moi que sur un wipeout, mais la commande des express est-elle reconnue comme un "wipeout AutoCAd" ? Je ne pense pas,... Merci pour l'idée.

 

Commande: TFRAMES

Initialisation...

No images or wipeouts in the current drawing.

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Tu lances TCIRCLE - Rectangles - Constant - Height (pour avoir rectangles même hauteur)

Là nécessité de "retravailler" ton cadre mais le "gabarit" est fait. Donc un rectangle qui englobe tous les autres puisque dans ton exemple ton repère est constitué de plusieurs entités (!)

Effacer ceux non nécessaire

Et ensuite comme dis bonuscad WIPEOUT - Polyligne - effacer Polyligne - o

Sélectionner ton texte qui a disparu (!) Ordre de tracé - au dessus (il réapparait, ouf !)

Tu refait ton bloc,

Et là TFRAMES qui bascule sur ON ... seul le texte est visible

et ton bloc masque bien les entitées sur lesquelles il sera juxtaposé

Lien vers le commentaire
Partager sur d’autres sites

J'ai peut être trouvé la solution en modifiant légèrement une routine d'Autodesk de 1992.

Ça à l'air de fonctionner... avec simplement quelque test rapide.

 

;;; TBOX2.LSP
;     Copyright (C) 1992 by Autodesk, Inc.
;
;     Permission to use, copy, modify, and distribute this software 
;     for any purpose and without fee is hereby granted, provided 
;     that the above copyright notice appears in all copies and that 
;     both that copyright notice and this permission notice appear in 
;     all supporting documentation.
;
;     THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
;     WARRANTY.  ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
;     PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
;     ****************************************************************
;;;
;;; Demonstrates the (textbox) function by drawing a Polyline box around
;;;   a selected text entity.
;;; This example differs from TBOX.LSP by using the (sin) and (cos) functions
;;;   to calculate the required angles.
;;; See "Text Box Utility Function" in chapter 2 of the AutoLISP Programmer's
;;;   Reference (Release 12)

(defun C:TBOX ( / en textent sv_cmd sv_blp sv_blp ang htr sinrot cosrot t1 t2 p0 p1 p2 p3 p4)
 (while (null (setq textent (car (setq en (nentsel "\nSelectionner l'attribut: "))))))
(setq textent (entget textent))
(cond
	((= (cdr (assoc 0 textent)) "ATTRIB")
		(setq sv_osm (getvar "osmode")
		      sv_cmd (getvar "cmdecho")
					sv_blp (getvar "blipmode")
	        p0 (cdr (assoc 10 textent))
	        ang (cdr (assoc 50 textent))
					htr (/ (cdr (assoc 40 textent)) 5.0)
	        sinrot (sin ang)
	        cosrot (cos ang)
	        t1 (car (textbox textent))
	        t2 (cadr (textbox textent))
					t1 (list (- (car t1) htr) (- (cadr t1) htr))
					t2 (list (+ (car t2) htr) (+ (cadr t2) htr))
	        p1 (list (+ (car p0)
	                    (- (* (car t1) cosrot) (* (cadr t1) sinrot)))
	                 (+ (cadr p0)
	                    (+ (* (car t1) sinrot) (* (cadr t1) cosrot))))
	        p2 (list (+ (car p0)
	                    (- (* (car t2) cosrot) (* (cadr t1) sinrot)))
	                 (+ (cadr p0)
	                    (+ (* (car t2) sinrot) (* (cadr t1) cosrot))))
	        p3 (list (+ (car p0)
	                    (- (* (car t2) cosrot) (* (cadr t2) sinrot)))
	                 (+ (cadr p0)
	                    (+ (* (car t2) sinrot) (* (cadr t2) cosrot))))
 		      p4 (list (+ (car p0)
 		                  (- (* (car t1) cosrot) (* (cadr t2) sinrot)))
 		               (+ (cadr p0)
   		                (+ (* (car t1) sinrot) (* (cadr t2) cosrot))))
	  )
		(if (/= (getvar "worlducs") 1)
			(setq p1 (trans p1 0 1) p2 (trans p2 0 1)
			      p3 (trans p3 0 1) p4 (trans p4 0 1)
			)
		)
		(setvar "cmdecho" 0)
		(setvar "blipmode" 0)
		(setvar "osmode" 0)
	  (command "._pline" p1 "_width" "0.0" "" p2 p3 p4 "_close")
	  (command "._wipeout" "_polyline" "_last" "_yes")
	  (command "._draworder" "_last" "" "_under" en "_last" "")
		(setvar "cmdecho" sv_cmd)
		(setvar "blipmode" sv_blp)
		(setvar "osmode" sv_osm)
	)
	(T (prompt "\nEntité n'est pas un attribut"))
)
 (princ)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Super cette routine bonuscad !

 

Cependant, j'ai un problème !

Je voudrais pouvoir conserver certains contour et d'autres non !

 

 

Je ne peux donc pas utiliser ta commande thry0 ("TFRAMES" ou bien " WIPEOUT - Polyligne - effacer Polyligne - o")

 

Mais, il existe une solution ! =>

 

J'avais déjà rencontré ce problème (pas pour des attributs !) et (gile) avait écrit une routine qui consiste à selectionner les polylignes ou cadres des wipeout que l'on souhaitent conserver (lisp wo2pl) !

 

Avant wo2pl

 

http://images4.hiboox.com/images/3208/527706109904ca5051676f6de9e1e873.jpg

 

Après wo2pl

 

http://images4.hiboox.com/images/3208/2da6beabc1fe974e48736e21ba967bec.jpg

 

Tout est bien qui finit bien !

 

Merci à vous tous et au plaisir,...

 

PS : Pour ceux qui seraient intéressés par la non moins super routine de (gile)

 

 (defun wipeout2plst (wo / elst l)
(setq elst (entget wo))
(setq l (cadr (assoc 11 elst)))
(reverse
(cdr
(reverse
(mapcar
'(lambda (p)
(mapcar '+
(list (* (car p) l) (* (cadr p) (- l)) 0.0)
(list (/ l 2.0) (/ l 2.0) 0.0)
(cdr (assoc 10 elst))
)
)
(mapcar 'cdr
(vl-remove-if-not '(lambda (x) (= (car x) 14)) elst)
)
)
)
)
)
)

(defun c:wo2pl (/ ss n wo pts)
(if (setq ss (ssget '((0 . "WIPEOUT"))))
(repeat (setq n (sslength ss))
(setq pts (wipeout2plst (ssname ss (setq n (1- n)))))
(entmake
(append
(list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length pts))
'(70 . 1)
)
(mapcar '(lambda (pt) (list 10 (car pt) (cadr pt))) pts)
)
)
)
)
(princ)
) 

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

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é