Aller au contenu

Ecriture de propriété sur lwpolylignes


Messages recommandés

Posté(e)

 

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

Posté(e)

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

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é