Анализ файла CAD или BIM и выборка / экспорт «имени слоя» - PullRequest
4 голосов
/ 04 декабря 2010

Звуковой байт Вопрос: Насколько легко или сложно анализировать файл CAD / BIM и возвращать (экспортировать) только имена этих «Слоев, листов или рабочих наборов», содержащихся внутри?

Более подробный вопрос:

Я практикующий архитектор (не программного обеспечения, а типа здания / сооружения), и мы занимаемся разработкой специального продукта, который отслеживает файлы CAD / BIM в пределахпапка или набор папок и постоянно возвращает имена «Слоев», «Листов» и «Рабочих наборов», содержащихся в каждом файле.Другими словами, если кто-то создает слой под названием «Электрическая проводка», например, в файле (AutoCad, Revit, Microstation или ArchiCad), насколько сложно будет проанализировать, извлечь и экспортировать это «имя слоя» в другоепрограмма, как только файл был сохранен и обновлен?Только «имя слоя», «имя листа» или «имя рабочего набора» и ничего больше.

Я понимаю, что у меня нет «щедрости» или «репутации», чтобы выдвинуть ответ, но у меня есть свои «Ваффи» в области «архитектурного дизайна», и, возможно, это может быть возвращением дляответь, нарисуй тебе самую классную маленькую теплицу / беседку / палубу / крыльцо / спа / солярий, которую ты когда-либо видел!;) В конце концов, я рассчитываю, что возврат к местной экономике спасет нашу экономику в целом, почему эти «местные экономики» не могут быть цифровыми и сетевыми экономиками?:)

Зайдите в мой «офис», чтобы взглянуть на нашу работу: :) http://www.flickr.com/photos/studiowikitecture/sets/72157604538587139/

Спасибо за ваше время.Приветствия, Райан

.............

Также хотел бы включить следующее для разъяснения, если это необходимо .... (дайте мне знать, если вам нужнодальнейшие разъяснения)

Что такое «слои»? В файлах САПР и в некоторых расширенных файлах BIM «слои» используются для организации общих объектов, например ... Слой внешней стены, интерьерСлой стены, слой электричества, слой электропроводки, слой обрамления, слой плиты, слой воздуховода и т. Д. И т. Д.

Что такое «листы»? в обоих файлах CAD / BIM,«Листы» используются для создания или отключения / включения определенных «слоев».Например, «электрический план этажа» будет включать «электрический слой» и «настенный слой» и накладываться друг на друга.Другие слои, такие как «слой воздуховода», будут отключены.

Что такое «Рабочие наборы»? Рабочие наборы похожи на слои, но более специфичны для программ BIM.Они представляют способы, которыми пользователь может «разбить» модель BIM на логическое разделение труда ... например.рабочий набор только для структурных колонн; рабочий набор для электрической панели и подстанций.рабочий набор для «крыла» здания и т. д. и т. д.

В качестве справки, если это имеет значение, следующие популярные программы CAD / BIM связаны со следующими языками и стандартами.

Revit: C #, C ++, VB.NET, .NET, EXPRESS / STEP (файл ext: .rvt)

AutoCad: C ++, AutoLISP, Visual LISP, VBA, .NET и ObjectARX, STEP /EXPRESS (файл ext: .dwg, .dxf)

Микростанция: C / C ++, VBA, .NET., STEP / EXPRESS (файл ext: .dgn)

ArchiCAD: C / C ++, GDL, BASIC, Visual Studio, Codewarrior, STEP / EXPRESS (файл ext: .pla)

VectorWorks: C / C ++, VB, STEP / EXPRESS

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011

Я думаю, что использование стандартного подхода - путь сюда.STEP означает «Стандарт для обмена данными модели продукта».Он также известен как ISO 10303 .

Как вы указали, поставщики реализуют стандарт STEP, то есть позволяют пользователям экспортировать данные в файл STEP ( ISO 10303-21 ) и / или файлы STEP-XML..

После того как вы экспортируете данные в STEP-файл, вы можете теоретически проанализировать их и извлечь «имя слоя», «имя листа» или «имя рабочего набора» иливсе данные из него.Для этого вам доступны инструменты.

Если вы разместите экспортированный STEP-файл, полученный с помощью одного из инструментов, упомянутых выше, это поможет увидеть, что можно извлечь.

2 голосов
/ 04 декабря 2010

Вероятно, будет трудно найти одно решение, которое будет работать с каждым из этих типов файлов. Однако, по крайней мере, AutoCAD и Microstation (я не использовал и не разрабатывал против других) поддерживают API-интерфейсы программирования, которые позволяют относительно легко извлекать имена слоев. Кроме того, сторонние библиотеки, например, доступные из ODA , позволяют довольно просто открыть файл CAD (AutoCAD и Microstation в случае ODA) и прочитать слои. Я делал это в C ++ для проектов в прошлом. ODA также имеет API-интерфейсы, совместимые с ActiveX и .NET, чтобы можно было разрабатывать приложения на VB или C # / VB.Net. Библиотеки ODA не доступны бесплатно (о чем я знаю).

Кроме того, вы можете сделать это более обобщенно, используя FME из Safe Software . Такое решение, вероятно, немного более дружественно для непрограммиста.

...