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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание ведомостей материалов

Создание ведомостей материалов

Ответ
Поиск в этой теме
Непрочитано 22.09.2011, 11:17
Создание ведомостей материалов
teem0n
 
Регистрация: 12.07.2011
Сообщений: 13

Здравствуйте!

Нужно создать программу для автоматического заполнения ведомостей использованных материалов (конструктивные элементы моста, если конкретнее).
В лиспе начал разбираться совсем недавно (вообще на С пишу), еще даже не знаю "чем" делать, не говоря уже о "как", так что хотелось бы услышать комментарии, критику, советы. Может, кто-то делал что-то подобное и поделится опытом/кодом.

На основе того, с чем экспериментировал, родился следующий концепт. Есть база параметрических блоков, из которой пользователь копипастом/с помощью древовидного списка (в идеале) выбирает нужный блок и вставляет его на чертеж. При первой вставке блока спрашивается список типов и количества использованных материалов (список возможных берется из файла, например). Кстати, есть ли возможность в блоке задать произвольное количество атрибутов/таблицу атрибутов?
После этого создается табличка, где ведется учет материалов. Соответственно, при копировании блока с заполненными атрибутами к тем значениям добавляются указанные в блоке, а при добавлении на чертеж нового - возможно, добавляются строки в таблице.
По специальной команде таблица экспортируется в Word и все несказанно счастливы Правда, эта команда, видимо, должна запускаться извне, ибо нужно будет пробегать по все использованным чертежам, но это тонкости.

Как-то так. Буду чрезвычайно признателен за помощь!

Последний раз редактировалось teem0n, 22.09.2011 в 11:40.
Просмотров: 9493
 
Автор темы   Непрочитано 22.09.2011, 15:47
#21
teem0n


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


Цитата:
Сообщение от hwd Посмотреть сообщение
Если C# ещё не знаете, то понять то, что находится в моём проекте у вас вряд ли получится, ибо я там использую обобщённые методы, методы расширения и лямбда выражения. Новичёк в C# увидя это скорее испугается, т.к. подумает, что шарпей сложен. Однако это не так, его нужно изучать последовательно. Самые простые примеры кодинга под автокад на C# можно поискать тут (если нужен русскоязычный сайт), а если англоязычный - то блог Каина Волмсли (линк я давал выше).
Продираться через С++ будет сложнее, как вы думаете?
С офисом из него я умею общаться, вроде не сильно сложно...
teem0n вне форума  
 
Непрочитано 22.09.2011, 16:21
#22
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от teem0n Посмотреть сообщение
Продираться через С++ будет сложнее, как вы думаете?
C# в освоении гораздо проще чем C++, а возможности те же и к тому же многие вещи в нём реализованы более красиво/грамотно чем у C++ (взять ту же обработку исключений к примеру).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.09.2011, 16:25
#23
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от hwd Посмотреть сообщение
ибо я там использую обобщённые методы, методы расширения и лямбда выражения
...
многие вещи в нём реализованы более красиво/грамотно
Offtop: когда совсем стиль C++ забудешь (если вдруг он нравится перестанет) - не смотри на F#, я вот посмотрел...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.09.2011, 16:29
#24
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
когда совсем стиль C++ забудешь (если вдруг он нравится перестанет) - не смотри на F#, я вот посмотрел...
Честно говоря, не понял этого. На данный момент времени понимать исходники F# я не в состоянии (к сожалению).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.09.2011, 16:50
#25
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


СУГУБО ИХМО - все что сейчас "новое" в C# (четвертой версии) и то что Вы описали в качестве "используемого" - очень "попахивает" функциональностью (отчасти это объясняется тем, что надо что-то делать с многопоточностью, а функцианальный стиль с ней... ну "больше дружит" что-ли). Может это мои глюки, но факты-фактами (Linq, динамическая типизация,...) в C# уже сейчас становится принятым писать далеко от императивного стиля. К чему я это - если так писать, в какой-то момент, показалось интересней - то F# более предназначен (надо в него только "въехать").
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.09.2011, 17:12
#26
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
СУГУБО ИХМО - все что сейчас "новое" в C# (четвертой версии) и то что Вы описали в качестве "используемого" - очень "попахивает" функциональностью (отчасти это объясняется тем, что надо что-то делать с многопоточностью, а функцианальный стиль с ней... ну "больше дружит" что-ли). Может это мои глюки, но факты-фактами (Linq, динамическая типизация,...) в C# уже сейчас становится принятым писать далеко от императивного стиля. К чему я это - если так писать, в какой-то момент, показалось интересней - то F# более предназначен (надо в него только "въехать").
Я не думаю, что F# "более предназначен", скорее в C# постепенно добавляются возможности, которые отчасти позволяют снизить значение выбора языка. Мне нравится использовать LINQ и лямбда-выражения, поскольку это позволяет писать код, представляющий собой некую смесь ООП + подобие SQL (в виде LINQ) + динамической типизации + обобщений. Т.о. объём написания кода существенно уменьшается, гибкость использования повышается (за счёт жонглирования данными, обобщений и возможности передавать в качестве параметров лямбда-выражения). Поскольку я пишу под AutoCAD 2009, то изначально у меня руки связаны тем, что я не могу использовать .Net 4.0, а следовательно - PLINQ. Но даже если бы и была такая возможность - скорее всего это было бы опасно, т.к. распараллеливание задачи на несколько потоков в AutoCAD скорее всего приведёт к Fatal Error (к сожалению).

п.с.
Кстати, уже существуют (я уже устанавливал у себя на вирт. машине):
- Windows 8
- .Net Framework 4.5
- MS Visual Studio 11
- Expression Blend 5
- WinRT (это .Net-реализация Win API для Windows 8)

Причём интерфейс Windows 8 написан на WPF.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 22.09.2011 в 17:19.
hwd вне форума  
 
Непрочитано 22.09.2011, 17:27
#27
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от hwd Посмотреть сообщение
скорее в C# постепенно добавляются возможности, которые отчасти позволяют снизить значение выбора языка
бррр... еще раз - или под C# подразумевается .Net?
Цитата:
Т.о. объём написания кода существенно уменьшается, гибкость использования повышается (за счёт жонглирования данными, обобщений и возможности передавать в качестве параметров лямбда-выражения).
- это по сути прагмида функционального программирования.
Offtop: p.s. Щас нам модераторы устроят C#vsF#.
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 22.09.2011 в 17:34.
Дима_ вне форума  
 
Непрочитано 22.09.2011, 17:36
#28
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
под C# подразумевается .Net?
Под C# понимается C#
Я к тому, что возможности и синтаксис, постепенно добавляемые в C# таковы, что потребность под ту или иную задачу использовать др. .Net-язык (в виду того, что тот может для неё оказаться более предпочтительным - например тот же F#) становится не столь ощутима.

имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.09.2011, 17:46
#29
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


А - все (не так понял) - безусловно - ИХМО им осталось только макросы (синтаксические) и вывод типа (по контексту использования) добавить и будет абсолютно универсальный язык.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.09.2011, 17:55
#30
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
макросы (синтаксические)
см. F.A.Q п.8.
Цитата:
Сообщение от Дима_ Посмотреть сообщение
вывод типа (по контексту использования)
var

__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 22.09.2011, 17:58
#31
teem0n


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


Я чуть-чуть помешаю, ничего?

Кто-нибудь может подарить следующие функции (или какие-то +- работающие примеры) на ARX?

---выбор блоков в пространстве модели по имени/выбор таблицы по названию
---доступ к параметрам блока
teem0n вне форума  
 
Непрочитано 22.09.2011, 18:02
#32
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Это вобще не то - я ж в скобках написал синтаксические (это есть например в scheme - там можно с их помощью вобще "свой" язык со своими правилами интерпритации определить и прямо в коде на нем писать) и вывод типа по контексту - задаешь функцию без типа, а ее тип статически вычисляется по использованию.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.09.2011, 18:03
#33
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от teem0n Посмотреть сообщение
на ARX?
на ARX - это к Александру Наумовичу Ривилису, я только на C# пишу. ObjectARX уже скачали и установили себе? Там море примеров + самая полная документация по программированию в AutoCAD на C++/C#. Кстати, Александр Наумович перевёл на русский презентацию по программированию в AutoCAD .NET API, а так же 8 уроков. Всё это было роздано тем, кто был в Москве на двухдневном тренинге по AutoCAD .NET. Я не выкладываю в инет обозначенный материал, т.к. Александр Наумович запретил делать это (материал появится позднее на ресурсах автодеска).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 22.09.2011 в 18:12.
hwd вне форума  
 
Непрочитано 22.09.2011, 18:21
#34
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от teem0n Посмотреть сообщение
Пишет, что "не совместим, невозможно загрузить". ObjectARX качал для 2011.
Попробуй отключить генерацию и включение манифеста. Кстати проверяешь на том же PC, на котором установлена VS 2008 SP1? Если нет, то компиляция должна быть в Release.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 23.09.2011, 10:38
#35
teem0n


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Попробуй отключить генерацию и включение манифеста. Кстати проверяешь на том же PC, на котором установлена VS 2008 SP1? Если нет, то компиляция должна быть в Release.
Компилирую в Release, проблема была в том, что у меня AutoCAD x64, а я собирал для win-32. Проблема решилась

Александр Наумович, функциями не поможете?

Последний раз редактировалось teem0n, 23.09.2011 в 11:47.
teem0n вне форума  
 
Непрочитано 23.09.2011, 12:14
#36
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от teem0n Посмотреть сообщение
Александр Наумович, функциями не поможете?
Какими? Извини, но я сейчас простужен и чтобы тебе удалось от меня добиться ответа на твой вопрос, тебе придётся его очень чётко сформулировать.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 23.09.2011, 12:38
#37
teem0n


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Какими? Извини, но я сейчас простужен и чтобы тебе удалось от меня добиться ответа на твой вопрос, тебе придётся его очень чётко сформулировать.
Скорейшего Вам выздоровления!
Да в общем подойдет какой-нибудь простенький итератор по entities (как я понимаю, вся графика там лежит), с выдергиванием, например, названия каждого элемента. Это должно быть совсем несложно, но для ускорения процесса обучения, мне кажется, будет небесполезно.

Если что-то готовое, не требующее долгого поиска есть - буду рад!

Нашел вот такой блог: http://arxdummies.blogspot.com/2005/...-database.html
Сижу, постигаю

//////////////////////////////

Написал итератор по описаниям блоков в файле. Такой не нужен, нужен итератор по вхождениям
Читаю дальше

//////////////////////////////

Нашел, как перебирать вхождения блоков. Теперь нужно получить пользовательские атрибуты...

Последний раз редактировалось teem0n, 26.09.2011 в 12:30.
teem0n вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание ведомостей материалов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 263 03.09.2024 12:25
Учет отходов на изготовление в КМ. Fellini Металлические конструкции 36 22.11.2016 17:33
Сколько нас, инженеров, и с каким образованием? BM60 Разное 289 19.05.2009 21:24
Создание новых текстур, материалов для визуализации. U.Stas.A. AutoCAD 3 25.02.2008 20:06
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17