<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571929#M94021</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4592867"&gt;@rolisonfelipe&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;FONT style="background-color: #ffffff;"&gt;Hello, @ dlanorh.&lt;BR /&gt;The Lisp SMC2 still does not sum separately the line and ARC components of the Pricipal object of polyline thus generating a sum in the objects with arches within the LINEAR variable where the polyline reading schedule presented a larger report than the Expected.&lt;BR /&gt;The Label5 is exactly what I need, it shows the distance correctly in the objects of arc, however it is unnecessary the azimutes, because it is necessary only the LABEL of the site.&lt;BR /&gt;Since I thank you for the dedication.&lt;/FONT&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;PRE&gt;(vl-load-com)
(defun c:label1 ( / *error* c_doc spc sv_lst sv_vals nw_style nw_font htx ss o_type pr pt_start pt_end seg_len seg_bulge rad alpha m_pt t_ang t_str nw_obj ll ur att_pt t_width)
                           
	(defun *error* ( msg )
		(mapcar 'setvar sv_lst sv_vals)
		(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
		(if (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*EXIT*")) (princ (strcat "\nOops an Error : " msg " occurred.")))
		(princ)
	);end_*error*_defun
	
  (setq c_doc (vla-get-activedocument (vlax-get-acad-object))
        spc (if (= 1 (getvar 'cvport))
                (vla-get-paperspace c_doc)
                (vla-get-modelspace c_doc)
            );end_if
				sv_lst (list 'osmode 'cmdecho 'angdir 'angbase )
        ;sv_lst (list 'osmode 'cmdecho 'angdir 'angbase 'textstyle 'textsize);;system variable names list
				sv_vals (mapcar 'getvar sv_lst);;get current values
  );end_setq
;  (cond ( (null (tblsearch "LAYER" "DIMENSIONS")) (vlax-put (vla-add (vla-get-layers c_doc) "DIMENSIONS") 'color 7)))
;  (cond ( (null (tblsearch "STYLE" "ELEV_ARIAL_1"))
;          (setq nw_style (vla-add (vla-get-textstyles c_doc) "ELEV_ARIAL_1")
;                nw_font (strcat (getenv "systemroot") "\\Fonts\\Arial.ttf")
;          );end_setq
;          (mapcar '(lambda (pr val) (vlax-put-property nw_style pr val))
;            (list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag)
;            (list nw_font 0.0 (/ (* 0.0 pi) 180) 1.0 0.0)
;          );end_mapcar
;        )
;  );end_cond
  (mapcar 'setvar sv_lst (list 0 0 1 90.0))
;  (initget 6)
;  (setq htx (getreal (strcat "\nSpecify text height &amp;lt;" (rtos (getvar "TEXTSIZE")) "&amp;gt; : ")))
;  (if (not htx) (setq htx (getvar 'textsize)))

;  (mapcar 'setvar sv_lst (list 0 0 "ELEV_ARIAL_1" htx)); give them the values you want

	(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
	(vla-startundomark c_doc)

  (prompt "\nSelect polylines : ")
  (while (null (setq ss (ssget '((0 . "LWPOLYLINE")))))
    (princ "\nSelection is Empty. Selected Items were not LWPolylines!")
  );end_while
   
  (vlax-for obj (vla-get-activeselectionset c_doc)
    (setq pr -1.0)
    (repeat (fix (vlax-curve-getendparam obj))
      (setq pr (1+ pr)
            pt_start (vlax-curve-getpointatparam obj pr)
            ;pt_end (vlax-curve-getpointatparam obj (1+ pr))
            seg_len (- (vlax-curve-getdistatparam obj (1+ pr)) (vlax-curve-getdistatpoint obj pt_start))
            seg_bulge (vla-getbulge obj pr)
            ;rad (if (zerop seg_bulge) 0.0 (abs (/ seg_len (* 4.0 (atan seg_bulge)))))
            ;alpha (if (zerop seg_bulge) (angle (trans pt_start 0 1) (trans pt_end 0 1)) 0.0)
            m_pt (vlax-curve-getpointatparam obj (+ 0.5 pr))
            alpha (angle '(0 0 0) (vlax-curve-getfirstderiv obj (+ 0.5 pr)))
            t_ang alpha
      );end_setq
      (if (&amp;lt; (/ pi 2) t_ang (* (/ pi 2) 3)) (setq t_ang (+ t_ang pi)))
      (if (= seg_bulge 0.0)
        (setq t_str (rtos seg_len 2 2))
        (setq t_str (rtos seg_len 2 2)) 
      );end_if
      (setq nw_obj (vla-addmtext spc (vlax-3d-point m_pt) 0.0 t_str))
      (vla-getboundingbox nw_obj 'll 'ur)
      (setq ll (vlax-safearray-&amp;gt;list ll)
            ur (vlax-safearray-&amp;gt;list ur)      
            t_width (+ (* (distance ll ur) (cos (angle ll ur))) 5.0)
      );end_setq
      (if (&amp;gt;= t_width seg_len)
        (setq att_pt 5
              t_width seg_len
        );end_setq
        (setq att_pt 8
              m_pt (polar m_pt (+ t_ang (/ pi 2)) (* (getvar 'textsize) 0.5))
        );end_setq
      );end_if        

      (mapcar '(lambda (pr val) (vlax-put nw_obj pr val))
        ;(list 'AttachmentPoint 'Insertionpoint 'Height 'DrawingDirection 'StyleName 'Layer 'Rotation 'Width)
        ;(list att_pt m_pt (getvar 'textsize) 5 "ELEV_ARIAL_1" "DIMENSIONS" t_ang t_width)
        (list 'AttachmentPoint 'Insertionpoint 'Height 'DrawingDirection 'Rotation 'Width)
        (list att_pt m_pt (getvar 'textsize) 5 t_ang 0.0)
      );end_mapcar
    );end_repeat
  );end_for
;  (mapcar 'setvar sv_lst sv_vals)
	(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
  (princ)
);end_defun&lt;/PRE&gt;
&lt;P&gt;Apenas tirei o texto "AZ - " que você não deseja.&lt;/P&gt;
&lt;P&gt;O código é do&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5644077"&gt;@dlanorh&lt;/a&gt;&amp;nbsp;. Muito Bom!!!&lt;/P&gt;
&lt;P&gt;Espero ter ajudado&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Fabrício&lt;/P&gt;</description>
    <pubDate>Mon, 04 Feb 2019 17:40:38 GMT</pubDate>
    <dc:creator>F.Camargo</dc:creator>
    <dc:date>2019-02-04T17:40:38Z</dc:date>
    <item>
      <title>HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8530202#M94004</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS ..... AND AT THE END INFORM A HEIGHT TO ADD THE TEXT WITH THE LINEAR DIMENSION ON THE LINES AND ON THE OBJECTS ARCHED WITH THE LENGTH AND THE RAY.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;THANK YOU FOR HELP !!!&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;
&lt;PRE&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;********************Soma comprimento**********************
;**********************************************************
(defun c:ADD (/ ang1 ang2 comp ctd ent old-error-sl pt1 pt2 rad raio sel sname soma
ss tipo)
(setvar "cmdecho" 0)
(defun @Error_sl (msg)
(command "._regen")
(setq *error* old-error)
(print "*Comando cancelado*")
(setvar "cmdecho" 1)
(princ)
)
(defun @selecao ()
(print "ADD LINHAS")
(setq ss (ssget))
(if ss
(progn
(setq ctd 0)
(repeat (sslength ss)
(setq sname (ssname ss ctd))
(setq ent (entget sname))
(setq tipo (cdr (assoc 0 (entget (ssname ss ctd)))))
(@soma)
(setq ctd (1+ ctd))
)
)
(alert "Nenhuma OBJ selecionada !!!")
)
)
(defun @individual ()
(while
(setq ss (entsel (strcat "\nADD LINHAS :")))
(if ss
(progn
(setq sname (car ss))
(setq ent (entget (car ss)))
(setq tipo (cdr (assoc 0 ent)))
(redraw sname 3)
(@soma)
)
)
)
)
(defun @soma1 ()
(cond
((or
(= tipo "PLINE")
(= tipo "LWPOLYLINE")
)
(progn
(command "area" "o" sname)
(setq soma (+ soma (getvar "perimeter")))
)
)
((= tipo "LINE")
(setq pt1 (cdr (assoc 10 ent)))
(setq pt2 (cdr (assoc 11 ent)))
(setq soma (+ soma (distance pt1 pt2)))
)
)
)
(defun @soma2 ()
(cond
((or
(= tipo "CIRCLE")
(= tipo "SPLINE")
(= tipo "ELLIPSE")
)
(progn
(command "area" "o" sname)
(setq soma (+ soma (getvar "perimeter")))
)
)
((= tipo "ARC")
(setq raio (cdr (assoc 40 ent)))
(setq ang1 (cdr (assoc 50 ent)))
(setq ang2 (cdr (assoc 51 ent)))
(if (&amp;lt; ang1 ang2)
(setq rad (- ang2 ang1))
(setq rad (+ (* 2 PI) (- ang2 ang1)))
)
(setq comp (* raio rad))
(setq soma (+ soma comp))
)
)
)
(setq old-error-sl *error*)
(setq *error* @Error_sl)
(setq soma 0)
(if (not old-sel)
(progn
(initget "S I")
(setq sel (getkword "\nTipo de seleção (Seleção / Individual) : "))
(if (not sel)
(progn
(setq sel "S")
(setq old-sel "S")
)
(setq old-sel sel)
)
)
(progn
(initget "S I")
(setq sel (getkword (strcat "\nTipo de seleção (Seleção / Individual) &amp;lt;" old-sel
"&amp;gt;: ")))
(if (not sel)
(setq sel old-sel)
(setq old-sel sel)
)
)
)
(cond
((= sel "S")(@selecao))
((= sel "I")
(progn
(@individual)
(command "._regen")
)
)
)
(if soma
(progn
(alert (strcat "Distância acumulada: " (rtos soma 2 4)))
(print (strcat "Distância acumulada: " (rtos soma 2 4)))
)
)
(setvar "cmdecho" 1)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(PRINC)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;P&gt;Edited by&lt;BR /&gt;Discussion_Admin&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jan 2019 16:15:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8530202#M94004</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-01-17T16:15:03Z</dc:date>
    </item>
    <item>
      <title>Re: ADD LISP E MOVE</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8530736#M94005</link>
      <description>&lt;P&gt;ADD LISP E MOVE&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jan 2019 18:49:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8530736#M94005</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-01-17T18:49:54Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8531081#M94006</link>
      <description>&lt;P&gt;The&amp;nbsp; @Anonymous function is not defined.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(= tipo "PLINE")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;can never happen.&amp;nbsp; If you want it to process "heavy" Polylines as distinguished from "lightweight"&amp;nbsp;&lt;STRONG&gt;LW&lt;/STRONG&gt;Polylines, that should be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(= tipo "P&lt;STRONG&gt;&lt;FONT color="#0000ff"&gt;OLY&lt;/FONT&gt;&lt;/STRONG&gt;LINE")&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jan 2019 20:58:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8531081#M94006</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2019-01-17T20:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8531135#M94007</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I WILL TRY TOGETHER THE PARTIES&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jan 2019 21:15:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8531135#M94007</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-01-17T21:15:04Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8531149#M94008</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;IF I JOIN ALL, ALL SOMA&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;;********************Soma comprimento**********************&lt;BR /&gt;;**********************************************************&lt;/DIV&gt;
&lt;DIV&gt;(defun c:ADD (/ ang1 ang2 comp ctd ent old-error-sl pt1 pt2 rad raio sel sname soma&lt;BR /&gt;ss tipo)&lt;BR /&gt;(setvar "cmdecho" 0)&lt;/DIV&gt;
&lt;DIV&gt;(defun @Anonymous_sl (msg)&lt;BR /&gt;(command "._regen")&lt;BR /&gt;(setq *error* old-error)&lt;BR /&gt;(print "*Comando cancelado*")&lt;BR /&gt;(setvar "cmdecho" 1)&lt;BR /&gt;(princ)&lt;BR /&gt;)&lt;/DIV&gt;
&lt;DIV&gt;(defun @selecao ()&lt;BR /&gt;(print "ADD LINHAS")&lt;BR /&gt;(setq ss (ssget))&lt;BR /&gt;(if ss&lt;BR /&gt;(progn&lt;BR /&gt;(setq ctd 0)&lt;BR /&gt;(repeat (sslength ss)&lt;BR /&gt;(setq sname (ssname ss ctd))&lt;BR /&gt;(setq ent (entget sname))&lt;BR /&gt;(setq tipo (cdr (assoc 0 (entget (ssname ss ctd)))))&lt;BR /&gt;(@soma)&lt;/DIV&gt;
&lt;DIV&gt;(setq ctd (1+ ctd))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(alert "Nenhuma OBJ selecionada !!!")&lt;BR /&gt;) &lt;BR /&gt;)&lt;/DIV&gt;
&lt;DIV&gt;(defun @individual ()&lt;BR /&gt;(while&lt;BR /&gt;(setq ss (entsel (strcat "\nADD LINHAS :")))&lt;BR /&gt;(if ss&lt;BR /&gt;(progn&lt;BR /&gt;(setq sname (car ss))&lt;BR /&gt;(setq ent (entget (car ss)))&lt;BR /&gt;(setq tipo (cdr (assoc 0 ent)))&lt;BR /&gt;(redraw sname 3)&lt;BR /&gt;(@soma)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;/DIV&gt;
&lt;DIV&gt;(defun @Anonymous ()&lt;BR /&gt;(cond&lt;BR /&gt;((or&lt;BR /&gt;(= tipo "PLINE")&lt;BR /&gt;(= tipo "LWPOLYLINE")&lt;BR /&gt;(= tipo "CIRCLE")&lt;BR /&gt;(= tipo "SPLINE")&lt;BR /&gt;(= tipo "ELLIPSE")&lt;BR /&gt;)&lt;BR /&gt;(progn&lt;BR /&gt;(command "area" "o" sname)&lt;BR /&gt;(setq soma (+ soma (getvar "perimeter")))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;((= tipo "LINE")&lt;BR /&gt;(setq pt1 (cdr (assoc 10 ent)))&lt;BR /&gt;(setq pt2 (cdr (assoc 11 ent)))&lt;BR /&gt;(setq soma (+ soma (distance pt1 pt2)))&lt;BR /&gt;)&lt;BR /&gt;((= tipo "ARC")&lt;BR /&gt;(setq raio (cdr (assoc 40 ent)))&lt;BR /&gt;(setq ang1 (cdr (assoc 50 ent)))&lt;BR /&gt;(setq ang2 (cdr (assoc 51 ent)))&lt;BR /&gt;(if (&amp;lt; ang1 ang2)&lt;BR /&gt;(setq rad (- ang2 ang1))&lt;BR /&gt;(setq rad (+ (* 2 PI) (- ang2 ang1)))&lt;BR /&gt;)&lt;BR /&gt;(setq comp (* raio rad))&lt;BR /&gt;(setq soma (+ soma comp))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;/DIV&gt;
&lt;DIV&gt;(setq old-error-sl *error*)&lt;BR /&gt;(setq *error* @Anonymous_sl)&lt;BR /&gt;(setq soma 0) &lt;BR /&gt;(if (not old-sel)&lt;BR /&gt;(progn&lt;BR /&gt;(initget "S I")&lt;BR /&gt;(setq sel (getkword "\nTipo de seleção (Seleção / Individual) : "))&lt;BR /&gt;(if (not sel)&lt;BR /&gt;(progn&lt;BR /&gt;(setq sel "S")&lt;BR /&gt;(setq old-sel "S")&lt;BR /&gt;)&lt;BR /&gt;(setq old-sel sel)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(progn&lt;BR /&gt;(initget "S I")&lt;BR /&gt;(setq sel (getkword (strcat "\nTipo de seleção (Seleção / Individual) &amp;lt;" old-sel&lt;BR /&gt;"&amp;gt;: ")))&lt;BR /&gt;(if (not sel)&lt;BR /&gt;(setq sel old-sel)&lt;BR /&gt;(setq old-sel sel)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(cond&lt;BR /&gt;((= sel "S")(@selecao))&lt;BR /&gt;((= sel "I")&lt;BR /&gt;(progn&lt;BR /&gt;(@individual)&lt;BR /&gt;(command "._regen")&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(if soma&lt;BR /&gt;(progn&lt;BR /&gt;(alert (strcat "Distância acumulada: " (rtos soma 2 4)))&lt;BR /&gt;(print (strcat "Distância acumulada: " (rtos soma 2 4)))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(setvar "cmdecho" 1)&lt;BR /&gt;(princ)&lt;BR /&gt;)&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(PRINC)&lt;/DIV&gt;</description>
      <pubDate>Thu, 17 Jan 2019 21:19:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8531149#M94008</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-01-17T21:19:44Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8569718#M94009</link>
      <description>&lt;P&gt;TEST 02 ::::::&lt;/P&gt;
&lt;P&gt;&lt;FONT style="background-color: #ffffff;"&gt;Command: (LOAD "C:/Users/rolis/OneDrive/Área de Trabalho/WW.lsp")&lt;BR /&gt;Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).&lt;BR /&gt;Converting (command) calls to (command-s) is recommended.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;;********************SOMA COMPRIMENTOS**********************&lt;BR /&gt;;**********************************************************&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(defun c:SMC (/ ang1 ang2 comp ctd ent old-error-sl pt1 pt2 rad raio sel sname SOMArco SOMAlinha ss tipo)&lt;BR /&gt;(setvar "cmdecho" 0)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(defun @Anonymous_sl (msg)&lt;BR /&gt;(command "._regen")&lt;BR /&gt;(setq *error* old-error)&lt;BR /&gt;(print "*Comando cancelado*")&lt;BR /&gt;(setvar "cmdecho" 1)&lt;BR /&gt;(princ)&lt;BR /&gt;)&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(defun @selecao ()&lt;BR /&gt;(print "ADD OBJETO")&lt;BR /&gt;(setq ss (ssget))&lt;BR /&gt;(if ss&lt;BR /&gt;(progn&lt;BR /&gt;(setq ctd 0)&lt;BR /&gt;(repeat (sslength ss)&lt;BR /&gt;(setq sname (ssname ss ctd))&lt;BR /&gt;(setq ent (entget sname))&lt;BR /&gt;(setq tipo (cdr (assoc 0 (entget (ssname ss ctd)))))&lt;BR /&gt;(@SOMArco)&lt;BR /&gt;(@OMAlinha)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(setq ctd (1+ ctd))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(alert "Nenhuma OBJ selecionada !!!")&lt;BR /&gt;) &lt;BR /&gt;)&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(defun @individual ()&lt;BR /&gt;(while&lt;BR /&gt;(setq ss (entsel (strcat "\nADD LINHAS :")))&lt;BR /&gt;(if ss&lt;BR /&gt;(progn&lt;BR /&gt;(setq sname (car ss))&lt;BR /&gt;(setq ent (entget (car ss)))&lt;BR /&gt;(setq tipo (cdr (assoc 0 ent)))&lt;BR /&gt;(redraw sname 3)&lt;BR /&gt;(@SOMArco)&lt;BR /&gt;(@OMAlinha)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(defun @SOMAlinha ()&lt;BR /&gt;(cond&lt;BR /&gt;((or (= tipo "PLINE")(= tipo "LWPOLYLINE"))&lt;BR /&gt;(progn&lt;BR /&gt;(command "area" "o" sname)&lt;BR /&gt;(setq SOMAlinha (+ soma (getvar "perimeter")))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;((= tipo "LINE")&lt;BR /&gt;(setq pt1 (cdr (assoc 10 ent)))&lt;BR /&gt;(setq pt2 (cdr (assoc 11 ent)))&lt;BR /&gt;(setq SOMAlinha (+ soma (distance pt1 pt2)))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(defun @SOMArco ()&lt;BR /&gt;(cond&lt;BR /&gt;((or (= tipo "CIRCLE") (= tipo "SPLINE") (= tipo "ELLIPSE"))&lt;BR /&gt;(progn&lt;BR /&gt;(command "area" "o" sname)&lt;BR /&gt;(setq SOMArco (+ SOMArco (getvar "perimeter")))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;((= tipo "ARC")&lt;BR /&gt;(setq raio (cdr (assoc 40 ent)))&lt;BR /&gt;(setq ang1 (cdr (assoc 50 ent)))&lt;BR /&gt;(setq ang2 (cdr (assoc 51 ent)))&lt;BR /&gt;(if (&amp;lt; ang1 ang2)&lt;BR /&gt;(setq rad (- ang2 ang1))&lt;BR /&gt;(setq rad (+ (* 2 PI) (- ang2 ang1)))&lt;BR /&gt;)&lt;BR /&gt;(setq comp (* raio rad))&lt;BR /&gt;(setq SOMArco (+ SOMArco comp))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(setq old-error-sl *error*)&lt;BR /&gt;(setq *error* @Anonymous_sl)&lt;BR /&gt;(setq SOMArco 0) &lt;BR /&gt;(setq SOMAlinha 0) &lt;BR /&gt;(if (not old-sel)&lt;BR /&gt;(progn&lt;BR /&gt;(initget "S I")&lt;BR /&gt;(setq sel (getkword "\nTipo de seleção (Seleção / Individual) : "))&lt;BR /&gt;(if (not sel)&lt;BR /&gt;(progn&lt;BR /&gt;(setq sel "S")&lt;BR /&gt;(setq old-sel "S")&lt;BR /&gt;)&lt;BR /&gt;(setq old-sel sel)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(progn&lt;BR /&gt;(initget "S I")&lt;BR /&gt;(setq sel (getkword (strcat "\nTipo de seleção (Seleção / Individual) &amp;lt;" old-sel&lt;BR /&gt;"&amp;gt;: ")))&lt;BR /&gt;(if (not sel)&lt;BR /&gt;(setq sel old-sel)&lt;BR /&gt;(setq old-sel sel)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(cond&lt;BR /&gt;((= sel "S")(@selecao))&lt;BR /&gt;((= sel "I")&lt;BR /&gt;(progn&lt;BR /&gt;(@individual)&lt;BR /&gt;(command "._regen")&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(if SOMArco&lt;BR /&gt;(progn&lt;BR /&gt;(alert (strcat "COMPRIMENTO LINEAR: " (rtos SOMAlinha 2 4))&lt;BR /&gt;(alert (strcat "COMPRIMENTO NÃO LINEAR: " (rtos SOMArco 2 4))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(if SOMAlinha&lt;BR /&gt;(progn&lt;BR /&gt;(alert (strcat "COMPRIMENTO LINEAR: " (rtos SOMAlinha 2 4))&lt;BR /&gt;(print (strcat "COMPRIMENTO NÃO LINEAR: " (rtos SOMArco 2 4))&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;(setvar "cmdecho" 1)&lt;BR /&gt;(princ)&lt;BR /&gt;)&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(PRINC)&lt;BR /&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 03 Feb 2019 15:20:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8569718#M94009</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-02-03T15:20:14Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8569769#M94010</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4592867"&gt;@rolisonfelipe&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;TEST 02 ::::::&lt;/P&gt;
&lt;P&gt;&lt;FONT style="background-color: #ffffff;"&gt;Command: (LOAD "C:/Users/rolis/OneDrive/Área de Trabalho/WW.lsp")&lt;BR /&gt;Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).&lt;BR /&gt;Converting (command) calls to (command-s) is recommended.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;;********************SOMA COMPRIMENTOS**********************&lt;BR /&gt;;**********************************************************&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(defun c:SMC (/ ang1 ang2 comp ctd ent old-error-sl pt1 pt2 rad raio sel sname SOMArco SOMAlinha ss tipo)&lt;BR /&gt;(setvar "cmdecho" 0)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(defun @Anonymous_sl (msg)&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;(command-s&amp;nbsp; "._regen")&lt;/FONT&gt;&lt;BR /&gt;(setq *error* &lt;FONT color="#FF0000"&gt;old-error-sl&lt;/FONT&gt;)&lt;BR /&gt;(print "*Comando cancelado*")&lt;BR /&gt;(setvar "cmdecho" 1)&lt;BR /&gt;(princ)&lt;BR /&gt;)&lt;BR /&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Feb 2019 16:09:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8569769#M94010</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-03T16:09:54Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8569772#M94011</link>
      <description>&lt;PRE&gt;(defun @SOMAlinha ()
(cond
((or (= tipo "&lt;FONT color="#FF0000"&gt;POLYLINE&lt;/FONT&gt;")(= tipo "LWPOLYLINE"))
(progn
(command "area" "o" sname)
(setq SOMAlinha (+ soma (getvar "perimeter")))
)
)
((= tipo "LINE")
(setq pt1 (cdr (assoc 10 ent)))
(setq pt2 (cdr (assoc 11 ent)))
(setq SOMAlinha (+ soma (distance pt1 pt2)))
)
)
)&lt;/PRE&gt;</description>
      <pubDate>Sun, 03 Feb 2019 16:11:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8569772#M94011</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-03T16:11:30Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570001#M94012</link>
      <description>&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;;********************SOMA COMPRIMENTOS**********************&lt;BR /&gt;;***********************************************************&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(defun c:SMC (/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ang1&amp;nbsp;ang2&amp;nbsp; comp&amp;nbsp;&amp;nbsp; ctd&amp;nbsp;&amp;nbsp;&amp;nbsp; ent&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; old-error-sl&amp;nbsp;pt1&amp;nbsp; pt2&amp;nbsp;&amp;nbsp; rad&amp;nbsp;&amp;nbsp;&amp;nbsp; raio&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sname&amp;nbsp;SOMArco&amp;nbsp; SOMAlinha&amp;nbsp;&amp;nbsp;&amp;nbsp; ss&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tipo&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; (setvar "cmdecho" 0)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;&amp;nbsp; (defun @Anonymous_sl (msg)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (command-s "._regen")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq *error* old-error-sl)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (print "*Comando cancelado*")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setvar "cmdecho" 1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (princ)&lt;BR /&gt;&amp;nbsp; )&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;&amp;nbsp; (defun @selecao ()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (print "ADD OBJETO")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq ss (ssget))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if&amp;nbsp;ss&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp;(setq ctd 0)&lt;BR /&gt;&amp;nbsp;(repeat&amp;nbsp;(sslength ss)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setq sname (ssname ss ctd))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setq ent (entget sname))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setq tipo (cdr (assoc 0 (entget (ssname ss ctd)))))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (@SOMArco)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (@OMAlinha)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setq ctd (1+ ctd))&lt;BR /&gt;&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (alert "Nenhuma OBJ selecionada !!!")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;&amp;nbsp; (defun @individual ()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (while&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq ss (entsel (strcat "\nADD LINHAS :")))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if ss&lt;BR /&gt;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq sname (car ss))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq ent (entget (car ss)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq tipo (cdr (assoc 0 ent)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (redraw sname 3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (@SOMArco)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (@OMAlinha)&lt;BR /&gt;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;&amp;nbsp; (defun @SOMAlinha ()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (cond&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((or (= tipo "POLYLINE") (= tipo "LWPOLYLINE"))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp; (command "area" "o" sname)&lt;BR /&gt;&amp;nbsp; (setq SOMAlinha (+ soma (getvar "perimeter")))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((= tipo "LINE")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq pt1 (cdr (assoc 10 ent)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq pt2 (cdr (assoc 11 ent)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq SOMAlinha (+ soma (distance pt1 pt2)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;&amp;nbsp; (defun @SOMArco ()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (cond&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((or (= tipo "CIRCLE") (= tipo "SPLINE") (= tipo "ELLIPSE"))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp; (command "area" "o" sname)&lt;BR /&gt;&amp;nbsp; (setq SOMArco (+ SOMArco (getvar "perimeter")))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((= tipo "ARC")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq raio (cdr (assoc 40 ent)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq ang1 (cdr (assoc 50 ent)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq ang2 (cdr (assoc 51 ent)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if (&amp;lt; ang1 ang2)&lt;BR /&gt;&amp;nbsp; (setq rad (- ang2 ang1))&lt;BR /&gt;&amp;nbsp; (setq rad (+ (* 2 PI) (- ang2 ang1)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq comp (* raio rad))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq SOMArco (+ SOMArco comp))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;&amp;nbsp; (setq old-error-sl *error*)&lt;BR /&gt;&amp;nbsp; (setq *error* @Anonymous_sl)&lt;BR /&gt;&amp;nbsp; (setq SOMArco 0)&lt;BR /&gt;&amp;nbsp; (setq SOMAlinha 0)&lt;BR /&gt;&amp;nbsp; (if (not old-sel)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (initget "S I")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq&lt;BR /&gt;&amp;nbsp;sel (getkword "\nTipo de seleção (Seleção / Individual) : ")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if (not sel)&lt;BR /&gt;&amp;nbsp;(progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setq sel "S")&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setq old-sel "S")&lt;BR /&gt;&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;(setq old-sel sel)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (initget "S I")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq sel&amp;nbsp;(getkword&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (strcat "\nTipo de seleção (Seleção / Individual) &amp;lt;"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; old-sel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;gt;: "&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if (not sel)&lt;BR /&gt;&amp;nbsp;(setq sel old-sel)&lt;BR /&gt;&amp;nbsp;(setq old-sel sel)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; (cond&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((= sel "S") (@selecao))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((= sel "I")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (@individual)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (command "._regen")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; (if SOMArco&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (alert (strcat "COMPRIMENTO NÃO LINEAR" (rtos SOMArco 2 4))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (alert&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (strcat "COMPRIMENTO NÃO LINEAR: " (rtos SOMArco 2 4))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if SOMAlinha&lt;BR /&gt;&amp;nbsp;(progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (alert (strcat "COMPRIMENTO LINEAR: " (rtos SOMAlinha 2 4))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (print&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (strcat "COMPRIMENTO LINEAR: " (rtos SOMAlinha 2 4))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (setvar "cmdecho" 1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; (princ)&lt;BR /&gt;&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;(PRINC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR /&gt;&amp;nbsp; )&lt;BR /&gt;)&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 03 Feb 2019 20:49:10 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570001#M94012</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-02-03T20:49:10Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570048#M94013</link>
      <description>&lt;PRE&gt;(defun c:SMC ( / ang1 ang2 comp ctd ent old-error-sl pt1 pt2 rad raio sel sname SOMArco SOMAlinha ss tipo)
  (setvar "cmdecho" 0)
  
  (defun @Error_sl (msg)
    (command-s "._regen")
    (setq *error* old-error-sl)
    (print "*Comando cancelado*")
    (setvar "cmdecho" 1)
    (princ)
  );end_defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (defun @selecao ()
    (print "ADD OBJETO")
    (setq ss (ssget))
    (if ss
      (progn
        (setq ctd 0)
        (repeat (sslength ss)
          (setq sname (ssname ss ctd))
          (setq ent (entget sname))
          (setq tipo (cdr (assoc 0 (entget (ssname ss ctd)))))
          (@SOMArco)
          (@OMAlinha)
          (setq ctd (1+ ctd))
        )
      )
      (alert "Nenhuma OBJ selecionada !!!")
    );end_if
  );end_defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (defun @individual ()
    (while (setq ss (entsel (strcat "\nADD LINHAS :")))
      (if ss
        (progn
          (setq sname (car ss))
          (setq ent (entget (car ss)))
          (setq tipo (cdr (assoc 0 ent)))
          (redraw sname 3)
          (@SOMArco)
          (@OMAlinha)
        )
      );end_if
    );end_while
  );end_defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (defun @SOMAlinha ()
    (cond ( (or (= tipo "POLYLINE") (= tipo "LWPOLYLINE"))
            (command "area" "o" sname)
            (setq SOMAlinha (+ soma (getvar "perimeter")))
          )
          ( (= tipo "LINE")
            (setq pt1 (cdr (assoc 10 ent)))
            (setq pt2 (cdr (assoc 11 ent)))
            (setq SOMAlinha (+ soma (distance pt1 pt2)))
          )
    );end_cond
  );end_defun
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (defun @SOMArco ()
    (cond ( (or (= tipo "CIRCLE") (= tipo "SPLINE") (= tipo "ELLIPSE"))
            (command "area" "o" sname)
            (setq SOMArco (+ SOMArco (getvar "perimeter")))
          )
          ( (= tipo "ARC")
            (setq raio (cdr (assoc 40 ent)))
            (setq ang1 (cdr (assoc 50 ent)))
            (setq ang2 (cdr (assoc 51 ent)))
            (if (&amp;lt; ang1 ang2)
              (setq rad (- ang2 ang1))
              (setq rad (+ (* 2 PI) (- ang2 ang1)))
            );end_if
            (setq comp (* raio rad))
            (setq SOMArco (+ SOMArco comp))
          )
    );end_cond
  );end_defun
  
  (setq old-error-sl *error*)
  (setq *error* @Error_sl)
  (setq SOMArco 0)
  (setq SOMAlinha 0)
  (if (not old-sel)
    (progn
      (initget "S I")
      (setq sel (getkword "\nTipo de seleção (Seleção / Individual) : "))
      (if (not sel)
        (progn
          (setq sel "S")
          (setq old-sel "S")
        )
        (setq old-sel sel)
      );end_if
    );end_progn
    (progn
      (initget "S I")
      (setq sel (getkword (strcat "\nTipo de seleção (Seleção / Individual) &amp;lt;" old-sel "&amp;gt;: ")))
      (if (not sel)
        (setq sel old-sel)
        (setq old-sel sel)
      );end_if
    );end_progn
  );end_if
  
  (cond ( (= sel "S") (@selecao))
        ( (= sel "I") (@individual) (command "._regen"))
  );end_cond
  &lt;FONT color="#0000FF"&gt;;;CHECK BELOW IS CORRECT. THE ERROR WAS HERE SOMEWHERE &lt;/FONT&gt;
&lt;FONT color="#FF0000"&gt;  (if SOMArco
    (progn
      (alert (strcat "COMPRIMENTO NÃO LINEAR" (rtos SOMArco 2 4)))
      (print (strcat "COMPRIMENTO NÃO LINEAR: " (rtos SOMArco 2 4)))
    )
    (if SOMAlinha
      (progn
        (alert (strcat "COMPRIMENTO LINEAR: " (rtos SOMAlinha 2 4)))
        (print (strcat "COMPRIMENTO LINEAR: " (rtos SOMAlinha 2 4)))
      )
    );end_if
   (setvar "cmdecho" 1)
   (princ)
  );end_if
 (princ)&lt;/FONT&gt;
);end_defun
&lt;/PRE&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;RED = CHECK CORRECT&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Feb 2019 21:32:10 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570048#M94013</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-03T21:32:10Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570119#M94014</link>
      <description>&lt;P&gt;Ignore above.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Attached works. Please check.&lt;/P&gt;</description>
      <pubDate>Sun, 03 Feb 2019 23:10:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570119#M94014</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-03T23:10:42Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570168#M94015</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4592867"&gt;@rolisonfelipe&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Attached is updated lisp. All variables are now localised.&lt;/P&gt;
&lt;P&gt;You will need to translate some alerts and the error message if you so desire.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Enjoy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 00:46:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570168#M94015</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-04T00:46:08Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570183#M94016</link>
      <description>&lt;P&gt;&lt;BR /&gt;@Anonymous, fantastic solution, I am not programmer, not to overload the friends who dedicate part of their time to help us, I try to reassemble lisp already existent, and already thanks for the immense help, but still this lsp, needs a correction , because the polyline element is naturally composed of rows and arcs and now how to eliminate it?&lt;BR /&gt;obs02 .. I will proceed in other routines one that helps to add dimension and implement in this routine&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 01:12:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570183#M94016</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-02-04T01:12:57Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570194#M94017</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4592867"&gt;@rolisonfelipe&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;BR /&gt;fantastic solution, I am not programmer, not to overload the friends who dedicate part of their time to help us, I try to reassemble lisp already existent, and already thanks for the immense help, but still this lsp, needs a correction , because the polyline element is naturally composed of rows and arcs and now how to eliminate it?&lt;BR /&gt;obs02 .. I will proceed in other routines one that helps to add dimension and implement in this routine&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Not sure I fully understand. I think you want to know the length of arc segments in lwpolylines. Is that correct? That is not too difficult, since the start of every straight segment has a 0.0 bulge factor, and the start of every arc segment a non zero bulge factor. it would be a simple extra step to collect these seperately.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 01:32:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570194#M94017</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-04T01:32:06Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570585#M94018</link>
      <description>&lt;P&gt;&lt;FONT style="background-color: #ffffff;"&gt;PRESENTATION 01 OK - THE LSP WORKS VERY WELL WITH THE ARC AND LINES ELEMENTS, BUT IN THE PRESENTATION 02 ERROR, IT DOES NOT DIFFER THE ARC ELEMENTS AND LINES OF POLYLINE, THEN I HAVE ANOTHER ROUTINE THAT SERVES TO ADD AZIMUTE THAT IN A YE ADD&amp;nbsp; DISTANCE FROM EACH SEGMENT, AND WHEN IT ARRANTS IN THE ARC CONCORDANCE FOLLOWING IT CALCULATES THE VECTOR OF THE FINAL AND START OF THE NEXT LINE. THAT IS THE DESIRED FUNCTION FOR THIS LISP.&lt;BR /&gt;THAT TO SIT THE OBJECTS SEPARATELY AND AFTER HE ADD THE VALUES OF THE OBJECTS.&lt;BR /&gt;FROM THANK YOU FOR YOUR DEDICATION, HAVE A GOOD DAY.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 08:34:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8570585#M94018</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-02-04T08:34:54Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571227#M94019</link>
      <description>&lt;P&gt;Attached are updated SMC.lsp and Label5.lsp&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try label5.lsp. I think it may do almost what you want. I have disabled the creation and setting of the text style, layer and text size for the labels. It will place the text in the current layer, in the current style at the current text size.&lt;/P&gt;
&lt;P&gt;For the Azimuth it assumes that 0 degrees is North and angles are set to clockwise. These are set and the old settings restored on exit/error.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 13:53:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571227#M94019</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-04T13:53:53Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571879#M94020</link>
      <description>&lt;P&gt;&lt;FONT style="background-color: #ffffff;"&gt;Hello, @ dlanorh.&lt;BR /&gt;The Lisp SMC2 still does not sum separately the line and ARC components of the Pricipal object of polyline thus generating a sum in the objects with arches within the LINEAR variable where the polyline reading schedule presented a larger report than the Expected.&lt;BR /&gt;The Label5 is exactly what I need, it shows the distance correctly in the objects of arc, however it is unnecessary the azimutes, because it is necessary only the LABEL of the site.&lt;BR /&gt;Since I thank you for the dedication.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 17:18:33 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571879#M94020</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-02-04T17:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571929#M94021</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4592867"&gt;@rolisonfelipe&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;&lt;FONT style="background-color: #ffffff;"&gt;Hello, @ dlanorh.&lt;BR /&gt;The Lisp SMC2 still does not sum separately the line and ARC components of the Pricipal object of polyline thus generating a sum in the objects with arches within the LINEAR variable where the polyline reading schedule presented a larger report than the Expected.&lt;BR /&gt;The Label5 is exactly what I need, it shows the distance correctly in the objects of arc, however it is unnecessary the azimutes, because it is necessary only the LABEL of the site.&lt;BR /&gt;Since I thank you for the dedication.&lt;/FONT&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;PRE&gt;(vl-load-com)
(defun c:label1 ( / *error* c_doc spc sv_lst sv_vals nw_style nw_font htx ss o_type pr pt_start pt_end seg_len seg_bulge rad alpha m_pt t_ang t_str nw_obj ll ur att_pt t_width)
                           
	(defun *error* ( msg )
		(mapcar 'setvar sv_lst sv_vals)
		(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
		(if (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*EXIT*")) (princ (strcat "\nOops an Error : " msg " occurred.")))
		(princ)
	);end_*error*_defun
	
  (setq c_doc (vla-get-activedocument (vlax-get-acad-object))
        spc (if (= 1 (getvar 'cvport))
                (vla-get-paperspace c_doc)
                (vla-get-modelspace c_doc)
            );end_if
				sv_lst (list 'osmode 'cmdecho 'angdir 'angbase )
        ;sv_lst (list 'osmode 'cmdecho 'angdir 'angbase 'textstyle 'textsize);;system variable names list
				sv_vals (mapcar 'getvar sv_lst);;get current values
  );end_setq
;  (cond ( (null (tblsearch "LAYER" "DIMENSIONS")) (vlax-put (vla-add (vla-get-layers c_doc) "DIMENSIONS") 'color 7)))
;  (cond ( (null (tblsearch "STYLE" "ELEV_ARIAL_1"))
;          (setq nw_style (vla-add (vla-get-textstyles c_doc) "ELEV_ARIAL_1")
;                nw_font (strcat (getenv "systemroot") "\\Fonts\\Arial.ttf")
;          );end_setq
;          (mapcar '(lambda (pr val) (vlax-put-property nw_style pr val))
;            (list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag)
;            (list nw_font 0.0 (/ (* 0.0 pi) 180) 1.0 0.0)
;          );end_mapcar
;        )
;  );end_cond
  (mapcar 'setvar sv_lst (list 0 0 1 90.0))
;  (initget 6)
;  (setq htx (getreal (strcat "\nSpecify text height &amp;lt;" (rtos (getvar "TEXTSIZE")) "&amp;gt; : ")))
;  (if (not htx) (setq htx (getvar 'textsize)))

;  (mapcar 'setvar sv_lst (list 0 0 "ELEV_ARIAL_1" htx)); give them the values you want

	(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
	(vla-startundomark c_doc)

  (prompt "\nSelect polylines : ")
  (while (null (setq ss (ssget '((0 . "LWPOLYLINE")))))
    (princ "\nSelection is Empty. Selected Items were not LWPolylines!")
  );end_while
   
  (vlax-for obj (vla-get-activeselectionset c_doc)
    (setq pr -1.0)
    (repeat (fix (vlax-curve-getendparam obj))
      (setq pr (1+ pr)
            pt_start (vlax-curve-getpointatparam obj pr)
            ;pt_end (vlax-curve-getpointatparam obj (1+ pr))
            seg_len (- (vlax-curve-getdistatparam obj (1+ pr)) (vlax-curve-getdistatpoint obj pt_start))
            seg_bulge (vla-getbulge obj pr)
            ;rad (if (zerop seg_bulge) 0.0 (abs (/ seg_len (* 4.0 (atan seg_bulge)))))
            ;alpha (if (zerop seg_bulge) (angle (trans pt_start 0 1) (trans pt_end 0 1)) 0.0)
            m_pt (vlax-curve-getpointatparam obj (+ 0.5 pr))
            alpha (angle '(0 0 0) (vlax-curve-getfirstderiv obj (+ 0.5 pr)))
            t_ang alpha
      );end_setq
      (if (&amp;lt; (/ pi 2) t_ang (* (/ pi 2) 3)) (setq t_ang (+ t_ang pi)))
      (if (= seg_bulge 0.0)
        (setq t_str (rtos seg_len 2 2))
        (setq t_str (rtos seg_len 2 2)) 
      );end_if
      (setq nw_obj (vla-addmtext spc (vlax-3d-point m_pt) 0.0 t_str))
      (vla-getboundingbox nw_obj 'll 'ur)
      (setq ll (vlax-safearray-&amp;gt;list ll)
            ur (vlax-safearray-&amp;gt;list ur)      
            t_width (+ (* (distance ll ur) (cos (angle ll ur))) 5.0)
      );end_setq
      (if (&amp;gt;= t_width seg_len)
        (setq att_pt 5
              t_width seg_len
        );end_setq
        (setq att_pt 8
              m_pt (polar m_pt (+ t_ang (/ pi 2)) (* (getvar 'textsize) 0.5))
        );end_setq
      );end_if        

      (mapcar '(lambda (pr val) (vlax-put nw_obj pr val))
        ;(list 'AttachmentPoint 'Insertionpoint 'Height 'DrawingDirection 'StyleName 'Layer 'Rotation 'Width)
        ;(list att_pt m_pt (getvar 'textsize) 5 "ELEV_ARIAL_1" "DIMENSIONS" t_ang t_width)
        (list 'AttachmentPoint 'Insertionpoint 'Height 'DrawingDirection 'Rotation 'Width)
        (list att_pt m_pt (getvar 'textsize) 5 t_ang 0.0)
      );end_mapcar
    );end_repeat
  );end_for
;  (mapcar 'setvar sv_lst sv_vals)
	(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
  (princ)
);end_defun&lt;/PRE&gt;
&lt;P&gt;Apenas tirei o texto "AZ - " que você não deseja.&lt;/P&gt;
&lt;P&gt;O código é do&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5644077"&gt;@dlanorh&lt;/a&gt;&amp;nbsp;. Muito Bom!!!&lt;/P&gt;
&lt;P&gt;Espero ter ajudado&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Fabrício&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 17:40:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8571929#M94021</guid>
      <dc:creator>F.Camargo</dc:creator>
      <dc:date>2019-02-04T17:40:38Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8572577#M94022</link>
      <description>&lt;P&gt;Attached are the updated lisps&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SMC2.lsp now works properly. I didn't allow for negative bulges.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LABEL5.lsp now reports only the distances&lt;/P&gt;</description>
      <pubDate>Mon, 04 Feb 2019 21:52:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8572577#M94022</guid>
      <dc:creator>dlanorh</dc:creator>
      <dc:date>2019-02-04T21:52:40Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS, AND ALL SUM</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8572737#M94023</link>
      <description>&lt;P&gt;O ENTENDIMENTO FOI PERFEITO, NAO QUERENDO ABUSAR DA SUA BOA VONTADE, TEM COMO COLOCAR UMA VARIAVEL DE CONTRAOLAR A ALTURA DO TEXTO COMO NESTA LSP..... ESSA LISP CALCULA ÁREA MAS PERMITE CONTROLAR ALTURA......&lt;/P&gt;
&lt;P&gt;DESDE JA AGRADEÇO PELA AJUDA...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(DEFUN C:AS (/)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;;&lt;BR /&gt;(IF (NOT XESCALA) (SETQ&amp;nbsp; XESCALA&amp;nbsp; 50.0) )&lt;BR /&gt;(SETQ&amp;nbsp; XUNIDADE 1000)&lt;BR /&gt;(setq&amp;nbsp; TEXTO "\n ESCALA DO TEXTO = 1:")&lt;BR /&gt;(setq&amp;nbsp; ULTIMO&amp;nbsp; XESCALA)&lt;BR /&gt;(setq&amp;nbsp; XESCALA (getreal (strcat&amp;nbsp; TEXTO "&amp;lt;" (rtos ULTIMO 2 0) "&amp;gt;")))&lt;BR /&gt;(if (= XESCALA&amp;nbsp; nil)&amp;nbsp;&amp;nbsp;&amp;nbsp; (setq&amp;nbsp;&amp;nbsp;&amp;nbsp; XESCALA&amp;nbsp; ULTIMO))&lt;BR /&gt;;&lt;BR /&gt;(SETQ R-OSMODE (GETVAR "OSMODE"))&lt;BR /&gt;;&lt;BR /&gt;(SETVAR "CMDECHO" 0)&lt;BR /&gt;(SETVAR "DIMZIN"&amp;nbsp; 0)&lt;BR /&gt;(SETVAR "OSMODE"&amp;nbsp; 0)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(COMMAND "_LAYER" "_M" "ÁREA" "_C" "7" "ÁREA" "")&lt;BR /&gt;(COMMAND "_STYLE" "ARIAL" "ARIAL" "" "" "" "" "")&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(SETQ AREAT 0)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(SETQ PINS (GETPOINT "\n INFORME UM LOCAL PARA CALCULO DE ÁREA = "))&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;(WHILE PINS&lt;BR /&gt;&amp;nbsp; (COMMAND "_-BOUNDARY" PINS "")&lt;BR /&gt;&amp;nbsp; (COMMAND "_AREA" "_O" "_L")&lt;BR /&gt;&amp;nbsp; (ENTDEL&amp;nbsp; (ENTLAST))&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;&amp;nbsp; (SETQ ATXT&amp;nbsp;&amp;nbsp; (* 2.0 (/ XESCALA XUNIDADE)))&lt;BR /&gt;&amp;nbsp; (SETQ AREAC&amp;nbsp; (GETVAR&amp;nbsp; "AREA"))&lt;BR /&gt;&amp;nbsp; (SETQ AREAT&amp;nbsp; (+ AREAT AREAC))&lt;BR /&gt;&amp;nbsp; (SETQ TEXTO1 (STRCAT&amp;nbsp; "ÁREA = " (RTOS AREAC 2 2) "m²"))&lt;BR /&gt;&amp;nbsp; (SETQ TEXTO2 (STRCAT&amp;nbsp; "ÁREA = " (RTOS AREAC 2 2) "m² *** TOTAL = " (RTOS AREAT 2 2) "m²"))&lt;BR /&gt;&amp;nbsp; (COMMAND "_TEXT" "_M" PINS&amp;nbsp; ATXT "0" TEXTO1)&lt;BR /&gt;&amp;nbsp; (PRINT TEXTO2)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT style="background-color: #ffffff;"&gt;&amp;nbsp; (SETQ PINS (GETPOINT "\nINFORME UM LOCAL PARA CALCULO DE ÁREA = "))&lt;BR /&gt;)&lt;BR /&gt;(SETVAR "CLAYER" "0")&lt;BR /&gt;(SETVAR "OSMODE" R-OSMODE)&lt;BR /&gt;;&lt;BR /&gt;(PRINC)&lt;BR /&gt;)&lt;BR /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;BR /&gt;(PRINC)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Mon, 04 Feb 2019 23:16:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/how-to-separate-objects-in-line-type-and-arc-type-objects-and/m-p/8572737#M94023</guid>
      <dc:creator>rolisonfelipe</dc:creator>
      <dc:date>2019-02-04T23:16:58Z</dc:date>
    </item>
  </channel>
</rss>

