Polilinhas e suas áreas

Bom, postei essa lisp aí no site do autolisp e vou colocar ela aqui também:


(DEFUN C:AREA2 (/ ent pt polig model application thisdrawing Height
  (
vl-load-com
  (
setq ent    (car (Entsel "\nSelecione pline")) 
       pt     (getpoint "\nInforme o ponto de inserção"
       Height (getdist "\nQual a altura do texto"
       polig  (vlax-ename->vla-object ent
       application (vlax-get-acad-object
       thisdrawing (vla-get-activedocument application
       model (vla-get-modelspace thisdrawing
       TextString (strcat "%<\\AcObjProp.16.2 Object(%<\\_ObjId " 
                        (itoa (vla-get-ObjectID polig)) 
                        ">%).Area \\f ""%lu2%pr2%ps[A=,m²]%ds44%th46"">%"
       InsertionPoint (vlax-3d-point pt
        
       ) 
  (
vla-addtext model TextString InsertionPoint Height
  )



Ela faz o seguinte: após selecionar uma polilinha, ela cria um texto contendo a área desta polilinha. Simples né? o interessante fica por conta do FIELD que ela usa para escrever este texto!!! pois ele se atualiza se você modificar esta polilinha!! Este é um recurso que já vem de tempos no autocad, mas que pouca gente usa ou mesmo conhece...

Vai ser bastante útil para quem faz desenho arquitetônico!!!

Com poucas modificações, dá pra fazer escrever esse texto numa tabela por exemplo, já que o mais complexo é criar a string correta para o FIELD... Aconselho a você se informar mais sobre FIELDs no menu "Insert/Filed" e no help do cad... tem coisas bem interessantes que dá pra fazer, hehehehe

LinkWithin

Related Posts Plugin for WordPress, Blogger...