Aller au contenu

Commandes pour activer le type de ligne, la couleur, l'épaisseur


Messages recommandés

Posté(e)

Bonjour,

Il existe une commande pour activer le calque de l'élément sélectionné : RENDCALQUECOUR Définit le calque courant sur celui auquel appartient un objet donné.

Existe-il une commande pour activer le type de ligne de l'élément sélectionné ?

Existe-il une commande pour activer la couleur de l'élément sélectionné ?

Existe-il une commande pour activer l'épaisseur de l'élément sélectionné ?

 

Comme je n'ai pas trouvé. J'ai créé un LISP.

 

Merci

Patrice

Posté(e)

Bonjour Patrice,

 

Il vas falloir définir ce que tu appel "Activer".

Parle tu de changer les propriété de dessin ? Donc les prochain éléments que tu dessinera auront les propriétés "activées?
image.thumb.png.20060f49bbe9a00e72178db89f5ca43c.png

Parle tu de change les propriété d'éléments déjà créés/sélectionner?

 

Activement
Vincent P.

Lispeur éternel débutant!
Autocad Map3D 2023
Covadis-Autopist 18.2

Posté(e)

Bonjour @PATRICE69

Comme je n'ai pas trouvé. J'ai créé un LISP.

C'est très bien, le principe du site étant le partage de connaissance, il serait bien vu de déposer ce LSP sur le forum.
Il est fort possible que d'autres se posent la même question sans savoir écrire des LSP.

Assurément, ils peuvent apprendre, je suis un de ceux qui cherchent à vulgariser cet apprentissage, toujours est-il que des exemples de codes peuvent déclencher des envies pour les débutants.

Je pense qu'activer signifie rendre courant, on verra le LSP...

SI c'est le cas, je pense donc aux variables CELTYPE et CELWEIGHT

Amicalement

Posté(e)

Bonjour @PATRICE69,

 

+1 avec @Vincent P..

Toutefois, peut-être souhaites-tu définir lesdites propriétés des objets dans les propriétés du calque sur lequel elles se trouvent lorsque les propriétés sont forcées.

Dans ce cas, il existe la commende DEFDUCALQUE.

Mais attendons tes précisions.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

@PATRICE69

 

Si on veut rendre courant une propriété autre que Ducalque, c'est qu'elle a été forcée, ce qui ne devrait jamais arriver.

En effet, le principe de travail dans AutoCAD c'est 1 calque = 1 type d'objet = 1 représentation graphique.

Si j'ai besoin de 2 objets avec 2 couleurs différentes, cela veut dire que ce ne sont pas les mêmes objets donc on les répartit sur 2 calques.

Par conséquent, il y a un bouton pour rendre le calque courant, car c'est effectivement une action récurrente, par contre rendre une autre propriété courante pour forcer cette propriété sur le prochain objet dessiné doit rester une exception dans le travail quotidien, c'est pourquoi il n'y a pas de boutons prévus à cet effet.

 

Olivier

Posté(e)

Bonjour,

Je sais très bien qu'il faut utiliser DuCalque et de créer autant de calques que de spécification.

Mais j'ai un client (une agglomération), il utilise un calque pour un type de représentation et ensuite il utilise des styles couleurs épaisseurs différentes dans le même calque.

Voilà mon LISP

(defun c:Actif()

	(setvar "CMDECHO" 0)
	
	;Selectionner un seul élément
	(princ "\nRendre actif par rapport à l'élément sélectionné (Calque - Style - Couleur - Epaisseur) :")
	(setq entite_sel (ssget ":S:E"))
	(setq UneEntite (entget (ssname entite_sel 0)))
	
	;Calque
	(setq CalqueCourant (cdr (assoc 8 UneEntite)))
	(command "-CALQUE" "_S" CalqueCourant "")
	
	;Style de trait
	(setq StyleCourant "")
	(setq StyleCourant (cdr (assoc 6 UneEntite)))
	(if (/= StyleCourant nil)
		(command "-TYPELIGNE" "A" StyleCourant "")
		(command "-TYPELIGNE" "A" "DuCalque" "")
	)
	
	;Couleur de trait
	(setq CouleurCourant "")
	(setq CouleurCourant (cdr (assoc 62 UneEntite)))
	(if (/= CouleurCourant nil)
		(if (/= CouleurCourant 0)
			(command "-COULEUR" CouleurCourant)
			(command "-COULEUR" "DuBloc")
		)
		(command "-COULEUR" "DuCalque")
	)
	
	;Epaisseur de trait
	(setq EpaisseurCourant "")
	(setq EpaisseurCourant (cdr (assoc 370 UneEntite)))
	(setq iniLWDISPLAY (getvar "LWDISPLAY"))
	(if (/= EpaisseurCourant nil)
		(if (/= EpaisseurCourant -2)
			(command "-EPAISSLIGNE" (/ EpaisseurCourant 100))
			(command "-EPAISSLIGNE" "DuBloc")
		)
		(command "-EPAISSLIGNE" "DuCalque")
	)
	(command "LWDISPLAY" iniLWDISPLAY)

    (prin1)
)

Bonne journée

Patrice

  • Like 1
Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é