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

PS Благодаря формуле я могу применить для всех устройств одну марку!

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

Возможное появление (2), если выбрать элемент Двутавр 10 - нажать пр.кн.мыши (конт.меню) - выбрать "Копировать стиль элемента и назначить..." - ОК!, то получится стиль с именем Двутавр 10(2).
Значит, имя стиля не надо использовать.
Виталий, подскажи как правильно сделать, у меня не работает.
Set acadApp = GetObject(, "AutoCAD.Application")
On Error Resume Next
totLength = 0
temp = 0
n="[НесущийМеталл:Имя_Профиля]"
m="[Марка_Стали]"
w="[Марка_Арматуры]"
e="[Позиция2]"
r="[НесущийМеталл:Примечанияизстиля]"
h="[Handle]"
s= [Length]
For Each object In acadApp.ActiveDocument.ModelSpace
If object.ObjectName = "AecsDbMember" Then
temp = 0
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 = "НесущийМеталл:Имя_Профиля" Then
If sch_prop.Value= n then                               
temp=1                           
End If                           
End If
If sch_prop.Name = "Марка_Стали" Then
If sch_prop.Value = m Then
temp=1
End If                           
End If
If sch_prop.Name = "Марка_Арматуры" Then
If sch_prop.Value = w Then
temp=1
End If                           
End If
If sch_prop.Name = "Позиция2" Then
If sch_prop.Value = e Then
temp=1
End If                           
End If
If sch_prop.Name = "НесущийМеталл:Примечанияизстиля" Then
If sch_prop.Value = r Then
If temp=1 Then
totLength = totLength + object.Length
End If
End If
End If
Next
End If
Next
End If
End If
Next
RESULT = Round(totLength + s, 1)

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

А формулой (Select Case "Класс"...), можно собрать характеристики, созданные для: "Несущего элемента", "Стили перекрытий", "Описание для многовидовых блоков" в одну таблицу?
Хочу все свести в такую табл.
Поз.|Обозначение|Наименование|Кол.|Масса |Примеч
____|___________|____________|____|ед.кг.|______
"Несущего элемента" - делаю профили (Арматуру, Двутавры, Уголки и т.д.)
"Стили перекрытий" - делаю бетон
"Описание для многовидовых блоков" - делаю закладные.
Получается, что надо из этих стилей заполнить одну спецификацию.
Я так подозреваю, что можно!
http://narod.ru/disk/5071356000/%D0%9F% … 0.dwg.html

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

xag пишет:

можно собрать характеристики, созданные для: "Несущего элемента", "Стили перекрытий", "Описание для многовидовых блоков" в одну таблицу?

Можешь сам попробовать. Создай свойства для них, если получится, значит и с таблицей проблем не будет!

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

xag пишет:

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

А что надо, чтобы работало? На словах.

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

PS

значит и с таблицей проблем не будет!

...кроме тех случаев, когда нужно будет собрать в одной колонке данные с разными ед. изм., например метры и штуки.
Мы для этого пишем свою dll-ку.
Хотя локализацией не юзеры должны заниматься, а продавцы!

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

На словах! Про длину элемента.
Надо!!!
Сейчас подсчёт длины ведется по "Имени стиля", "Марка_стали". Работает прекрасно. Но если изменить чего ни будь другое, длина уже не правильно считается. Я попробовал добавить еще "Марку_Арматуры";"Позицию"([Позиция2]); и "ГОСТ"([НесущийМеталл:Примечанияизстиля]).
Подскажи пожалуйста!
Ага, от продавцов дождешься!!! Быстрее сам чего ни будь придумаешь!

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

Виталий, подскажи пожалуйста, где не правильно?
xag (2009-01-19 08:34:10)
Так хочется,что бы это работало!!!

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

Получилось, что то типа такого!
Хотелось бы первую спецификацию доделать, видно не судьба!!!
http://narod.ru/disk/5259411000/%D0%9A% … 3.zip.html

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

> xag
Сейчас подсчёт длины ведется по "Имени стиля", "Марка_стали". Работает прекрасно. Но если изменить чего ни будь другое, длина уже не правильно считается. Я попробовал добавить еще "Марку_Арматуры";"Позицию"([Позиция2]); и "ГОСТ"([НесущийМеталл:Примечанияизстиля]).

Марку арматуры можно учесть, создав дополнительный стиль!?
Номер позиции не должен по идее мешать, т.к. он присвивается всем одинаковым (см. фильтр) элементам. Поэтому я думаю, что можно остановиться на вар. >>>
http://www.vitalyf.by.ru/Sample/MemLenByStyleMat_2.rar

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

xag пишет:

Получилось, что то типа такого!

А здесь о чём речь идёт?

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

Огромное спасибо за Ваш труд, господа. Скачал Ваши ссылочки. Очень и очень нужные вещи. Здорово облегчает жизнь. А теперь наберусь наглости и попрошу у Вас совета. Подсчет длины труб в зависимости от диаметра у меня не работает. Пример который прилагается- идет на ура. причем добавляю, отнимаю, делаю с ним что хочe- все норм, а вот если начинаю в своем файлике подсчитывать... Трубы группирует- а вот длина получается от фонаря. Причем никакой зависимости не прослеживается. Аutocad  MEP 2009.2-й SP. Русский. Может кто посоветует что и где порыть? Буду благодарен за любой совет.

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

Vitaly (2009-01-27 10:31:42)
А здесь о чём речь идёт?
В файле находятся две спецификации.
1) Та что справа.
В спецификацию попадают разные АДТ элементы: Формообразующий элемент, Несущий элемент, Перекрытие, Стена и т.д.
В принципе получилась табличка по нормам.
До этой ветки я был уверен, что такое сделать нельзя. То есть можно, но не мне и не сейчас.
Правда там слегка каламбур (в смысле что на VBA можно красивее сделать), зато работает.
Длина, объем элементов считается на один элемент, но есть кол-во элементов.
2) Та что слева. (По смыслу не доделанная, но пользоваться можно).
Подсчёт ведётся только Несущих элементов, считается общая длина элемента и общая масса элемента у которого одинаковое имя и марка стали на один элемент. Позицию присвоил пустую ячейку, т.к. смысла в ней пока нет.
Vitaly (2009-01-27 10:30:53)
"Номер позиции не должен по идее мешать, т.к. он присвивается всем одинаковым."
Я с этим не согласен. Бывают случаи когда например: две плиты перекрытия разные по габаритам, задача посчитать арматуру (длина и масса) в двух плитах. Можно с помощью позиций разнести одинаковую арматуру по разным строчкам, в первой арматура для одной плиты во второй   арматура для другой плиты (Длина и масса разные).
Поз.|Обозначение|Наименование|Кол.|Масса |Примеч
____|___________|____________|____|ед.кг.|______
1_____ГОСТ______ф10(А-III)L=2м__1_____2
2_____ГОСТ______ф10(А-III)L=5м__1_____5
И еще в таблицу не попадают элементы Бетона, закладных и других элементов. Т.е. не попадают Перекрытия, Стены, Формообразующие и др. АДТ элементы. Попадают одни, Несущие элемент(Профили и арматура).

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

> vdnepr
Порыть нужно в переменных, т.к. в MEP RUS их перевели на русский, от большо-о-о-о-го ума!

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

PS
Порыть нужно в переменных

вернее в переменных свойств, например в MEP ENG свойство длина трубы будет Length, в MEP RUS - Длина вот на этот предмет нужно посмотреть таблицу, т.к. в ней есть колонки с формулами и в наборах свойств!

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

Проблема частично решилась. Из-за моей невнимательности. Спецификация составляется, только в моем файле подсчет длины ведется не выделенных объектов, а всего количества труб выделенного типоразмера. Допустим я выделяю две трубы Dy 150. а в спецификации отображается общая длина данной трубы на чертеже. Причем кол-во элементов показывает правильно. Т.е. 2 шт. Не велика беда, конечно, но аппетит приходит во время еды. Можно как то подправить?

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

> vdnepr
шлите файл...

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

To  Vitaly. Я Вам отправил файл.

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

пока нет ничего! vitaly.filin(собака)tserv.ru

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

To Vitaly. Отправил повторно.Если не прийдет-
Вас не затруднит черкануть на мой адрес- я отвечу. Может фигня какая-то с почтой?
zrb(собака)inbox.ru

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

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

Vitaly,  Ok! Всегда пожалуйста!

Попробовал откорректировать формулу для подсчета площадей разных стилей объектов Aec-Polygon

Set acadApp = GetObject(, "AutoCAD.Application")
On Error Resume Next
totLength = 0
n=[Aec-Polygon:Style]
h=[Aec-Polygon:Handle]
s=[Aec-Polygon:GrossArea]

For Each object In acadApp.ActiveDocument.ModelSpace
If object.ObjectName = "AecDbPolygon" 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 = "Aec-Polygon" Then
For Each sch_prop In sch_propset.Properties
If sch_prop.Name = "Style" Then 
If sch_prop.Value= n then
totLength = totLength + object.GrossArea

End If
End If
Next
End If
Next

End If
End If
Next

RESULT = totLength

но она не работает   :(

cм. файл

надеюсь на помощь

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

Таблицы получаются хорошо, только в сылках как то не правильно работают.
В Диспетчере проектов, создаю конструкции из бетона и арматуры. В этом файле с конструкцией таблицы работают хорошо.
Создаю файлы во вкладке Виды, Собираю из конструкций файл видов, пробую использовать спецификацию. Спецификация не правильно считает. Она из ссылки с арматурой выбирает только один арматурный стержень, а все остальные стержни не попадают в таблицу.
Посмотрите пожалуйста. Может можно подкорректировать, или что то сделать?
Файл с проектом АА2008.
http://narod.ru/disk/6059689000/%D0%94% … d.zip.html

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

Александр Худоногов,

Таблицы через ссылку не работают, это ограничение текущей версии.
Даже если без формул попытаться запросить в Schedule Table длины каких либо элементов то получим фигвам! В таких случаях приходится конвертировать Schedule Table а Autocad Table, уже такую таблицу можно из видов поместить на листы. Надеюсь, что в 10-ке наконец-то мы избавимся от этого недостатка!!!

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

Если без формул. Таблицы просматривают ссылки и в таблицу попадает длина элемента.
В примере проекта 25.02.2009 07:16:59
В виде собраны конструкции и спецификация находит длину элементов, а с формулой не работает!

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

>Александр Худоногов,

Да, действительно всё передаётся кроме длин цепей, спасибо!
Но от этого не легче, т.к. доступ к объектам через Handle в принципе не позволяет работать со ссылками, а через ObjectID у меня не получилось. Пока затею эту я оставил по нескольким причинам, во-первых я нигде не нашёл похожих примеров, во-вторых мы для этих целей создали специальную dll-ку, в-третьих на носу 10-ка, а там может этого вообще не понадобится.