Построение 3d модели по заданным размерам в таблице exsel
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Построение 3d модели по заданным размерам в таблице exsel

Построение 3d модели по заданным размерам в таблице exsel

Ответ
Поиск в этой теме
Непрочитано 15.05.2015, 08:59 #1
Построение 3d модели по заданным размерам в таблице exsel
DENBASS2004
 
Регистрация: 24.06.2009
Сообщений: 94

Помогите новичку. Написал программку с помощью autolisp для создания кольца. Создал таблицу в excel со всеми типами размеров. Нужно что бы программа спрашивала в начале какой диаметр и какая модификация, и на основе того что я вобью, строила кольцо по тем размерам которые соответствуют введенным мною данным. Программка и таблица приложены. Очень нужно. Помогите!

Вложения
Тип файла: lsp Опорное кольцо на все диаметры.LSP (2.6 Кб, 43 просмотров)
Тип файла: xlsx Кольцо.xlsx (10.0 Кб, 47 просмотров)

Просмотров: 8650
 
Непрочитано 15.05.2015, 13:08
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Это задание от преподавателя или есть практическая цель?
Если цель практическая, то стоит посмотреть в сторону дин. блоков.
Если цель учебная, то ...
Boxa вне форума  
 
Автор темы   Непрочитано 15.05.2015, 13:14
#3
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


это мне нужно по работе. Я проектировщик. Но до этого момента использовал автокад как кульман . Теперь хочу попытаться автоматизировать свою работу. Работа очень гигантская. Но вот на данной закавырке, что бы программа запрашивала данные и согласно им брала необходимые ячейки из екселя, я застрял. Каким способом делать думаю мне не важно, так как я пока еще только начал изучать. Но важно, что все мое проектирование строится в 3d
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 13:15
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


Почему lisp?
Зачем xlsx?
trir вне форума  
 
Автор темы   Непрочитано 15.05.2015, 13:18
#5
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от trir Посмотреть сообщение
Почему lisp?
Зачем xlsx?
В данный момент, то что представленно в таблице, это только очень малая часть того, что будет необходимо для составления проекта. Просто первое что я прочитал, это то, что можно записывать типы размеры в екселе и от туда брать. Но если есть иной способ, более легкий, или более простой, то объясните какой это способ!
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 13:35
#6
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


csv раз, два
trir вне форума  
 
Автор темы   Непрочитано 15.05.2015, 13:43
#7
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от trir Посмотреть сообщение
спасибо. почитаю, возможно пойму

----- добавлено через ~15 мин. -----
Цитата:
Сообщение от trir Посмотреть сообщение
эх, вот еще бы написано было на каждой строчке что за конкретное действие там прописывается я только начал изучать, и для меня это только набор знаков. А не могли бы вы прописать прогу именно по моей таблице и в программу которую я выложил. Был бы очень признателен. Только после каждой строчки расписать конкретные действия этой строчки.
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 14:03
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


По таблице? Да там тьма кода будет только для того, чтобы обратиться к этому файлу )
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.05.2015, 14:06
#9
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
По таблице? Да там тьма кода будет только для того, чтобы обратиться к этому файлу )
Ну, тьма меня не пугает Мне главное понять принцип. А есть какой то более простой вариант?
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 14:40
#10
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


да есть, VBA.
Boxa вне форума  
 
Непрочитано 15.05.2015, 14:45
#11
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Хоть VBA, хоть LISP, хоть .NET - все равно придется создавать объект Excel, потом долго и упорно добираться до книги, открывать ее, считывать данные, потом все закрывать обратно... Брррр. Уж лучше csv в таком случае
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.05.2015, 14:48
#12
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 384


А если сделать блок наподобие такого, просто вставлять его в нужную точку и выбирать нужную конфигурацию? Судя по таблице, деталь-то простая.
Вложения
Тип файла: dwg
DWG 2013
Кольцо.dwg (44.5 Кб, 1383 просмотров)
max4airkin вне форума  
 
Непрочитано 15.05.2015, 14:51
#13
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,595


Цитата:
Сообщение от DENBASS2004 Посмотреть сообщение
А есть какой то более простой вариант?
http://habrahabr.ru/post/238867/
для акада - одну строку поменять.
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 15.05.2015, 14:57
#14
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Хоть VBA, хоть LISP, хоть .NET - все равно придется создавать объект Excel, потом долго и упорно добираться до книги, открывать ее, считывать данные, потом все закрывать обратно... Брррр. Уж лучше csv в таком случае
ну, не уж то ни кто не может написать по тому что я прислал. По всему остальному я уж сам буду ковыряться. Главное перевести все строчки проги с объяснением что именно в ней выполняется. А уж дальше я сам продолжу.

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от max4airkin Посмотреть сообщение
А если сделать блок наподобие такого, просто вставлять его в нужную точку и выбирать нужную конфигурацию? Судя по таблице, деталь-то простая.
Это только одна деталь. Таких деталей будет куча. только это кольцо еще надо и резать и выкидывать в отдельный файл, потом вставлять его как ссылку, после его открывать и делать чертеж. Короче, то что я прислал, это одна деталь из сотен. И все они разные. Думаю на блоках я точно заплюхаюсь. Моя идея полностью автоматизировать проект, с наименьшим моим участием.
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 15:00
#15
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Хоть VBA, хоть LISP, хоть .NET - все равно придется создавать объект Excel, потом долго и упорно добираться до книги, открывать ее, считывать данные, потом все закрывать обратно... Брррр.
Эт ты со стороны акада смотришь, причем по ком и не внимательно прочитал исходные данные, в частности, что таблица в xlsx т.е. для работы с ней ексель вообще не нужен, это же набор xml файлов в zip архиве.
Boxa вне форума  
 
Непрочитано 15.05.2015, 15:03
#16
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


swell{d}, лично я против раннего связывания.
DENBASS2004, тебе что надо написать? Как создавать 3DSOLID? Или как создавать функции в lisp? Или код, который выполняет считывание данных с листа xls?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.05.2015, 15:10
#17
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
swell{d}, лично я против раннего связывания.
DENBASS2004, тебе что надо написать? Как создавать 3DSOLID? Или как создавать функции в lisp? Или код, который выполняет считывание данных с листа xls?
Я уже выложил код который рисует это кольцо с точными размерами. В таблице ексель я прописал все типы размеров этого кольца. Мне надо, что бы показали как я должен дополнить свой код, что бы прежде чем строить это кольцо, у меня прога запрашивала диаметр и модификацию. И после того как я вручную ей задаю эти параметры, она считывает из соответствующих ячеек цифры и подставляя их строит кольцо с нужными параметрами, которые прописаны в таблице, а именно строила 2 цилиндра с необходимыми радиусами. Дальше их называние и вычитание одного из другого у меня тоже уже прописано в коде.
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 15:17
#18
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616


Цитата:
Сообщение от DENBASS2004 Посмотреть сообщение
Я уже выложил код
Простите, но это не код, это больше на SCR похоже..
Boxa вне форума  
 
Автор темы   Непрочитано 15.05.2015, 15:22
#19
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Boxa Посмотреть сообщение
Простите, но это не код, это больше на SCR похоже..
ну может быть. Я только 2 день изучаю это знаю что надо давать название ему, что бы запускать по команде. Пока запускаю прямым перетаскиванием в окно автокада. Для меня это пока не принципиально, я готовлю под себя. Просто встал вопрос как сделать что бы он строил запросив данные на любой диаметр который меня интересует. Можно конечно просто менять данные у в этом SCR и запускать с нужными, но там дальше много деталей будет, и мне нужно именно привязаться к моей таблице где я буду постепенно прописывать другие данные и он будет дольше строить.
DENBASS2004 вне форума  
 
Непрочитано 15.05.2015, 18:06
#20
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


Лучше всего dotNET+БД
trir вне форума  
 
Непрочитано 15.05.2015, 19:00
#21
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Цитата:
Сообщение от DENBASS2004 Посмотреть сообщение
что бы прежде чем строить это кольцо, у меня прога запрашивала диаметр и модификацию
Используй getkword (возможно, заодно и getint). За подробностями - в справку.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.05.2015, 12:17
#22
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Хоть VBA, хоть LISP, хоть .NET - все равно придется создавать объект Excel, потом долго и упорно добираться до книги, открывать ее, считывать данные, потом все закрывать обратно... Брррр. Уж лучше csv в таком случае
Алексей, я почитал про тебя, ты очень грамотный. Помоги. Я понимаю, ты пишешь что это все будет долго , но мне именно надо, что бы программа строила беря данные из ячеек екселя. Мне просто надо понять принцип как это делать. Как прописать путь к этой таблице. Как сделать что бы программа запрашивала необходимые данные, после чего брала из нужных ячеек данные. не на этом, так на любом другом примере. В инете нахожу только как таблицы вставлять. А мне надо именно что бы например при указании мною диаметра и модификации, он подставлял далее в программу значения из нужных ячеек. Далее например у меня прописано прорисовка цилиндра, и там будет стоять буква Rn, и программа автоматом присваивала ей нужную цифру из нужной ячейки.
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 12:34
#23
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,595


Т.е. моя ссылка игнорируется полностью, хотя там всё разжёвано до последней строчки кода
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 20.05.2015, 12:36
#24
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от swell{d} Посмотреть сообщение
Т.е. моя ссылка игнорируется полностью, хотя там всё разжёвано до последней строчки кода
извините, но я на работе не могу пользоваться ютубом, у нас его перекрыли
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 13:05
#25
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,595


Ссылка на хабр
http://forum.dwg.ru/showpost.php?p=1406781&postcount=13
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Автор темы   Непрочитано 20.05.2015, 13:14
#26
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от swell{d} Посмотреть сообщение
Здесь показан пример для VBA. А для языка Autolisp? принципиально похожее, или же совсем иной подход? Я пытаюсь на autolispe прописать, без участия VBA. Или это принципиально невозможно?
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 13:20
#27
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


В исходной постановке задачи, на VBA она решается сильно проще, особенно если VBA со стороны Excel'я
trir вне форума  
 
Автор темы   Непрочитано 20.05.2015, 13:22
#28
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от trir Посмотреть сообщение
В исходной постановке задачи, на VBA она решается сильно проще, особенно если VBA со стороны Excel'я
А вообще с помощью лиспа она может решиться? Я именно хочу через лисп прописать

----- добавлено через 45 сек. -----
Цитата:
Сообщение от trir Посмотреть сообщение
В исходной постановке задачи, на VBA она решается сильно проще, особенно если VBA со стороны Excel'я
понимаю, может это намного сложнее, но все таки я пытаюсь прописать через автолисп
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 13:30
#29
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


Почему именно на lisp?
Может сначала в базовых вещях разберётесь... книжки почитаете
trir вне форума  
 
Непрочитано 20.05.2015, 13:40
#30
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


AutoLISP и Visual LISP в среде AutoCAD
обратите внимание на главу 10.4
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.05.2015, 13:42
#31
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от trir Посмотреть сообщение
Почему именно на lisp?
Может сначала в базовых вещях разберётесь... книжки почитаете
я уже в лиспе прописал много, он строит всю конструкцию. каждую деталь выкидывает в отдельный файл, вставляет в сборку ссылкой. Начал прописывать, что бы изготавливал чертеж с расстановкой видов и всех размеров. короче уже многое прописано. Но такие конструкции имеют линейку разновидностей. В примере я просто указал только одну деталь. мне надо понять как ее теперь связать с екселем что бы по введенным мною данным он строил по соответствующим размерам. Этого я нигде не могу найти. Вся надежда что здесь кто нибудь поможет.
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 13:47
#32
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


А ещё полезно знать, что такое COM и чем AutoLISP отличается от Visual LISP
trir вне форума  
 
Автор темы   Непрочитано 20.05.2015, 14:10
#33
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от trir Посмотреть сообщение
А ещё полезно знать, что такое COM и чем AutoLISP отличается от Visual LISP
ну, языков программирования много. и думаю что не очень хорошо прыгать с одного языка на другой. Ладно, жаль что не можете мне помочь. Может сам как нибудь допедрю, может все таки кто нибудь поможет.

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
AutoLISP и Visual LISP в среде AutoCAD
обратите внимание на главу 10.4
спасибо, скачал книжку почитаю.
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 14:14
#34
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от DENBASS2004 Посмотреть сообщение
Ладно, жаль что не можете мне помочь. Может сам как нибудь допедрю, может все таки кто нибудь поможет.
Цитата:
10.4. Пример работы с внешним приложением (чтение файла Excel 2003).
какая еще вам помощь нужна - так практический пример приведен, насколько помню.
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.05.2015, 14:19
#35
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
какая еще вам помощь нужна - так практический пример приведен, насколько помню.
да сергей ваше сообщение тоже прочитал, скачал уже книгу читаю. спасибо

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
какая еще вам помощь нужна - так практический пример приведен, насколько помню.
судя по прочитанному, там тоже описывается как заполнять таблицу в екселе, и как связывать ее с автокадом. Но это тоже для того что бы он эту таблицу вставлял в автокад. Мне не нужна вставка таблицы, мне нужно что бы спросив у меня некоторые данные, он из этой таблицы взял из нужных ячеек цифры и построил по ним кольцо.

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
какая еще вам помощь нужна - так практический пример приведен, насколько помню.
или я чего то не понимаю
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 14:28
#36
trir


 
Регистрация: 18.12.2010
Сообщений: 5,115


Цитата:
не очень хорошо прыгать с одного языка на другой
А придётся, хотя, в данном случае - язык один, а разнцу нужно понимать, если хотите работать с Excel!

Цитата:
он из этой таблицы взял из нужных ячеек цифры и построил по ним кольцо
берёте table_items и делаете с ним, что хотите!
Учите lisp! Вы его не знаете!
trir вне форума  
 
Непрочитано 20.05.2015, 14:38
#37
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от DENBASS2004 Посмотреть сообщение
судя по прочитанному, там тоже описывается как заполнять таблицу в екселе, и как связывать ее с автокадом. Но это тоже для того что бы он эту таблицу вставлял в автокад. Мне не нужна вставка таблицы, мне нужно что бы спросив у меня некоторые данные, он из этой таблицы взял из нужных ячеек цифры и построил по ним кольцо.
Если autocad что-то делает с экселем, то значит-из акада достучались до объектной модели экселя. А дальше что хотите, то и делайте. На VBA в офисе писали когда-нибудь?
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.05.2015, 14:40
#38
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Если autocad что-то делает с экселем, то значит-из акада достучались до объектной модели экселя. А дальше что хотите, то и делайте. На VBA в офисе писали когда-нибудь?
нет не писал, я только только начал изучать
DENBASS2004 вне форума  
 
Непрочитано 20.05.2015, 14:55
#39
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Тогда сначала попробуйте реализовать получение значений на VBA в самом экселе. Когда разберетесь с основой объектной модели экселя - тогда уже пытайтесь скрещивать с акадом, используя информацию из книжки о подключении к экселю.
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.05.2015, 21:06
#40
DENBASS2004


 
Регистрация: 24.06.2009
Сообщений: 94


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Используй getkword (возможно, заодно и getint). За подробностями - в справку.
спасибо, надеюсь сдвинусь с места
DENBASS2004 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Построение 3d модели по заданным размерам в таблице exsel



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание поверности и 3d модели поверхности в AutoCAD Civil 3d 2009 Arhistratig Вертикальные решения на базе AutoCAD 25 07.05.2013 14:53
Проводка в 3D модели. 2doo AutoCAD 2 07.01.2009 00:21
Использование в AutoCad 3d модели созданной в AutoCad Архитектор faust23 AutoCAD 25 16.10.2008 00:53
Нужно узнать координаты каждой точки 3D модели Babun AutoCAD 8 14.10.2008 08:38
Подготовка рабочих чертежей по 3D модели constructorl AutoCAD 21 07.02.2007 19:50