Aller au contenu

Ecriture de propriété sur lwpolylignes


fabcad

Messages recommandés

 

Hello

 

Merci, merci, ton programme est TIP-TOP :)

 

Car avec mes dessins "hyper_structures" au niveau du nom de CERTAINs calques,

je vais pouvoir etiquetter / labeliser mes polylignes (closes ou non)

avec la partie droite du nom de calque ! :D

 

Bonuscad est mon Pere Noel (avec effet retard) de l'annee 2009 !

 

Bon WE (et surtout la sante), Le Decapode

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Le lisp modifié comme Bonus

 

(defun c:ctxt(/ ang doc ent jus tot pt1 pt2 ptm reg txt)
 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (and (eq (setq txt (getstring T "\n\tTexte à générer (Défaut = Nom du calque) : ")) "")
   (setq txt nil)
 )
 (if (ssget (list (cons 0 "LWPOLYLINE")))
   (progn
     (vlax-for ent (setq sel (vla-get-activeselectionset doc))
(if (eq (vla-get-closed ent) :vlax-true)
  (progn
    (setq reg (vlax-invoke (if (= (getvar "CVPORT") 1)
			     (vla-get-paperspace doc)
			     (vla-get-modelspace doc)
			   )
			   'addregion
			   (list ent)
	      )
	  ptm (append (vlax-get (car reg) 'centroid) (list (getvar "thickness")))
	  ang 0
	  jus 2
    )
    (vla-delete (car reg))
  )
  (progn
    (setq tot 0)
    (while (< (vlax-curve-getdistatparam ent tot) (/ (vla-get-length ent) 2))
      (setq tot (1+ tot))
    )
    (setq pt1 (vlax-curve-getpointatparam ent (1- tot))
	  pt2 (vlax-curve-getpointatparam ent tot)
	  ptm (polar pt1 (setq ang (angle pt1 pt2)) (/ (distance pt1 pt2) 2))
	  jus 1
    )
  )
)
(and (> ang (/ pi 2)) (< ang (+ pi (/ pi 2)))
  (setq ang (+ ang pi))
)
(entmake (list	(cons   0 "TEXT")
		(cons 100 "AcDbEntity")
		(cons 100 "AcDbText")
		(if txt
		  (cons 1 txt)
		  (cons 1 (if (vl-string-search "_" (vla-get-layer ent))
			    (substr (vla-get-layer ent) (1+ (length (member 95 (reverse (vl-string->list (vla-get-layer ent)))))))
			    (vla-get-layer ent)
			  )
		  )
		)
		(cons   7 (getvar "textstyle"))
		(cons   8 (vla-get-layer ent))
		(cons  10 ptm)
		(cons  11 ptm)
		(cons  40 (getvar "textsize"))
		(cons  50 ang)
		(cons  72 1)
		(cons  73 jus)
	 )
)
     )
     (vla-delete sel)
   )
 )
 (vla-endundomark doc)
 (princ)
)

 

Pour le 2), ma chère pince, tu as un exemple avec les xdatas que je vois ce qui est possible de faire ?

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é