Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
59 страниц V  « < 49 50 51 52 53 > »   
Добавить ответ в эту темуОткрыть тему
> ACAD MEP (ABS). С чем его едят и сьедобен ли он?, Внесите ясность, что эта программа даёт российскому "специалисту&
VitalyF
сообщение 5.10.2010, 17:35
Сообщение #1501





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
А вот вопрос по поводу сумм труб по одинаковому диаметру и системе остается открытым
что именно?
у меня на страничке разве не нашлось примера?
правда не для труб, а для профиля, сортировка по стилю и материалу
http://www.vitalyf.by.ru/Sample/MemLenByStyleMat.rar
Где-то ещё было... не могу пока найти...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Sergio_*
сообщение 5.10.2010, 17:42
Сообщение #1502





Guest Forum






я скачал все ваши примеры, у вас рабоает, а каогда переделвыю формулу под себя, так перестает ссумировать, вот в чем дело!

2011 rus
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 6.10.2010, 6:45
Сообщение #1503





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



В конце формулы попробуй точку на запятую заменить, как в твоих формулах!
Выложи файл...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Sergio_*
сообщение 6.10.2010, 9:40
Сообщение #1504





Guest Forum






Выкладываю файл с проблемой...

Параллельно, попробую сделать как советует Виталий

напомню, сделан в МЕП2011РУС
Прикрепленные файлы
Прикрепленный файл  pipes.dwg ( 208,66 килобайт ) Кол-во скачиваний: 26
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
дмитрий01
сообщение 6.10.2010, 13:08
Сообщение #1505





Группа: Участники форума
Сообщений: 1000
Регистрация: 20.5.2008
Из: Москва
Пользователь №: 18901



может так?
Прикрепленные файлы
Прикрепленный файл  pipes.dwg ( 219,86 килобайт ) Кол-во скачиваний: 76
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Sergio_*
сообщение 6.10.2010, 14:09
Сообщение #1506





Guest Forum






Дима, а что ты изменил в формуле?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
дмитрий01
сообщение 6.10.2010, 14:15
Сообщение #1507





Группа: Участники форума
Сообщений: 1000
Регистрация: 20.5.2008
Из: Москва
Пользователь №: 18901



Она так должна работать? Я просто долго понять не мог что ты хочешь? На самом деле взял "свою" формулу, взял твою, два значения поменял и все, даже сам не понял как это сделал. Причем два раза, я сделал сохранил и закрыл, а куда сохранил не посмотрел, искать не стал, скачал еще раз твой файл опять изменил, уже не смотря свою формулу и выложил сюда. Поменял три параметра, честно не скажу после какого она заработала ))) у тебя там первое что-то не то было я поменял это на ИМЯРАЗМЕРАЭЛЕМЕНТА, потом в теле кода это поменял, и _Трубы изменил на _ТРУБЫ.

А еще забыл, я убрал твой столбец Количество и добавил свой.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Sergio_*
сообщение 6.10.2010, 15:09
Сообщение #1508





Guest Forum






Спасибо!!! Работает!!
Необходимо было заменить имя размера элемента и "_Трубы" на "_ТРУБЫ"


Продолжение обсуждения..

Такая спецификация находится в другом dwg.

Как заставить ее считать трубы в другом документе правильно?

В коде есть - For Each object in acadApp.Active Document.ModelSpace....

Не будучи программистом понимаю что это поиск объектов в модели активного документа, наверно здесь нужно чтонить поменять, чтобы такая задумка сработала??
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
дмитрий01
сообщение 6.10.2010, 15:24
Сообщение #1509





Группа: Участники форума
Сообщений: 1000
Регистрация: 20.5.2008
Из: Москва
Пользователь №: 18901



Сделай новую спецификацию в другом файле dwg и не парься, тем более уже разобрался с формулой
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 6.10.2010, 15:52
Сообщение #1510





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
наверно здесь нужно чтонить поменять, чтобы такая задумка сработала??

...поменять задумку, )) есть примеры (могу поделиться) подобного доступа к объектам через ссылку, при наличии времени разбираюсь...
Главное отличие см. выше применяется не хандлер объекта а его ObjectID.
Нужно найти в словарях соответствующие переменные с помощь каких-то инструментов и применить их в формулах! Или задать на форуме Autodesk конкретный вопрос для доступа к ним...

Например >>>>
Количество объектов >>>>>>
Код
Set acadApp = GetObject(,"AutoCAD.Application.18.1")
Set AecBaseApplication = acadApp.GetInterfaceObject("AecX.AecArchBaseApplication.6.5")
Set ActiveDoc =AecBaseApplication.ActiveDocument
Set ObjectCollection = ActiveDoc.ModelSpace

count = 0

For Each Object In ObjectCollection
Set SpaceObject = Object
If SpaceObject.ObjectName = "AecbDbPipe" Then
count = count + 1
End If
Next

RESULT = count

сохранили промежуточный результат
Setvar >>>>>>>

Код
RESULT = "--"
On Error Resume Next
Set acadApp = GetObject(,"AutoCAD.Application.18.1")
Set AecBaseApplication = acadApp.GetInterfaceObject("AecX.AecArchBaseApplication.6.5")
Set ActiveDoc = AecBaseApplication.ActiveDocument

ActiveDoc.SetVariable ("USERR1"), "[TotLength]"


В другой колонке таблицы извлекли его
Getvar >>>>>>>
Код
RESULT = "--"
On Error Resume Next
Set acadApp = GetObject(,"AutoCAD.Application.18.1")
Set AecBaseApplication = acadApp.GetInterfaceObject("AecX.AecArchBaseApplication.6.5")
Set ActiveDoc = AecBaseApplication.ActiveDocument

RESULT = ActiveDoc.GetVariable ("USERR1")


суммирование >>>>>
Код
RESULT = "--"
On Error Resume Next
Set acadApp = GetObject(,"AutoCAD.Application.18.1")
Set adtApp = acadApp.GetInterfaceObject("AecX.AecArchBaseApplication.6.5")

Set ActiveDoc =adtApp.ActiveDocument
Set ObjectCollection = ActiveDoc.ModelSpace

h = "[ObjectID]"
TotalLength = 0

For Each Object In ObjectCollection
Set objid = ActiveDoc.ObjectIDToObject( "[ObjectID]" )
If objid.Handle = "AecbDbPipe" Then
If object.ObjectID <> h Then
    TotalLength = TotalLength + objid.Length
End If
End If
Next

RESULT = TotalLength


и т.д....)))



Сообщение отредактировал VitalyF - 6.10.2010, 16:09
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 7.10.2010, 11:39
Сообщение #1511





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Простите, что я опять со своими баранами... Табличку, которую любезно предоставил Sergio, я поковырял и вот кое что обнаружил... Тип данных для PartType, ObjectType, PartSizeName - _Ноль, который, как я понял подставляет в формулы для расчетов ноль, если элемент не имеет параметра длинна как такового (например отвод). Есть ли еще, чтонибудь, на что я должен обратить внимание? Формула до сих пор пашет не до конца: по сортаменту сортирует, длину труб обсчитывает, а вот количество фиттингов - нет, но сами фиттинги выдает корректно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 7.10.2010, 11:59
Сообщение #1512





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
Формула до сих пор пашет не до конца:

на всякий случай выложите пример!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 7.10.2010, 12:31
Сообщение #1513





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



RESULT = "--"
Set acadApp = GetObject(,"AutoCAD.Application")
Length=0
Count = 0
s="[Pipes_fittings_set:PartSizeName]"
f="[Pipes_fittings_set:ObjectType]"
h="[Pipes_fittings_set:Handle]"
a="[Pipes_fittings_set:PartType]"
k="[QUANTITY]"
L=[Pipes_fittings_set:Length]
For Each object In acadApp.ActiveDocument.ModelSpace
If object.ObjectName = "AecbDbPipe" Then
If object.Handle <> h Then
If f = "Pipe" Then
set dict=object.GetExtensionDictionary
Set subdict = Dict.Item("AEC_PROPERTY_SETS")
For Each sch_propset In subdict
If sch_propset.Name = "Pipes_fittings_set" Then
For Each sch_prop In sch_propset.Properties
If sch_prop.Name = "PartSizeName" Then
If sch_prop.Value= s Then
Length = Length + object.Length
End If
End If
Next
End If
Next
End If
If f="Pipe fitting" Then
set dict=object.GetExtensionDictionary
Set subdict = Dict.Item("AEC_PROPERTY_SETS")
For Each sch_propset In subdict
If sch_propset.Name = "Pipes_fittings_set" Then
For Each sch_prop In sch_propset.Properties
If sch_prop.Name = "PartType" Then
If sch_prop.Value= a Then
Count = Count+object.Count
End If
End If
Next
End If
Next
End If
End If
End If
Next

If f = "Pipe" Then RESULT = Replace( Round((Length + L)/1000,2), ",", ",") End If

If f = "Pipe fitting" Then RESULT = Replace( Round((Count + k)), ",", ",") End If
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 7.10.2010, 14:24
Сообщение #1514





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Цитата(cdholder @ 7.10.2010, 13:31) *
If f = "Pipe fitting" Then RESULT = Replace( Round((Count + k)), ",", ",") End If


Я идиот... Просто клиника пипец... Pipe fitting меняем на Pipe Fitting и о чудо! Да... Мне тока в программеры и идти...
Всем спасибо за конструктивную критику)))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
дмитрий01
сообщение 7.10.2010, 16:37
Сообщение #1515





Группа: Участники форума
Сообщений: 1000
Регистрация: 20.5.2008
Из: Москва
Пользователь №: 18901



laugh.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 8:30
Сообщение #1516





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Такой вот вопрос еще назрел... Кто-нибудь сталкивался с необходимостью учитывать позиции КИПиА? Даже проще... Есть ли у MEP какой-то инструмент обозначать бобышки? Потому что, я тут сегодня наткнулся на AutoCAD P&ID, а MEP, как известно, может выдавать разрез в виде P&ID схемы. Кроме того MEP - это же не в последнюю очередь и Plumbing и инструменты для выполнения простых тех. схем в нем имеются.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
дмитрий01
сообщение 8.10.2010, 9:10
Сообщение #1517





Группа: Участники форума
Сообщений: 1000
Регистрация: 20.5.2008
Из: Москва
Пользователь №: 18901



а что есть в AutoCAD P&ID того чего нет в Мепе?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 9:22
Сообщение #1518





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Еще вот какая загвоздка... Где-то на 60-63 страницах обсуждалось, что такие свойства труб и фиттингов, как нормативный документ, единица изменения и материал удобнее хранить в свойствах стиля, а не в Property Definition Set. Возник вопрос как потом вызывать эти параметры в форме спецификации... В принципе я докопал до того момента, что в мой PDS под названием Pipes_fittings_set можно включить формульный параметр следующего вида:

If "PartType" = "pipe" then RESULT = "[Pipestyles:Нормативный_документ]"

Вопрос: я туда копаю, или это заведомо тупик?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 9:22
Сообщение #1519





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
Есть ли у MEP какой-то инструмент обозначать бобышки?

бобышки? Что это такое?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 9:37
Сообщение #1520





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Цитата(VitalyF @ 8.10.2010, 10:22) *
бобышки? Что это такое?


25 мм отрезки трубы длиной 100-150 мм, заканчивающиеся пробкой, куда вставляются либо приборы полевого кипа, либо чувствительные элементы кипа. Грубо говоря дырки под градусники и манометры.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 10:35
Сообщение #1521





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



В общем все заработало...

В приложении файл с формой под MEP 2011 Eng

Смысл решения в следующем:
1) Для всех деталюшек (трубы, отводы, переходы, тройники) параметры материала, нормативного документа и единицы измерения задаются в качестве custom data в конструкторе элементов.
2) Воруется следующий код:

Цитата(Nasandr @ 3.7.2009, 14:28) *
' Elem - массив значений масс для разных элементов
Elem = Array ( "[PipeFittingElbowStyles:Масса]", "[PipeFittingTransitionStyles:Масса]", "[PipeFittingTeeStyles:Масса]")

' Подрядряд просматривваем значения в массиве
For Each Val In Elem
Val = Trim(Val) ' Удаление пробелов
' Если значение не равно "" (пусто) и не равно "?"
If (Val <> "" AND Val<>"?") Then
' то переменной `r` дается текущее значение
r = Val
End If
Next

RESULT = r


В него забиваются нужные нам свойства стиля (это собственно и есть та самая custom data)

Получается спецификация для изделий и материалов в том виде, в которой выпускает ее монтажный отдел.
Прикрепленные файлы
Прикрепленный файл  test_schedules.dwg ( 657,33 килобайт ) Кол-во скачиваний: 61
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 10:58
Сообщение #1522





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



>cdholder
Цитата
Грубо говоря дырки под градусники и манометры.

совсем грубо...))

1. Для всех MEP объектов есть возможность проставить номер позиции,
2. бобышки - реализованы в виде Mvparts-ов к-рые легко вставляются в трубы,
3. все Mvparts имеют кроме обычных видов(слева, справа, изометрия) ещё и схематик символ, что позволяет представить всё в виде схемы, поменяв экранные пресеты.
если я правильно понял... про обозначения

Цитата
2) Воруется следующий код:

а зачем для "ед. изм." и "материал" понадобились формулы?

Предлагаю ещё разобраться с номерами позиций!
на палитрах этот инструмент называется Part Numbering Tag

Сообщение отредактировал VitalyF - 8.10.2010, 11:14
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 11:18
Сообщение #1523





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Цитата(VitalyF @ 8.10.2010, 11:58) *
2. бобышки - реализованы в виде Mvparts-ов


Уже реализованы или мне нужно их накомбиноровать ввиде "Placeholder"? Насчет их идентификации, я разберусь, раз уж с трубами разобрался. У меня в спецификации это все должно фигурировать так:
1) Бобышка БП01-М20х1,5-50УХЛ
2) Прокладка 27
3) Пробка П-М20х1,5 У3
4) Отборное устройство 1,6-70-ст.20-МП-(ВИЛН 491712002-01)

Т.е. насколько я понимаю, мне нужно насоздавать базу всех этих элементов, в месте подключения к линии ставить отвод не тройник, а врезку.

В общем давно есть задумки как облегчить себе жизнь с подобными мелочами и особенно - с опорами под трубопроводы. Додумаю - выложу)))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 11:53
Сообщение #1524





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
Уже реализованы или мне нужно их накомбиноровать ввиде "Placeholder"?

К большому сожалению сборка не поддерживается!
Т.е. невозможно как-то создать собранный девайс и потом его составные части расписать в таблице. (хотя мы всё равно пытаемся...)

Цитата
в месте подключения к линии ставить отвод не тройник, а врезку.
да!

Цитата
...есть задумки как облегчить себе жизнь ... с опорами под трубопроводы.

А тут какие проблемы?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 12:15
Сообщение #1525





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



а зачем для "ед. изм." и "материал" понадобились формулы?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 13:09
Сообщение #1526





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Цитата(VitalyF @ 8.10.2010, 13:15) *
а зачем для "ед. изм." и "материал" понадобились формулы?


Потому что я вот ВООБЩЕ не понял как вы это сделали классификацией. Я просто утонул в переходах между классификатором и PDS. Я не спорю, что с этим надо разбираться и как только я это сделаю - оптимизирую формулу)))

По поводу сборки... Я не ленивый и у меня не такие объемы, чтобы не вбивать параметры ручками. На всю схему - 20 датчиков, по 3-4 позиции на каждый. Если я просто создам 3-х мерный блок (цилиндр - бобышка, маленький цилиндр - прокладка под пробку, большой цилиндр - пробка, куб - отборное устройство) задам этому блоку текстовые параметры с дефолтными значениями и буду выводить их таблицей группируя и суммируя одинаковые.

Так пока... идея...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 14:01
Сообщение #1527





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
Потому что я вот ВООБЩЕ не понял как вы это сделали классификацией.

Ваша формула хороша и наверняка её где-то можно использовать, но тут можно проще сделать - прямо в таблице
Код
If "[Pipes_fittings_set:ObjectType]" = "Pipe" Then RESULT = "м"Else RESULT ="шт."


Цитата
Если я просто создам 3-х мерный блок ...
... то это не будет MVparts и его невозможно буде вставить в трубу... тогда зачем он?

Сообщение отредактировал VitalyF - 8.10.2010, 14:02
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
cdholder
сообщение 8.10.2010, 14:15
Сообщение #1528





Группа: Участники форума
Сообщений: 60
Регистрация: 20.9.2010
Пользователь №: 72822



Цитата(VitalyF @ 8.10.2010, 15:01) *
Ваша формула хороша и наверняка её где-то можно использовать, но тут можно проще сделать - прямо в таблице
Код
If "[Pipes_fittings_set:ObjectType]" = "Pipe" Then RESULT = "м"Else RESULT ="шт."


... то это не будет MVparts и его невозможно буде вставить в трубу... тогда зачем он?


Вы правы, я видимо думаю слишком много и учитываю невозможные варианты)))

По поводу MVparts... Блок действительно не годится... Надо подумать... Все скатывается к необходимости выпадающего списка (это я так понимаю и есть тот самый multiselect)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 14:41
Сообщение #1529





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



Цитата
Все скатывается к необходимости выпадающего списка

не понял, расшифруйте пожалуйста. ))

А если под таким углом посмотреть?
Что имеем? Pipe, fitting и mvparts. У них есть наборы свойств, к-рые мы можем читать из таблицы, пробегая по всем объектам и свойствам.
Причём таблицу Shedule table можно представить след. образом - строки - это объекты, а колонки это свойства.
Вопрос: можно ли как-то извлечь из объекта свойства, образовав несколько дополнительных строк в таблице?

Сообщение отредактировал VitalyF - 8.10.2010, 14:57
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VitalyF
сообщение 8.10.2010, 15:04
Сообщение #1530





Группа: Участники форума
Сообщений: 296
Регистрация: 30.5.2008
Пользователь №: 19258



И ещё хотел спросить, какие проблемы с опорами для труб?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

59 страниц V  « < 49 50 51 52 53 > » 
Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 7.8.2025, 3:14
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных