Re: ADT, MEP Общая Длина элементов по стилям

Set acadApp = GetObject(, "AutoCAD.Application")
On Error Resume Next
totLength = 0
n="[MemObjLength:Style]"
h="[MemObjLength:Handle]"
s= [MemObjLength:Length]
n,h,s - свойства текущего объекта

For Each object In acadApp.ActiveDocument.ModelSpace
Здесь сканируется все объекты модели
If object.ObjectName = "AecsDbMember" Then
Здесь проверка на класс объекта
If object.Handle <> h Then
Здесь, что объект не совпадает с текущим
set dict=object.GetExtensionDictionary

Set subdict = Dict.Item("AEC_PROPERTY_SETS")
For Each sch_propset In subdict
If sch_propset.Name = "MemObjLength" Then
For Each sch_prop In sch_propset.Properties
If sch_prop.Name = "Style" Then
If sch_prop.Value= n then
А вот тут, если стиль совпадает и есть PropertySet "MemObjLength" то суммируем. И не важно - присоединён объект к таблице или нет.
totLength = totLength + object.Length
End If
End If
Next
End If
Next

End If
End If
Next

RESULT = Round(totLength + s, 2)/1000

Re: ADT, MEP Общая Длина элементов по стилям

Pavlukas,

Видео клип посмотри, всё работает!

Re: ADT, MEP Общая Длина элементов по стилям

Я внимательно изучил ролик.
Вот смотрите, когда вы отключаете от таблицы уголок 100х63х415
в таблице значение уголков (0,37)
и потом делаете Update - вы получаете в таблице (0,78) такое же, как и до отключения уголка

Re: ADT, MEP Общая Длина элементов по стилям

Pavlukas,

и потом делаете Update - вы получаете в таблице (0,78) такое же, как и до отключения уголка

В таблице была включена опция авто добавления объектов

Re: ADT, MEP Общая Длина элементов по стилям

Vitaly, я пытался адаптировать формулу для проводов - так ничего и не вышло.
Создал Property Set Definition - "Wire" (Applies To: Objects - Wire)
Изобразил несколько проводов, присвоил им свойства «Wire»
Создал Schedule Table с формулой:

Set acadApp = GetObject(, "AutoCAD.Application")
On Error Resume Next
totLength = 0
n="[Wire:PStyle]"
h="[Wire:Handle]"
s= [Wire:PLength]

For Each object In acadApp.ActiveDocument.ModelSpace
If object.ObjectName = "AecbWire" Then
If object.Handle <> h Then
set dict=object.GetExtensionDictionary

Set subdict = Dict.Item("AEC_PROPERTY_SETS")
For Each sch_propset In subdict
If sch_propset.Name = "Wire" Then
For Each sch_prop In sch_propset.Properties
If sch_prop.Name = "PStyle" Then 
If sch_prop.Value= n then
totLength = totLength + object.Length
End If
End If
Next
End If
Next

End If
End If
Next

RESULT = Round(totLength + s, 2)

Включил в таблице авто обновление и авто добавление.
И как результат - длинны не складываются  :( 
Пробовал в MEP 2010RU и в 2011EN. Но версия ни при чем – ошибка явно в формуле.
Хелп, плиз

Re: ADT, MEP Общая Длина элементов по стилям

Виктор,
Эта формула для провода не подходит.
В конце 2009-г года мы пытались убедить менеджеров Autodesk
добавить проводу свойства - имя устройства откуда идёт и куда приходит.
Тем более, что свойства эти есть, но они просто не доступны пользователю.
Мы написали свою dll-ку, вернее целый комплекс утилит и продемострировали их,
чтобы показать замысел создания каб. журнала, им понравилось, но на этом пока всё остановилось.
В этом году пока не общались, но через неделю будем снова выходить с ними на связь, что бы продолжить работу.
Иного пути вычисления длин проводов нет! Тем более вычисление между этажами(ссылками).
Если убедить их не удастся, то тогда мы, возможно выложим свои утилиты.
Большое недоумение вызвало у нас недавнее сообщение Autodesk о том что в RevitMEP принята та
же технология вычисления длин кабелей, что и в AutocadMEP, т.е. никак! Даже несмотря на то, что в основе Revit-а более совершенная параметирическая модель а не смарт объекты, как в AutocadArchitecture.
Так что решить задачу сразу на хорошем качественном уровне Вам сразу не удастся. Пользуйтесь пока длинами цепей.
Кабельные журналы тоже как-то строить полу автоматическим способом.

Re: ADT, MEP Общая Длина элементов по стилям

Vitaly, спасибо за развернутый ответ. Жаль, что такое безобразие с проводами  :(
Придется опять через выгрузку в Exсel.

Немного оффтопа.
Ваши утилиты наверное достаточно специфичны для ваших «стилей», а хотелось бы конечно универсального решения. И еще очень нехорошо получается с Revit-ом. Вроде бы BIM, а такая ерунда с проводами …

И совсем оффтопные рассуждения.
Вот интересно как буржуйские проектировщики считают количество кабеля для буржуйских же монтажников? Или может ошибка в пару сотен метров для этих самых буржуев не является проблемой?
А как же посчитать потери? Или действие закона Ома заканчивается на наших границах?

(изменено: Vitaly, 13 апреля 2010г. 14:42:25)

Re: ADT, MEP Общая Длина элементов по стилям

Виктор,

Ваши утилиты наверное достаточно специфичны для ваших «стилей»

, да всё тесно связано - стили и свойства с таблицами и маркировкой и всё это выливается в целую технологию работы с кабелями, устройствами и панелями. Т.к. промаркировать это ещё пол дела, надо ещё редактировать всё это хозяйство, видимо поэтому ОНИ не торопятся давать нам доп. свойства проводу, т.к. этого мало, тут д.б. целая куча инструментов. Всё нами созданное находится в рамках идеологии Autodesk, как бы дополняет её спецификой. Иначе расчитывать на новшества бесполезно!

Вот интересно как буржуйские проектировщики считают количество кабеля

точно не знаю, слышал что обсчитывают опять же с помощью отдельного ПО.

А как же посчитать потери?

по грубой длине цепи.
Когда соединяешь устройства кабелем и подключаешь их к панели, к назначенной заранее цепи, то длина её автоматически посчитается по принципу dX,dY,dZ, м-ду устройствами, без учёта изгибов, т.е. приблизительно, этой точности якобы должно хватить для подсчёта падения напряжения.
Вот, если интересно, ссылки на часть презенташек, анимированных ))

http://tserv.ru/filin/Presentation_CSMEP_2.gif
http://tserv.ru/filin/Presentation_CSMEP_3.gif
http://tserv.ru/filin/Presentation_CSMEP_4.gif

(изменено: yamov, 14 апреля 2010г. 13:26:52)

Re: ADT, MEP Общая Длина элементов по стилям

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

Set acadApp = GetObject(, "AutoCAD.Application")
On Error Resume Next
totVolume = 0
n="[MemObjLenth:Style]"
h="[MemObjLenth:Handle]"
v= "[MemObjLenth:Volume]"

For Each object In acadApp.ActiveDocument.ModelSpace
If object.ObjectName = "AecsDbMember" Then
If object.Handle <> h Then
set dict=object.GetExtensionDictionary

Set subdict = Dict.Item("AEC_PROPERTY_SETS")
For Each sch_propset In subdict
If sch_propset.Name = "MemObjLenth" Then
For Each sch_prop In sch_propset.Properties
If sch_prop.Name = "Style" Then
If sch_prop.Value= n then
totVolume = totVolume + object.Volume
End If
End If
Next
End If
Next

End If
End If
Next

RESULT = Round(totVolume+ v, 2)/1000000000

Не подскажете, в чем ошибка?

Re: ADT, MEP Общая Длина элементов по стилям

Виталий, здравствуйте!
Посмотрел еще раз Ваши ролики. Хочу понять, а как Вы поступаете если в чертеже используется несколько типов кабелей. Кабель маркируется, как я понял по имени стиля и названию цепи. Если в чертеже 5-10 марок разных кабелей, как тогда выглядит чертеж кабельных трасс. И еще обратил внимание, что на концах кабелей используется ввод, а сам кабель не подсоединяется в панели, это ограничение Ваших утилит или задумка Autodeska, просто выглядит как-то не по ГОСТ. Вообще уже почти год глубоко копаюсь в MEP, помоему они там в США с электрическим разделом схалтурили, без доделки напильником, без всяческих дополнительных утилит (Я уже около 10 дополнительных команд написал), помоему вообще не возможно комфортно работать. И еще вопрос Вы реализовали выноску по гост для проводов?

(изменено: Vitaly, 14 апреля 2010г. 18:52:30)

Re: ADT, MEP Общая Длина элементов по стилям

yamov, здравствуйте, я не уверен что эта формула вообще подходит, надо проверять. Так с налёту могу сказать что лишние квадратные скобки в переменных, посмотрите по аналогии с моей формулой. Объёмы каких объектов вы считаете? В большинстве случаев эти значения уже содержатся в свойствах самих объектов!!! )))

Владимир Петров,

Кабель маркируется, как я понял по имени стиля и названию цепи

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

Хочу понять, а как Вы поступаете если в чертеже используется несколько типов кабелей.

мы чертежи делим по системам, например охранка отдельно от пожарки, т.к. проверяющие разные. Электроснабжение рабочих мест отдельно от освещения. Иногда получается несколько марок кабелей на чертеже, но в этом ничего страшного нет, потом в таблице их можно сортировать по маркам, по номерам или этажам и суммировать отдельно.

И еще обратил внимание, что на концах кабелей используется ввод, а сам кабель не подсоединяется в панели

Да, так удобнее, это не баг, это фича Autodesk, впрочем можно и довести провод и до панели, на расчёт длины это не влияет. Дело в том, что у НИХ трассу уточняют монтажники по месту, дезигнер только показывает в каком направлении (как правило на панель) пойдёт кабель и всё. В случае же перемещения шкафа, панелей или щитов достаточно только повернуть стрелку (home run - начало цепи)
в нужном направлении.

они там в США с электрическим разделом схалтурили

...просто сделали под себя ))
И продолжают, кстати делать по своему...

И еще вопрос Вы реализовали выноску по гост для проводов?

пробовали, не получилось, т.к. на сей день это невозможно по причине того, что линии на плане изображают прохождение цепей, а не проводов. Помнится нес-ко лет тому назад они обещали, что работают над тем, чтобы было как в Inventor-е провода, жилы, жгуты и цепи, а не только цепи... В итоге и в дорогом и любимом Revit-е с его хвалёным параметрическим ядром сделали электрику по типу AutocadMEP, т.е. опять под себя!!!))
PS

сделали электрику по типу AutocadMEP, т.е. опять под себя!!!))

а-а-а собственно почему они должны делать под нас? Мы - это кто такие? Участники форума? Сообщество? Оно тока вот-вот создано. A сколько лет Autodesk на нашем рынке? И что? Кто? Как так получилось, что за 10-ть лет существования MEP, мы не обзавелись нужными инструментами? Реселлерам было выгодно по началу, что-то продвигали, щас они своё продвигают, почему?
Autodesk не делился с ними, или они много хотели? Одни вопросы! Пользователи здесь вообще с боку припёку...)))
Какой вывод? Нужно быть дружнее! А у нас... э-э-х!!!

(изменено: yamov, 14 апреля 2010г. 19:57:18)

Re: ADT, MEP Общая Длина элементов по стилям

Vitaly пишет:

yamov,  здравствуйте, я не уверен что эта формула вообще подходит, надо проверять. Так с налёту могу сказать что лишние квадратные скобки в переменных, посмотрите по аналогии с моей формулой. Объёмы каких объектов вы считаете? В большинстве случаев эти значения уже содержатся в свойствах самих объектов!!! )))

я эту формулу взял из таблицы, находящейся в том файле, что Вы предлагаете в первом посте. Единственное, что я в ней изменил - это lenght на volume. У меня и в исходной формуле квадратные скобки в переменных тоже присутствуют просто.

А считать мне нужно объемы stuctural members'ов. Вернее все что нужно, так это к той самой исходной табличке,которая группирует Structural Members по стилям, для подсчёта общей длины добавить колнку для подсчета их же общей кубатуры.

А то иначе же получается так, что в одну ячейку попадают только Structural Members одного стиля с одинаковой длиной. Ваша табличка позволяет суммировать длину всех Structural Members одного стиля, помещая их в одну ячейку таблицы, независимо от длины. А если просто добавить в таблицу колонку с property definition Volume, то он для каждого элемента с новой длиной создает новую строку в таблице. Поэтому я и попытался просто взять за основу вашу формулу, просто заменив в ней lenght на volume. Но не работает так почему-то.

Если у Вас нет возможности вникать в мою формулу и подсказать, как ее исправить, не могли бы вы хотя бы направить куда-то, где весьма доступно и относительно коротко описан принцип работы с формулами. Потому что я большей части вашей формулы просто не понимаю =)

Явно, что сработал бы способ - создать колонку для подсчета объема, в которой бы использовалась формула для умножения той самой суммарной длины на площадь сечения structural members'а данного стиля, но я почему-то не нахожу в property set definition такого свойства для structural members, как площадь его сечения. Вы не знаете, случайно, можно такое свойство вытащить откуда-то?

Re: ADT, MEP Общая Длина элементов по стилям

Виталий, а вы пробовали в деле примочки к акаду типа HTE(производитель компания поинт) или project studio ОПС(компания cadwise Новосибирск)? Есть ли у мепа реальные над ними преимущества.

Re: ADT, MEP Общая Длина элементов по стилям

yamov,

У меня и в исходной формуле квадратные скобки в переменных тоже присутствуют просто.

Не скобки, кавычки! ) Имеется- "[MemObjLenth:Volume]", Должно быть- [MemObjLenth:Volume]
Во-вторых нет такой переменной object.Volume у этих объектов, вернее объём есть, но он в другом месте!
В каком, нужно лезть смотреть в словари, завтра постараюсь.
Инфу по формулам собирал на форумах Autodesk, там же можно найти примеры, заходишь, регистрируешься, и по ключевым словам ищешь...
AutoCAD Architecture
Есть вот такое руководство >>>
BrainDump_PropertyDataEnhancements.pdf

Вообще-то могли бы и по подробнее расписать, а главное не хватает примеров по всем возможным темам, направлениям...))

Вы не знаете, случайно, можно такое свойство вытащить откуда-то?

не знаю, при случае посмотрю...

(изменено: Vitaly, 15 апреля 2010г. 17:40:23)

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,

вы пробовали в деле примочки к акаду типа HTE(производитель компания поинт)

, нет не пробовал, когда они появились на рынке у нас уже был архив МЕР-проектов 7-ми летнего объёма.
Всё что создано на базе автокадовского ядра может незначительно отличаться друг от друга, а нужен принципиально иной подход, Inventor, например, но для архитектуры. Большие надежды были на Revit, как на пакет интегрирующий в себе даже не 3-4-ре дисциплины как в AutocadMEP, а вообще все необходимые модули для проектирования и зданий и генпланов и инженерных коммуникаций и расчетов и презентций и проч., проч... Но... се-ля-ви.
Нельзя сбрасывать со счетов и другие аргументы при выборе САПР.
Вижу как развивается nano, замечательно, но с ними нужно ещё лет 10-ть прожить, ожидая результатов, это не для меня... Для тех кто щас школу кончает...)))

PS Два года мы тестировали бета-версии AA, MEP, и проч., а недавно прислали приглашение поучаствовать в форуме
где участники могут высказать свои предложения на предмет будущих инструментов для этих продуктов.
Думаю стоит воспользоваться. Давайте свои предложения, господа специалисты!!!

(изменено: Владимир Петров, 15 апреля 2010г. 20:00:43)

Re: ADT, MEP Общая Длина элементов по стилям

Виталий идей по новым инструментам море, но ждать их реализацию от Autodesk этак в 2015 версии трудновато, поэтому пока я сам занимаюсь кантрификацией слаботочного раздела Мепа. Я немного слежу за вашими попытками расшевелить местный Autodesk, по моему они не заинтересованы в разработке нормального пакета кантрификации, поэтому выпускают такие русские версии, что чокнуться можно от их использования даже в лицензионной версии, одни глюки и баги. Наверно связано со спецификой российского рынка, ведь нормальный пакет кантрификации меп при раскрутке свалит продажи всех русских примочек к акаду для проектирования инженерных систем в ноль, т.к. стоит практически как голый акад, а чтобы купить местную примочку надо еще за акад 3200евро заплатить.

(изменено: Vitaly, 16 апреля 2010г. 11:02:27)

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,
C чего начнём? Предлагаю идти от общего к частному, прямо здесь!?
Можно в произвольном порядке, потом причешем.
Итак:
1. Добавить в стиль объектов имеющих длину свойство Суммарная Длина-
   т.е. длина всех объектов данного стиля.
(кроме проводов, имхо по ним  д.б.отдельный разговор)
   Или другой способ реализации - в виде поля, или в Schedule table добавить возможность сортировать по стилям,   суммируя в строке.

(изменено: Владимир Петров, 16 апреля 2010г. 12:14:43)

Re: ADT, MEP Общая Длина элементов по стилям

Виталий, здравствуйте!
Я согласен с Вами первое, что нужно сделать это доработать Schedule table для возможности сбора в одной колонке длин и количеств элементов стиля, чтобы можно было делать нормальную спецификацию. Знаете как сейчас мне приходиться делать:
Я использую утилиту которая считает общую длину элементов стиля, затем делю на кол-во элементов и получившееся значение программно заношу в свойство набора характеристик каждого элемента стиля. Пробовал использовать Vbscript, но при большом количестве объектов у меня меп колом встает.
Еще мне не хватает возможности добавления произвольных документов в диспетчер проектов, что-то типа вкладки прилагаемые док-ты. Щас это возможность есть только на этапе использования E-transmit.
По проводам вообще менять идеологию надо, типа провод, жгут. Теми wire, которые щас есть я не пользуюсь из-за того, что у меня пока не получилось реализовать выноску по ГОСТ для них. Щас я реализовываю эту идеалогию на полилиниях, в будущем может свой wire объект напишу если когда-нить получу доступ к OMF.
Мне конечно более прикладные вещи интересны в реализации, типа расстановка пож. датчиков по объектам помещения, видение дверей, окон для СКУД и ОТС, всяческие расчетные модули, то чем я щас занимаюсь. Но эти вещи по-моему ждать от Autodeska бессмысленно, т.к. тягочей этих идей со стороны местной Autodesk не будет, т.к. им местные думаю и приплачивать будут за это.

(изменено: Vitaly, 16 апреля 2010г. 22:35:29)

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,
Из выше сказанного следует добавление -
1. Добавить в стиль объектов имеющих длину свойство Суммарная Длина-
т.е. длина всех объектов данного стиля.
+ варианты
2. Добавить в стиль объектов свойство Суммарное Количество-
т.е. кол-во всех объектов данного стиля.
+ варианты см. выше.

Поясню, таблица Schedule Table за искл. мелких усовршенствований долгое время не меняется, видимо на
это есть какие-то причины. Напротив, Autocad Table совершенствуется с каж. версией.
Поэтому предлагаю оствить варианты реализации подсчёта кол-ва и длин объектов, то ли это будет в виде полей или
свойств или с пом. таблиц.
Ещё идеи, господа! ))

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,

Мне конечно более прикладные вещи интересны в реализации, типа расстановка пож. датчиков по объектам помещения, видение дверей, окон для СКУД и ОТС

Сформулируй в конкретный вопрос!

(изменено: Vitaly, 19 апреля 2010г. 14:05:36)

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,
Выноску на проводах мы обходим след. образом см. ролик

ADT, MEP Общая Длина элементов по стилям

Формула считает кол-во кабелей и подписывает в марку, при изменениях динамически обновляется! )

Re: ADT, MEP Общая Длина элементов по стилям

Виталий, здравствуйте!
Я думаю, что автоматическая расстановка пожарных датчиков по Space-ам (включая помещения неправильной формы) в соответствии с пятым сводом правил, будет очень полезна. Виталий формула подходит для случая когда в одном пучке один тип кабеля (по крайней мере я ее так прочитал, фактически она считает количество разделителей в строке "имя цепи" без привязки в марке кабеля), у нас очень часто особенно в видеонаблюдении пять и более марок кабеля и рисовать параллельно пять и более линий очень трудоемко. Щас мы рисуем в одном пучке и рисуем выноску, которая считывает атрибутивную информации из кабелей, тем самым формируем выноску по гост в возможностью ручного обновления.

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,
Про схематик символы, что напишем? Про расстановку контактов?

Re: ADT, MEP Общая Длина элементов по стилям

Виталий это сорказм? Я написал только то, что сам уже реализовал, правда помещения неправильном формы еще не победил, ну по крайнер мере получилось не хуже чем в известных примочках. И это действительно полезно, т.к. хоть мы и никогда изначально не имеем планы в АА, но часто приходится самим рисовать со сканкопий. Это действительно упрощает механическую работу. Про схематик символы могу сказать, что их создание с кол-вом соединителей больше 10-ти крайне трудоемко, я вам как-то скидывал мою попытку упростить этот процесс. Было бы полезно что-то типа мастера создания схематичных объектов. Также могу сказать что большое количество схематик объектов на чертеже пипец как тормозит. У нас средняя схема это формат А1 и более.

(изменено: Vitaly, 19 апреля 2010г. 17:47:16)

Re: ADT, MEP Общая Длина элементов по стилям

Владимир Петров,
...мы начали обсуждать, какой тут может быть сарказм?
С расстановкой датчиков я согласен, только хотелось бы формулировку в готовом виде, в том числе
идеи по реализации. Иначе мне придётся всё самому расписывать. Я просто не знаю как ты себе это представляешь!
2) Датчики хорошо, их можно было бы объединить в один общий инструмент с розетками.
   Не просто расставлять их с шагом по периметру помещения, а с каким-нить параметрами, например указание базовых сторон, или что-нить в этом духе, чтобы они НЕ вставали под окнами и дверями...
3) Может быть учесть новые возможности параметризации.
4)Про схематик символы напомнил потому, что тоже нуждаются в доработке, давай предлагай, формулируй предложение по ним.