|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как добавлять данные из MSExcel в lisp
Регистрация: 15.05.2013
Сообщений: 3
|
||
Просмотров: 3542
|
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
За эту адскую смесь рисования командными методами и получения данных из экселя - преподавателю надо руки вместе с ногами оторвать.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
ZEN, лови прогу. Открыть приложенный файл exel, выделить 3 ячейки G2:G4, скопировать в буфер обмена. Открыть AutoCAD, поставить курсор в комстроку, вставить содержимое буфера. Будут построены три цилиндра.
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Регистрация: 15.05.2013
Сообщений: 3
|
Krieger спасибо, но как заметил Дима_ , все намного ужаснее, нужно именно через прогу в лиспе их нарисовать.
Нашел тему http://forum.dwg.ru/showthread.php?t=8858 (раньше не заметил) но там таблица в блокноте, есть символы-разделители А как через лисп обращатся к столбам и строчкам в excel? |
|||
![]() |
|
||||
Вообще-то, всё решается гораздо проще, без какого-либо программирования: файл Excel нужно сохранить как "Текст (MS-DOS) (*.txt)". Затем у созданного файла меняем расширение с xls на src и всё - задача решена. Полученный скрипт запускается в AutoCAD командой _script и рисует все цилиндры. Меня несколько пугает настораживает уровень знаний "преподавателей", дающих столь "полезные" задания...
Цитата:
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 15.05.2013 в 16:21. |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Offtop: После домашнего ужина решил пошалить:
Выделяешь в экселе три столбца ячеек в формате по аналогу |25,50,10|5|90|, в начале сеанса автокада вводишь (vl-load-com) и для рисования цилиндров по выбранным параметрам копируешь в ком. строку 1 строкой: (vlax-for row (vlax-get-property (vlax-get-property (vlax-get-object "Excel.Application") 'selection) 'rows) (apply 'command (cons "_cylinder" (mapcar 'vlax-variant-value (car (vlax-safearray->list (vlax-variant-value (vlax-get-property row 'value)))))))) - как это оформить в виде программы и что из этого ты объяснишь преподу - это меня уже не волнует. з.ы. ой - файл не посмотрел там-же 5 столбцов (xyz->x,y,z): (vlax-for row (vlax-get-property (vlax-get-property (vlax-get-object "Excel.Application") 'selection) 'rows) (apply 'command (cons "_cylinder" ((lambda (lst) (cons (list (car lst) (cadr lst) (caddr lst)) (cdddr lst))) (mapcar 'vlax-variant-value (car (vlax-safearray->list (vlax-variant-value (vlax-get-property row 'value)))))))))
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 15.05.2013 в 23:26. |
|||
![]() |
|
||||
студент Регистрация: 03.03.2012
Москва
Сообщений: 50
|
Возможно умные и умеющие люди меня обругают, но я для работы с Excel использую следующий кусок кода + готовый файл с методами (скачано с просторов данного форума (скорее всего =) )).
ЗЫ: я тебе скину кусок из своей программы, надеюсь поможет. IN_EXCEL-Write - это запись в эксель, IN_EXCEL-Read - считывание. Код:
|
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Как взять данные с интернет страницы? | LastGraff | LISP | 20 | 03.07.2024 17:19 |
{Конкурс} Lisp. Задачки для студентов | gomer | LISP | 10 | 05.01.2011 16:33 |
Lisp и данные | paha | LISP | 9 | 26.08.2004 14:49 |