Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

(defun C:POINTIMPORT ()
  (if (not (tblsearch "BLOCK" "TOPO_POINT"))
   (progn
    (entmake
     (mapcar 'cons    
      (list 0 8 2 70 10 3)
      (list "BLOCK" "0" "TOPO_POINT" 2 '(0 0 0) "TOPO_POINT")))
    (entmake
     (mapcar 'cons    
      (list 0 8 62 10 210 50)
      (list "POINT" "0" 0 '(0 0 0) '(0 0 1) 0.0)))
    (entmake
     (mapcar 'cons    
      (list 0 8 62 10 40 70 1 210 3 2)
      (list "ATTDEF" "0" 0 '(1 1 0) 2.5 0 "" '(0 0 1) "Номер точки" "TOPO_POINT_NUMBER")))
    (entmake
     (mapcar 'cons    
      (list 0 8)
      (list "ENDBLK" "0")))))
  (setq layername (getstring T "\nИмя слоя для точек: "))
  (if
   (progn
    (setq filename (getfiled "Файл данных" "" "txt" 0))
    (if filename
     (setq f (open filename "r"))))
   (while (setq s (read-line f))
    (setq l (read (strcat "(" s ")")))
    (mapcar 'set (list 'x 'y 'z 'n) l)
    (entmake
     (mapcar 'cons    
      (list 0 8 62 66 2 10 210)
      (list "INSERT" layername 256 1 "TOPO_POINT" (list x y z) '(0 0 1))))
    (entmake
     (mapcar 'cons    
      (list 0 8 62 10 40 1 2 70 210)
      (list "ATTRIB" layername 256 (append (mapcar '1+ (list x y)) (list z)) 2.5 (itoa n) "TOPO_POINT_NUMBER" 0 '(0 0 1))))
    (entmake
     (mapcar 'cons    
      (list 0 8 62)
      (list "SEQEND" layername 256))))
   (prompt "\nФайл не найден."))
  (prin1)
 )

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Не стреляйте - файл забыл закрывать.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Еще раз извиняюсь перед Chaynik (работа забодала, стал невнимательно читать). Конечно, в строке
(mapcar 'set...
должно быть
(mapcar 'set (list 'y 'x 'z 'n) l)

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Всем большое спасибо за помощь!

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Применять диалоговые окна удобно еще и в случае, если функция по каким -либо
причинам не нашла файл самомтояельно, а также при некскольких вариантах задания аргумента функции, если в качестве аргумента выступает имя файла.
При том не всегда нужный Вам файл может быть расположен в путях поиска файлов поддержки, а Вы не всегда можете знать заранее расположение папки,чтобы составить полное имя файла и др. Кроме указанной команды (getfiled) диалоги для открытия файла имеются также в библиотеке DOSLib 6.0:
(dos_getfiled) - Выбор одночного файла с помощью диалогового окна.
(dos_getfilem) - Выбор группы файлов с помощью диалогового окна.
Ссылку на DOSLib 6.0 http://www.mcneel.com/download.htm любезно предоставил  <leha>.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Вот-вот, и я столкнулся. Импорт техстового файла непосредственно в КАД. Внешне все выглядит так: лазерный тахеометр Никон НПЛ-350 выдает примерно следующее:
02,33.808,0.000,-3.191,
03,33.816,0.017,-3.500,
04,31.881,2.079,-3.198,
05,31.945,2.082,-3.497,......
(Номер_точки, Х, У, Z, )
А хочецца чтобы все эти вершины были соединены полилинией.
Кредо-Дат 3.0 пересчитывает угловые измерения прибора в координаты, экспортирует в ДХФ, но выглядит это ужасно.
То есть на 3 кило текста 180 кил ДХФа. А потом конструкторы ручками эти точки соединяют. Может быть, уважаемые господа, и мне слегка подможете? А то я в ЛИСПе полный чайник sad((
С уважением, Дмитрий Гаврилов

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Да, импорт-экспорт объектов Acad через текстовые файлы очень НЕОБХОДИМАЯ вещь в хозяйстве, особенно работающим с топо и геологическими объектами.
Правда я предпочитаю текстовые файлы с нежестко заданным форматом данным (данные отделяются разделителями, например, запятыми), нужные поля для ввода-вывода выбираются пользователем. Дополнительно я сбрасываю и имя слоя объекта и значение выбранных атрибутов блоков, а для полилиний - порядковый номер полилинии.
Теперь можно сбросить в файл набор из точек, линий, полилиний, окружностей, блоков с атрибутами, обработать их, например, в Excel и отрисовать нужные типы объектов по данным из файла с разделителями. Интерфейс см. программы INSP2TXT и OCREATE (geol-dh.narod.ru).
Например, план геохимического опробования (несколько десятков тысяч точек) делается автоматом, в базе заранее можно отфильтровать ненужные данные, задать нужные поля и др.
Принцип формирования объектов по данным текстового файла такой: читаешь файл построчно и формируешь список (данные строк -  свои списки), далее анализируешь достаточность данных, наличие нужных слоев и имен блоков (если задано) , после этого отрисовываешь объекты.
А что касается выбора файла и формирования списка из строки:
Формирование имени файла
(defun FORMNAME (fn / fn0); fn - имя файла, можно формировать  путь по умолчанию по директорию чертежа через (getvar "DWGPREFIX")
   (setq fn0 (getfiled "ВЫБЕРИТЕ ИМЯ ФАЙЛА C ДАННЫМИ" (strcat crn- "." crext-) crext- 0)); crn- имя файла по умолчанию (или можно fn), crext- расширение (глоб.переменные, не удаляются)
   (if fn0
     (progn
       (setq fn0 (strcat (vl-filename-directory fn0) "\\" (vl-filename-base fn0)))
       (setq fn fn0)
     )
     (setq fn fn)
   )
   (setq fn (SETFNAME fn));SETFNAME - здесь осуществляются проверки на допустимость имени, открытие файла для чтения или записи, сообщения при ошибках,  обработка полей DCL и др.
; возврат - имя файла без расширения или с расширением, тогда добавлять его в SETFNAME.
);end of ************ FORMNAME ***********
Формирование списка из строки в список, на входе строка и разделитель полей в строке, выход - список, можно сразу добавить уничтожение концевых пробелов, при необходимости
(defun DOVALUE (str delim / k sn lst1 c) ;строку с разделителями в список
   (setq k 1
         sn ""
         lst1 nil
   );setq
   (while (<= k (strlen str))
     (setq c (substr str k 1))
     (if (/= c delim)
       (setq sn (strcat sn c))
       (setq lst1 (append (list sn) lst1)
             sn ""
       );setq
     )
     (setq k (1+ k))
   );while
   (if (/= sn "")
     (setq lst1 (append (list sn) lst1))
   )
   (setq lst1 (reverse lst1))
);end of ******* DOVALUE ********

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Добавление:
Формирование списка из строки через любые разделители (удобно для анализа ввода пользователя, кто его знает что он введет):
sym можно передавать и как параметр (при необходимости)
(defun DOVALUE_ANY (str / i stri lst sym) ;строку с любым разделителями в список
   (setq i 1 stri "" lst nil)
   (while (/= (setq sym (substr str i 1)) "")
     (if (not (wcmatch  sym "`?,`;,`:,` ,`!,`~,`@,`#,`$,`%,`^,`&,`*,`(,`),`+,`=,\\,`!,`{,`},`[,`<,`>,`.,`],`,,`/,`',``"))
       (setq stri (strcat stri sym))
       (progn
         (if (and (/= stri "") (not (member stri lst)))
           (setq lst (append lst (list stri)))
         )
         (setq stri "")
       )
     )
     (setq i (1+ i))
   );while
   (if (and (/= stri "") (not (member stri lst)))
     (setq lst (append lst (list stri)))
   )
   (setq lst lst)
);end of ******* DOVALUE_ANY ********
;

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Я использую эту. Работает и в 2002'м

(DEFUN C:XYZPOINT ( / fn ins f bm hi os format input read-point line plist ss)

; Is a utility for use with AutoCAD Release 10 or 11,
; which reads coordinate data from ASCII files in CDF or SDF format,
; and generates AutoCAD geometry using the incoming coordinate data.
; The XYZPOINT command will read coordinate data from an ASCII file,
; and generate either a continuous string of LINES, a POLYLINE, a
; 3DPOLYline, multiple copies of a selected group of objects, or
; AutoCAD POINT entities.
;
;  Format:
;    Command: XYZPOINT
;    File to read: MYFILE.TXT                           <- ASCII input file
;    Comma/Space delimited <Comma>: Comma               <- data format
;    Generate Copies/Lines/Nodes/3Dpoly/<Pline>: Nodes  <- entity to create
;    Reading coordinate data...
;
; If you selected "Copies", then XYZPOINT will prompt you to select the
; objects that are to be copied.  The basepoint for all copies is the
; current UCS origin (0,0,0).  One copy of the selected objects will be
; created for each incoming coordinate, and placed at each coordinate.
;
; A comma-delimited (CDF) ascii file contains one coordinate per line,
; with each component seperated by a comma, like this:
;
;    -4.33,0.0,6.3
;    0.322,5.32,0.0
;    etc....
;
; There should be no spaces or blank lines in a CDF coordinate data file.
;
; A space-delimited (SDF) ascii file contains one coordinate per line,
; with each component seperated by one or more spaces, like this:
;
;   -4.33   0.0    6.3
;    0.322  5.32   0.0
;    ...
;
; Coordinate data can be 2D or 3D.
;
; Note that all numeric values must have at least one digit to the left
; and the right of the decimal point (values less than one must have a
; leading 0), and a leading minus sign indicates negative values.  This
; applys to both CDF and SDF formats.

; XYZPOINT can generate a continuous chain of LINE entities from your
; coordinate data, where each pair of adjacent lines share a coordinate
; from the file.

; XYZPOINT can also generate a polyline or 3DPOLYline from the coordinate
; data, where each point in the file becomes a vertice of the polyline.
; If the input file contains 3D coordinates, and you specify a polyline,
; then the Z component is ignored and the default of 0.0 is used.

; XYZPOINT will also COPY a selected group of objects, creating one copy
; for each incoming coordinate, and using the coordinate as the absolute
; copy displacement from the CURRENT UCS origin (0,0,0).
;
; Finally, XYZPOINT will generate AutoCAD POINT entities from the data in
; the file.  Specify the point size and type prior to invoking XYZPOINT.


   (DEFUN CDF (l) (COMMAND "_.SETVAR" "LASTPOINT" l) (GETVAR "LASTPOINT"))
   (DEFUN SDF (l) (READ (STRCAT "(" l ")")))
   (DEFUN NOZ (p) (LIST (CAR p) (CADR p)))
   (DEFUN STRTRIM (s)
     (WHILE (EQ " " (SUBSTR s 1 1)) (SETQ s (SUBSTR s 2)))
     (WHILE (EQ " " (SUBSTR s (STRLEN s))) (SETQ s (SUBSTR s 1 (1- (STRLEN s)))))
     (COND ((EQ s "") NIL) (T s) )
   )

;  (SETQ fn "~")           ; Имя файла по умолчанию
   (SETQ fn (GETFILED "Список файлов для чтения" "" "*" 2))
   (IF (AND fn (SETQ f (OPEN fn "r")))  ;Есть имя файла и он открыт
     (PROGN
       (INITGET "Пробел Запятая")
       (SETQ format
         (COND
           ((GETKWORD "\nРазделитель - Пробел/Запятая <Пробел>: "))
           (T "Пробел")
         )
       )
       (INITGET "Копии Линии Точки 3Мполилиния Полилинию")
       (SETQ input
         (CDR (ASSOC
           (COND
             ((GETKWORD "\nСоздавать - Копии/Линии/Точки/3Мполилиния/<Полилинию>: "))
             (T "Полилинию")
           )
           '(("Линии" . "_.LINE") ("Копии" . "_.COPY")("Точки" . "_.POINT")
             ("Полилинию" . "_.PLINE")("3Мполилиния" . "_.3DPOLY"))
           )
         )
       )
       (SETQ read-point (COND ((EQ format "Запятая") CDF) (T SDF)))
       (SETVAR "CMDECHO" 0)
       (SETQ bm (GETVAR "BLIPMODE"))
       (SETQ hi (GETVAR "HIGHLIGHT"))
       (SETQ os (GETVAR "OSMODE"))
       (SETVAR "BLIPMODE" 0)
       (SETVAR "OSMODE" 0)
       (PRINC "\nЧтение координат...")
       (WHILE (SETQ line (READ-LINE f))
         (COND
           ((SETQ line (STRTRIM line))
            (SETQ line (READ-POINT line))
            (SETQ plist
              (APPEND plist
                (COND
                  ((EQ input "_.PLINE") (LIST (NOZ line)))
                  (T (LIST line))
                )
              )
            )
           )
         )
       )
       (CLOSE f)
       (PRINC "\nЧтение координат закончено!")
       (COND
         ((EQ input "_.POINT")
          (SETVAR "HIGHLIGHT" 0)
          (COMMAND "_.POINT" "0,0,0" "_.COPY" (SETQ ss (ENTLAST)) "" "_M" "0,0,0")
          (APPLY 'COMMAND plist) (COMMAND)
          (ENTDEL ss)
         )
         ((EQ input "_.COPY")
          (PRINC "\nВыберите объекты для копирования:")
          (WHILE (NOT (SETQ ss (SSGET)))
            (PRINC "\nОбъекты не выбраны!")
            (PRINC " Выберите объекты для копирования:")
          )
          (SETQ ins (GETPOINT "Укажите точку вставки копируемых объектов:"))
          (SETVAR "HIGHLIGHT" 0)
          (COMMAND "_.COPY" ss "" "_M" ins)
          (APPLY 'COMMAND plist)
          (COMMAND)
         )
         (T (COMMAND input) (APPLY 'COMMAND plist) (COMMAND))
       )
       (PRINC "\nНанесение точек закончено!")
       (SETVAR "HIGHLIGHT" hi)
       (SETVAR "BLIPMODE" bm)
       (SETVAR "OSMODE" os)
     );end PROGN
     (PRINC "\nНе могу открыть файл для чтения координат.")
   );end IF
   (PRIN1)
)

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Сколько копий сломано... Ужас!!!

1. А может проще добавить несколько скобок (так чтобы синаксис был лисповским) и загрузить все это в какую-нибудь переменную обычным load-ом и забыть о разборе как вообще (ведь это ЛИСП!!!).
2. И еще я бы номер точки поставил первым, а потом координаты - потом просто (cdr ...) - и вот вся точка, а так выцеплять, морочиться...
3. Не бойтесь ленится - в программирование это очень ПОЛЕЗНОЕ свойство!!!

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

> Сергей
Попадьин
Если это в мой адрес, то зря. Программа не моя, но работает и меня пока устраивает.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Импортирую данные с тахеометра
Sokkia SET 500-600 в автокад
из txt файла  в формате (номер точки x y z )
Lisp с диалоговым
окном DCL(по желанию выводит z, xy , номер
задает масштаб для текста,разделитель).
Если это то что нужно обращайтесь думаю
что не жалко будет поделиться.
Программа обкатана
1 год.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Сергею Попадьину:
Вот в чем фича - я тоже ленивый, но кайф в том, чтобы написать модуль для последовательной связи через порт, а не прогонять текстовый файл модификатором, чтобы с прибора (а он генерит ТЕКСТОВЫЙ файл) вводить данные непосредственно в КАД. Поэтому преобразовывать придется именно средствами ЛИСПа.
С уважением, Дмитрий Б. Гаврилов

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Нашел кое-что в "закромах". Может поможет. Сам еще не разбирался, но скоро придется.

(defun c:sokkia ( )
(setvar "cmdecho" 0 )
             (setvar "blipmode" 0)
                      (command "цвет" "250")
                                   (command "привяжи" "ничего")


                       список слоев
       (setq layll (list "ПИКЕТ" "НАЗВАНИЕ" ))
;-----------------------------------------------------------------------------
;                               анализ наличия слоев
              (setq layl (list))
              (setq lay (cdr (car (cdr (tblnext "layer" 1)))))
              (setq layl (cons lay layl))
   (while lay
        (setq lay (tblnext "layer" ))
        (if (/= lay nil)(progn
                               (setq lay (cdr (car (cdr lay))))
                               (setq layl (cons lay layl))))
   )
;-----------------------------------------------------------------------------
                   создание слоев

               (setq m 0)(setq lay ",")
  (repeat 2
             (if (= nil (member (nth m layll) layl)) (progn
         (setq lay (strcat lay (nth m layll))) (setq lay (strcat  lay ","))))
             (setq m (1+ m))
  )
      (if (> (strlen lay) 1)(progn
                            (setq m (strlen lay))
                            (setq lay (substr lay 2 (- m 2)))
                   (command "слой" "новый" lay "")))
;-----------------------------------------------------------------------------
;               включение слоев
   (command "слой" "Вкл" "ПИКЕТ,НАЗВАНИЕ" "")

;-----------------------------------------------------------------------------


;
;запрос масштаба
;
(setq m 50.0)
(setq m (/ (* 3 m) 1000))
(setq m0 (rtos m))
(setvar "pdmode" 34)(setvar "pdsize" m)
;
;запрос файла координат
;
(setq f (getstring "\nфайл координат  "))
;
;стирание слоя
;
;(setq S (ssget "X" '((8 . "пикет"))))
;(if (/= s nil)(command "СОТРИ" S ""))
;
;открытие файла координат
;
(setq f (open (strcat "/piket/" f ".skk") "r"))

(repeat 7 (read-line f))

(setq r t)

(while r
(setq r (read-line f))
;
;выделение номера и координат
;
(if (/= r nil)
(progn
(setq n (substr r 13 8))
(setq x (substr r 21 10))
(setq y (substr r 37 10))
(setq z (substr r 53 10))
(setq koor (list (atof x) (atof y) (atof z)))
(command "слой" "установи" "пикет" "")
(command "точка" koor)

(setq o2 (list (+ (atof x)  m ) (- (atof y) (/ m 2))))
(command "слой" "установи" "название" "")
(command "текст" o2 m0 "0" n )
)
))
;установка прежнего текущего слоя
;
(command "покажи" "границы" )
;(setvar "blipmode" 1)
(princ)
)

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Эдуарду:
Если не жалко, мыльните мне програмульку: Dmitry@flexpro.ru
Каю, ВХ и Шуре-Алексу:
Со списками не совсем понятно, но с помощью ХЕЛПа разберусь. А как строить 3Д-полилинию, и как к вершинам имена точек привязать? Имена в списке первые. Напомню формат:
02,33.808,0.000,-3.191,
03,33.816,0.017,-3.500,
DOT555,31.881,2.079,-3.198,
STN647,31.945,2.082,-3.497,......
(Номер_точки, Х, У, Z, )
Разрядность имен точек может быть разной. Число знаков после запятой в координатах тоже. Некоторые аргументы могут быть опущены (DOT3,,2.0,3.55,)

Помогите, плз! Хлп! Итд!
С уважением, Дмитрий Гаврилов

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Кстати. В Бонус пакет ACAD14 входила команда
ASCPOINT которая по желанию и точки накалывала и
полилинии строила , но к сожалению без текста.
Dmitry- скинул на мыло.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

всем:

никого не хотел обижать, просто мысли вслух - уж очень удивило кол-во откликов по данной теме...

Dmitry:

конечно это довольно существенно меняет ситуацию... правда я ни разу не пробовал читать прямо из порта, не ужто получается?

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Прибор не генерит TXT файл.
Программа к этому прибору знает битовый формат хранения данных в приборе и преобразует их.
Придется делать через нее или купить фирмы изготовителя этот формат.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

а все же прикольно вспомнить с чего эта ветка началась...

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Мне Андрей Петров существенно помог. Цитирую его идею:
Читать строку, добавив скобки преобразовать прям в список
Функцией car выделить первый элемент - будет название точки
Функцией cadr (точно не помню) обрубить первый элемент списка - остальные три элементы "чиста" координаты
Преобразовать первый лемент в стринг и напечатать в заранее объявленном блоке (attdef - block - insert)
Построить по второй половине списка вертекс полилинии
И так до конца файла.

Кто может помочь с кодом - ПЛЗ. Что касается прибора, пока терминалкой сливаем с него в текстовый файл, а хоцца иметь просто кнопку в КАДе. Подключаешь кабель, бздынь-готово. 3D.

С уважением, Дмитрий Гаврилов

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Ну вот, с Вашей помощью родил. Спасибо.

 (defun C:ASCXYZ()
 
 ;  (setvar "cmdecho" 0)
 ;  (setvar "blipmode" 0)
 ;  (setvar "pdmode" 2)
 ;  (setvar "osmode" 0)
 
   (cond ((not(tblsearch "layer" "Dots" ))
     (Command "_Layer" "_N" "Dots" "_l" "Continuous" "Dots" "_C" "_W" "Dots" ""
       "_Layer" "_N" "Names" "_l" "Continuous" "Names" "_C" "_R" "Names" ""))
   )
 
   (setq masst 1000)
   (setq shift 10)
   (setq finm (getfiled "select data file:" "D:\\Geo_data\\" "txt" 16)) 
   (setq fiid (open finm "r"))
 
   (command "layer" "s" "Dots" "")
   (entmake '((0 . "POLYLINE")(62 . 5)(66 . 1)(70 . 8)))
 
     (while (not (eq (setq fistr (read-line fiid )) nil )) 
       (setq fispsk fistr)
       (stranalyze) 
       (addvrt) 
     ) 
 
   (entmake '((0 . "SEQEND")))
   (close fiid)
   ;(addblk)
   (command "layer" "s" "Names" "")
   (setq fiid (open finm "r"))
       (while (not (eq (setq fistr (read-line fiid )) nil )) 
         (setq fispsk fistr)
         (stranalyze) 
         (addblk) 
  
 ; (princ)
       ))
   
 (defun stranalyze() 
   (setq fiksp(read(strcat "(" (vl-string-translate "," " " fispsk) ")")))
   (setq coordot (cons 10 (list (*(nth 2 fiksp)masst) (*(nth 1 fiksp)masst) (*(nth 3 fiksp)masst))))
   (setq coortxt (cons 10 (list (+(nth 1  coordot)0) (+(nth 2 coordot)0) (+(nth 3 coordot)shift))))
   (setq name (cons 1 fistr))
 ; (princ)  
 )
 
 (defun addvrt() 
   (entmake (list '(0 . "VERTEX") '(70 . 32) coordot))
 )
 
 (defun addblk() 
   (entmake (list '(0 . "TEXT") '(40 . 2.5) coortxt name))
   ;(command "text" coortxt 2.5 0 name "" "" "")
  
 )

Прошу пардона за корявки - оччень торопился.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

В LDD есть функции иморта-экпорта точек и все остальное, что необходимо для решения геодезических задач. Кроме того существуют Российские пакеты для решения тех же задач (GEOCAD, Credo). Может стоит обратить на них внимание?

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

Андрею П.
Дык, у меня Кредо Дат 3.0. Только у меня задачи не геодезические следовательно он мне нафиг не нужен. Поэтому и пришлось писать см. выше - чтобы иметь 3D геометрическую модель прям с прибора. Повторю про Кредо - из 3к тектста с координатами получается 180к ДХФ-а да еще и в плане (2D).
Сергею Попадьину.
А никто копий-то и не ломал. Все только помогали. Ба-альшой бальшой спасиб.

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

мне нужен конвектор из всех фарматов в DXF у ково есть скиньти на vinas666@rambler.ru за рания спосиба!

Re: Можно ли с помощью Лиспа создать или вызвать графическое меню открывания файла

СПАСИБО!
Разъясните по действиям, пожалуйста, как работает?
У меня в работе нечто похожее надо сотворить, но мне бы хотелось еще и понять как это сотворилось.