<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Комментарии на: Внутренности dwg</title>
	<atom:link href="https://autolisp.ru/2010/06/18/inside-dwg/feed/" rel="self" type="application/rss+xml" />
	<link>https://autolisp.ru/2010/06/18/inside-dwg/</link>
	<description>LISP для AutoCAD</description>
	<lastBuildDate>Tue, 24 Feb 2026 16:11:05 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>От: @rey7</title>
		<link>https://autolisp.ru/2010/06/18/inside-dwg/comment-page-1/#comment-6926</link>
		<dc:creator><![CDATA[@rey7]]></dc:creator>
		<pubDate>Fri, 04 Mar 2011 05:13:40 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=305#comment-6926</guid>
		<description><![CDATA[так работает:

[cc lang=&quot;cadlisp&quot;];;;Функция преобразования числа из шестнадцатиричной в десятичную систему исчисления
;;;аргументы :
;;;а - число в шестнадцатиричной системе исчисления , тип string
;;;переменные:
;;;listst - список степеней числа 16. Длина списка равна количеству символов аргумента
(defun c:h-dec (a / i listst)
  (setq i (strlen a))
  (repeat i
    (setq listst (cons (expt 16 (1- i)) listst))
    (setq i (1- i))
    ) ;_ end of repeat
  (rtos
    (apply
      (function +)
      (mapcar
        (function *)
        (reverse
          (mapcar
            (function
              (lambda (x)
                (cond
                  (
                   (vl-symbolp (read (chr x)))
                   (+ (vl-position (chr x) &#039;(&quot;A&quot; &quot;B&quot; &quot;C&quot; &quot;D&quot; &quot;E&quot; &quot;F&quot;))
                      10
                      ) ;_ end of +
                   )
                  (t
                   (atoi (chr x))
                   )
                  ) ;_ end of cond
                ) ;_ end of lambda
              ) ;_ end of function
            (vl-string-&gt;list a)
            ) ;_ end of mapcar
          ) ;_ end of reverse
        (mapcar (function float) listst)
        ) ;_ end of mapcar
      ) ;_ end of apply
    ) ;_ end of rtos
  ) ;_ end of defun

;;;Функция преобразования числа из десятичной в шестнадцатиричную систему исчисления.
;;;Аргументы:
;;;b- число в десятичной системе исчисления , тип integer
;;;Переменные:
;;;blist - число в шестнадцатеричной системе исчисления , тип string
(defun c:dec-h (b / blist list16)
  (setq list16 &#039;(&quot;0&quot; &quot;1&quot; &quot;2&quot; &quot;3&quot; &quot;4&quot; &quot;5&quot; &quot;6&quot; &quot;7&quot; &quot;8&quot; &quot;9&quot; &quot;A&quot; &quot;B&quot; &quot;C&quot; &quot;D&quot; &quot;E&quot; &quot;F&quot;))
  (while (&gt;= b 16)
    (setq blist (cons (fix (rem b 16)) blist)
          b     (fix (/ b 16.00))
          ) ;_ end of setq
    ) ;_ end of while
  (apply (function strcat)
         (mapcar(function(lambda (x)
                    (nth x list16)
                    ))
                 (setq blist (cons b blist))
                 ) ;_ end of mapcar
         ) ;_ end of apply
  ) ;_ end of defun

;;; Функция экспорта базы данных рисунка в текстовой файл. Производит поиск графических и не графических примитивов в
;;; базе
;;; рисунка
;;;перебирая метки с 1 до метки последнего созданного примитива , выводит свойства примитивов в текстовой файл
;;; в виде :  &quot;класс объекта&quot;  &quot;метка&quot;  &quot;метка в десятичном представлении&quot; &quot;имя объекта&quot; (при его наличии)
;;; аргументов нет
;;; переменные :
;;;filename - имя файла вывода данных
;;;dsk - дескриптор файла
;;;lp - имя последнего созданного примитива
;;;m - метка примитива
;;;lm - список меток
(defun c:es_export_database (/ lm filename dsk lp m)
  (setq i 1)
  (if (and
        (setq filename (getfiled &quot;Файл вывода &quot; &quot;C:\\&quot; &quot;xls&quot; 1))
          ;имя файла вывода
        (setq dsk (open filename &quot;a&quot;)) ;дескриптор файла
        (setq lp (entmakex &#039;((0 . &quot;point&quot;) (10 0 0 0))))
          ; создаем примитив для определения количества повторов цикла перебора меток
        ) ;_ end of and
    (progn
      (repeat (1- (atoi (h-dec (cdr (assoc 5 (entget lp))))))
          ;цикл перебора меток
        (if
          (setq m (handent (dec-h i)))
           (setq lm (cons m lm)) ; список содержащий метки существующих в чертеже примитивов
           ) ;_ end of if
        (setq i (1+ i)
              ) ;_ end of setq
        ) ;_ end of repeat
      (entdel lp) ; удаляем рабочий примитив
      (mapcar
        &#039;(lambda (x / nam prn)
           (setq prn (strcat (vla-get-objectname x)
                             &quot;\t&quot;
                             (vla-get-handle x)
                             &quot;\t&quot;
                             (h-dec (vla-get-handle x))
                             &quot;\t&quot;
                             (rtos (vla-get-objectid x) 2 0)
                             &quot;\t&quot;
                             ) ;_ end of strcat
                 ) ;_ end of setq
           (if
             (and
               (vlax-property-available-p x &#039;name)
               (not (vl-catch-all-error-p
                      (setq
                        nam (vl-catch-all-apply &#039;vla-get-name (list x))
                        ) ;_ end of setq
                      ) ;_ end of vl-catch-all-error-p
                    ) ;_ end of not
               ) ;_ end of and
              (setq prn (strcat prn nam &quot;\t&quot;))
              (setq prn (strcat prn &quot;\t&quot;))
              ) ;_ end of if
           (princ (strcat prn &quot;\n&quot;) dsk)
           ) ;_ end of lambda
        (vl-remove &#039;nil
                   (mapcar &#039;vlax-ename-&gt;vla-object (reverse lm))
                   ) ;_ end of vl-remove
        ) ; функция печати данных примитива в файл
      (close dsk)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun[/cc]]]></description>
		<content:encoded><![CDATA[<p>так работает:</p>
<div class="codecolorer-container cadlisp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br /></div></td><td><div class="cadlisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #808080; font-style: italic;">;;;Функция преобразования числа из шестнадцатиричной в десятичную систему исчисления</span><br />
<span style="color: #808080; font-style: italic;">;;;аргументы :</span><br />
<span style="color: #808080; font-style: italic;">;;;а - число в шестнадцатиричной системе исчисления , тип string</span><br />
<span style="color: #808080; font-style: italic;">;;;переменные:</span><br />
<span style="color: #808080; font-style: italic;">;;;listst - список степеней числа 16. Длина списка равна количеству символов аргумента</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> c:h<span style="color: #66cc66;">-</span>dec <span style="color: #66cc66;">&#40;</span>a <span style="color: #66cc66;">/</span> i listst<span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> i <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">strlen</span> a<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">repeat</span> i<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> listst <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">cons</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">expt</span> <span style="color: #cc66cc;">16</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">-</span> i<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> listst<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> i <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">-</span> i<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of repeat</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">rtos</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">apply</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">function</span> <span style="color: #66cc66;">+</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapcar</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">function</span> <span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">reverse</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapcar</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">function</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">lambda</span> <span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">cond</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">vl-symbolp</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">read</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">chr</span> x<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">+</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">vl-position</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">chr</span> x<span style="color: #66cc66;">&#41;</span> '<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;A&quot;</span> <span style="color: #ff0000;">&quot;B&quot;</span> <span style="color: #ff0000;">&quot;C&quot;</span> <span style="color: #ff0000;">&quot;D&quot;</span> <span style="color: #ff0000;">&quot;E&quot;</span> <span style="color: #ff0000;">&quot;F&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #cc66cc;">10</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of +</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">t</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">atoi</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">chr</span> x<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of cond</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of lambda</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of function</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span>vl<span style="color: #66cc66;">-</span>string<span style="color: #66cc66;">-&amp;</span>gt<span style="color: #808080; font-style: italic;">;list a)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of mapcar</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of reverse</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapcar</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">function</span> <span style="color: #b1b100;">float</span><span style="color: #66cc66;">&#41;</span> listst<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of mapcar</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of apply</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of rtos</span><br />
&nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of defun</span><br />
<br />
<span style="color: #808080; font-style: italic;">;;;Функция преобразования числа из десятичной в шестнадцатиричную систему исчисления.</span><br />
<span style="color: #808080; font-style: italic;">;;;Аргументы:</span><br />
<span style="color: #808080; font-style: italic;">;;;b- число в десятичной системе исчисления , тип integer</span><br />
<span style="color: #808080; font-style: italic;">;;;Переменные:</span><br />
<span style="color: #808080; font-style: italic;">;;;blist - число в шестнадцатеричной системе исчисления , тип string</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> c:dec<span style="color: #66cc66;">-</span>h <span style="color: #66cc66;">&#40;</span>b <span style="color: #66cc66;">/</span> blist list16<span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> list16 '<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #ff0000;">&quot;4&quot;</span> <span style="color: #ff0000;">&quot;5&quot;</span> <span style="color: #ff0000;">&quot;6&quot;</span> <span style="color: #ff0000;">&quot;7&quot;</span> <span style="color: #ff0000;">&quot;8&quot;</span> <span style="color: #ff0000;">&quot;9&quot;</span> <span style="color: #ff0000;">&quot;A&quot;</span> <span style="color: #ff0000;">&quot;B&quot;</span> <span style="color: #ff0000;">&quot;C&quot;</span> <span style="color: #ff0000;">&quot;D&quot;</span> <span style="color: #ff0000;">&quot;E&quot;</span> <span style="color: #ff0000;">&quot;F&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span>gt<span style="color: #808080; font-style: italic;">;= b 16)</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> blist <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">cons</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">fix</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">rem</span> b <span style="color: #cc66cc;">16</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> blist<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">fix</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span> b <span style="color: #cc66cc;">16.00</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of setq</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of while</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">apply</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">function</span> <span style="color: #b1b100;">strcat</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapcar</span><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">lambda</span> <span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">nth</span> x list16<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> blist <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">cons</span> b blist<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of mapcar</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of apply</span><br />
&nbsp; <span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of defun</span><br />
<br />
<span style="color: #808080; font-style: italic;">;;; Функция экспорта базы данных рисунка в текстовой файл. Производит поиск графических и не графических примитивов в</span><br />
<span style="color: #808080; font-style: italic;">;;; базе</span><br />
<span style="color: #808080; font-style: italic;">;;; рисунка</span><br />
<span style="color: #808080; font-style: italic;">;;;перебирая метки с 1 до метки последнего созданного примитива , выводит свойства примитивов в текстовой файл</span><br />
<span style="color: #808080; font-style: italic;">;;; в виде : &nbsp;&quot;класс объекта&quot; &nbsp;&quot;метка&quot; &nbsp;&quot;метка в десятичном представлении&quot; &quot;имя объекта&quot; (при его наличии)</span><br />
<span style="color: #808080; font-style: italic;">;;; аргументов нет</span><br />
<span style="color: #808080; font-style: italic;">;;; переменные :</span><br />
<span style="color: #808080; font-style: italic;">;;;filename - имя файла вывода данных</span><br />
<span style="color: #808080; font-style: italic;">;;;dsk - дескриптор файла</span><br />
<span style="color: #808080; font-style: italic;">;;;lp - имя последнего созданного примитива</span><br />
<span style="color: #808080; font-style: italic;">;;;m - метка примитива</span><br />
<span style="color: #808080; font-style: italic;">;;;lm - список меток</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> c:es_export_database <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span> lm filename dsk lp m<span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> i <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">and</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> filename <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">getfiled</span> <span style="color: #ff0000;">&quot;Файл вывода &quot;</span> <span style="color: #ff0000;">&quot;C:<span style="color: #000099; font-weight: bold;">\&quot;</span> &quot;</span>xls<span style="color: #ff0000;">&quot; 1))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;имя файла вывода<br />
&nbsp; &nbsp; &nbsp; &nbsp; (setq dsk (open filename &quot;</span>a<span style="color: #ff0000;">&quot;)) ;дескриптор файла<br />
&nbsp; &nbsp; &nbsp; &nbsp; (setq lp (entmakex '((0 . &quot;</span>point<span style="color: #ff0000;">&quot;) (10 0 0 0))))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; создаем примитив для определения количества повторов цикла перебора меток<br />
&nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of and<br />
&nbsp; &nbsp; (progn<br />
&nbsp; &nbsp; &nbsp; (repeat (1- (atoi (h-dec (cdr (assoc 5 (entget lp))))))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;цикл перебора меток<br />
&nbsp; &nbsp; &nbsp; &nbsp; (if<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (setq m (handent (dec-h i)))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(setq lm (cons m lm)) ; список содержащий метки существующих в чертеже примитивов<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;_ end of if<br />
&nbsp; &nbsp; &nbsp; &nbsp; (setq i (1+ i)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of setq<br />
&nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of repeat<br />
&nbsp; &nbsp; &nbsp; (entdel lp) ; удаляем рабочий примитив<br />
&nbsp; &nbsp; &nbsp; (mapcar<br />
&nbsp; &nbsp; &nbsp; &nbsp; '(lambda (x / nam prn)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(setq prn (strcat (vla-get-objectname x)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;</span>\<span style="color: #b1b100;">t</span><span style="color: #ff0000;">&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(vla-get-handle x)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;</span>\<span style="color: #b1b100;">t</span><span style="color: #ff0000;">&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(h-dec (vla-get-handle x))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;</span>\<span style="color: #b1b100;">t</span><span style="color: #ff0000;">&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(rtos (vla-get-objectid x) 2 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;</span>\<span style="color: #b1b100;">t</span><span style="color: #ff0000;">&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;_ end of strcat<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;_ end of setq<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(if<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(and<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(vlax-property-available-p x 'name)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(not (vl-catch-all-error-p<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (setq<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nam (vl-catch-all-apply 'vla-get-name (list x))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of setq<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of vl-catch-all-error-p<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of not<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;_ end of and<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (setq prn (strcat prn nam &quot;</span>\<span style="color: #b1b100;">t</span><span style="color: #ff0000;">&quot;))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (setq prn (strcat prn &quot;</span>\<span style="color: #b1b100;">t</span><span style="color: #ff0000;">&quot;))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) ;_ end of if<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(princ (strcat prn &quot;</span>\n<span style="color: #ff0000;">&quot;) dsk)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;_ end of lambda<br />
&nbsp; &nbsp; &nbsp; &nbsp; (vl-remove 'nil<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(mapcar 'vlax-ename-&amp;gt;vla-object (reverse lm))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;_ end of vl-remove<br />
&nbsp; &nbsp; &nbsp; &nbsp; ) ; функция печати данных примитива в файл<br />
&nbsp; &nbsp; &nbsp; (close dsk)<br />
&nbsp; &nbsp; &nbsp; ) ;_ end of progn<br />
&nbsp; &nbsp; ) ;_ end of if<br />
&nbsp; ) ;_ end of defun</span></div></td></tr></tbody></table></div>
]]></content:encoded>
	</item>
	<item>
		<title>От: Vildar</title>
		<link>https://autolisp.ru/2010/06/18/inside-dwg/comment-page-1/#comment-5346</link>
		<dc:creator><![CDATA[Vildar]]></dc:creator>
		<pubDate>Thu, 30 Dec 2010 09:44:18 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=305#comment-5346</guid>
		<description><![CDATA[Алексей с Наступающим! 
А можно попросить выложить кусочек результатов этой программы. Меня только это интересует. Лисп мне сложно понять. А увидев результат, я сразу, надеюсь, пойму что же делает эта программа (функция).

Спасибо.]]></description>
		<content:encoded><![CDATA[<p>Алексей с Наступающим!<br />
А можно попросить выложить кусочек результатов этой программы. Меня только это интересует. Лисп мне сложно понять. А увидев результат, я сразу, надеюсь, пойму что же делает эта программа (функция).</p>
<p>Спасибо.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2010/06/18/inside-dwg/comment-page-1/#comment-5331</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Wed, 29 Dec 2010 15:33:41 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=305#comment-5331</guid>
		<description><![CDATA[Доброго. Только что проверил на AutoCAD 2008 Eng + SP 32 bit и AutoCAD 2011 Eng + SP 32 bit, Windows Vista Home 32 bit. Ошибка есть. Но, что самое интересное - ошибка появляется, если код выполнять не пошагово. После хотя бы одного прохода пошагово все работает корректно.
Есть, конечно, вариант: попытаться сначала сформировать полноценный список, и лишь потом его выводить в файл. Но мне почему-то такой подход не кажется правильным :(
Как бороться - не знаю, а Эдуарда сейчас уже сложно заманить на решение лисповых задач :( Если чего получится - попробую сделать решение. Хотя особых надежд на это я бы не возлагал...]]></description>
		<content:encoded><![CDATA[<p>Доброго. Только что проверил на AutoCAD 2008 Eng + SP 32 bit и AutoCAD 2011 Eng + SP 32 bit, Windows Vista Home 32 bit. Ошибка есть. Но, что самое интересное - ошибка появляется, если код выполнять не пошагово. После хотя бы одного прохода пошагово все работает корректно.<br />
Есть, конечно, вариант: попытаться сначала сформировать полноценный список, и лишь потом его выводить в файл. Но мне почему-то такой подход не кажется правильным <img src="https://autolisp.ru/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /><br />
Как бороться - не знаю, а Эдуарда сейчас уже сложно заманить на решение лисповых задач <img src="https://autolisp.ru/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /> Если чего получится - попробую сделать решение. Хотя особых надежд на это я бы не возлагал...</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Vildar</title>
		<link>https://autolisp.ru/2010/06/18/inside-dwg/comment-page-1/#comment-5320</link>
		<dc:creator><![CDATA[Vildar]]></dc:creator>
		<pubDate>Wed, 29 Dec 2010 07:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=305#comment-5320</guid>
		<description><![CDATA[Если можно уточню.
Сообщение - ; ошибка: no function definition: nil
Выскакивает в функции es_export_database, в строке:
[cc lang=&quot;lisp&quot;](vl-remove &#039;nil
                   (mapcar &#039;vlax-ename-&gt;vla-object (reverse lm))
                   ) ;_ end of vl-remove[/cc]
А еще точнее в этом месте этой строки: (reverse lm)
Может это поможет вам разобраться. Спасибо.
Autocad2008 sp1, winXP, 32bit.]]></description>
		<content:encoded><![CDATA[<p>Если можно уточню.<br />
Сообщение - ; ошибка: no function definition: nil<br />
Выскакивает в функции es_export_database, в строке:</p>
<div class="codecolorer-container lisp default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;"><div>1<br />2<br />3<br /></div></td><td><div class="lisp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #66cc66;">&#40;</span>vl-remove '<span style="color: #b1b100;">nil</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">mapcar</span> 'vlax-ename-<span style="color: #66cc66;">&gt;</span>vla-object <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">reverse</span> lm<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">;_ end of vl-remove</span></div></td></tr></tbody></table></div>
<p>А еще точнее в этом месте этой строки: (reverse lm)<br />
Может это поможет вам разобраться. Спасибо.<br />
Autocad2008 sp1, winXP, 32bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2010/06/18/inside-dwg/comment-page-1/#comment-5315</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Tue, 28 Dec 2010 22:03:42 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=305#comment-5315</guid>
		<description><![CDATA[Доброго. Во-первых, спасибо за замеченную опечатку. Во-вторых, весьма странно: я только что специально прогнал код на практически пустом файле (AutoCAD 2011 Eng 64 bit + SP), все сработало корректно.
Что-то странное - код не прикрепить никак :(]]></description>
		<content:encoded><![CDATA[<p>Доброго. Во-первых, спасибо за замеченную опечатку. Во-вторых, весьма странно: я только что специально прогнал код на практически пустом файле (AutoCAD 2011 Eng 64 bit + SP), все сработало корректно.<br />
Что-то странное - код не прикрепить никак <img src="https://autolisp.ru/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /></p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Vildar</title>
		<link>https://autolisp.ru/2010/06/18/inside-dwg/comment-page-1/#comment-5309</link>
		<dc:creator><![CDATA[Vildar]]></dc:creator>
		<pubDate>Tue, 28 Dec 2010 15:03:44 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=305#comment-5309</guid>
		<description><![CDATA[При запуск (es_export_database), акад пишет:
; ошибка: no function definition: FUNTION

Подправил на Function, ну думаю опечатка, и опять запустил
; ошибка: no function definition: nil

Все я в тупике.
Подскажите плиз.]]></description>
		<content:encoded><![CDATA[<p>При запуск (es_export_database), акад пишет:<br />
; ошибка: no function definition: FUNTION</p>
<p>Подправил на Function, ну думаю опечатка, и опять запустил<br />
; ошибка: no function definition: nil</p>
<p>Все я в тупике.<br />
Подскажите плиз.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
