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

Вернуться   Форум DWG.RU > Программное обеспечение > Вертикальные решения на базе AutoCAD > Расчет длина (провода) в MEP, Расчет длины провода с помощью макроса написанного для труб?

Расчет длина (провода) в MEP, Расчет длины провода с помощью макроса написанного для труб?

Ответ
Поиск в этой теме
Непрочитано 17.03.2014, 12:07 #1
Расчет длина (провода) в MEP, Расчет длины провода с помощью макроса написанного для труб?
peacemaker_kiss
 
Регистрация: 12.04.2011
Сообщений: 37

Уважаемые форумчане, требуется квалифицированная помощь
Существует макрос для расчета суммарной длины участков трубопровода, для формирования спецификации
Необходимо, если это возможно модернизировать этот макрос для расчета той же длина но объекта "Провод" Autocad Mep
Ниже выкладываю макрос, при необходимости отправлю файл в котором имеется сформированная спецификация
Код:
[Выделить все]
Set acadApp = GetObject(, "AutoCAD.Application") 
On Error Resume Next 
totLength = 0 
n="[PipeObjLength:CatalogNominalSize]" 
h="[PipeObjLength:Handle]" 
s= [PipeObjLength:Length] 

For Each object In acadApp.ActiveDocument.ModelSpace 
If object.ObjectName = "AecbDbPipe" 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 = "PipeObjLength" Then 
For Each sch_prop In sch_propset.Properties 
If sch_prop.Name = "CatalogNominalSize" 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)/1000

Последний раз редактировалось Кулик Алексей aka kpblc, 17.03.2014 в 12:16.
Просмотров: 17680
 
Непрочитано 17.03.2014, 13:01
#2
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Посмотрите здесь в бонусах есть готовый кабельный журнал
и другие полезные утилиты MEP по разделу электрика + готовый проект + руководство пользователя

https://sites.google.com/site/byvitaly/home
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 13:05 Спецификация
#3
peacemaker_kiss


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


Да, Виталий я уже проанализировал Ваш действительно славный труд, однако кабельного журнала мне мало, сказать большее мне пока он не нужен, он также считает куски кабеля, как этот код подправить под провод вот в чем задача, Спасибо

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Посмотрите здесь в бонусах есть готовый кабельный журнал
и другие полезные утилиты MEP по разделу электрика + готовый проект + руководство пользователя

https://sites.google.com/site/byvitaly/home
Да, Виталий я уже проанализировал Ваш действительно славный труд, однако кабельного журнала мне мало, сказать большее мне пока он не нужен, он также считает куски кабеля, как этот код подправить под провод вот в чем задача, Спасибо
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 13:13
#4
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Этот код устарел, во вторых там включена сортировка по каталог сайз, что для провода не имеет смысла!
Уточните задачу, пожалуйста.
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 13:20
#5
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Этот код устарел, во вторых там включена сортировка по каталог сайз, что для провода не имеет смысла!
Уточните задачу, пожалуйста.
Хорошо, значит меня ввели в заблуждение относительно актуальности кода, задача следующая: имеется щит, три светильника, три кабеля, принадлежащих единой эл. цепи
Необходимо составить спецификацию,при выборе характеристик кабеля таких как длина провода, длина цепи, и.т.д. MEP выдает делирий чистой воды понятный лишь разработчикам Autodesk, единственное, что подходит - это характеристика длина, и по аналогии с вашим кабельным журналам в форму спецификации пишутся отдельные отрезки провода, можно конечно средствами MEP поставить галочку "итого" для столбца с длиной, но положим что светильников не три а 3000, и щитов 5 тогда спецификация при одинаковом проводе (одинаковая характеристика с именем кабеля) превратится в талмут, таким образом был расчет, что этот макрос сможет решить задачу с сортировкой и суммированием одинаковых проводов
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 14:01
#6
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Если я сложу длины это не будет длина провода, вас это устроит?
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 14:03
#7
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Если я сложу длины это не будет длина провода, вас это устроит?
Если вы сложите длины меня это устроит, характеристика длина провода в MEP я не считаю адекватной характеристикой, поэтому да меня это устроит
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 14:05
#8
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Уточню, я сложу длины которые находятся в свойстве Длина, это очень далеко от настоящей длины!
Вас это устроит, точно?

----- добавлено через ~17 мин. -----
Дело в том, что кабельный журнал учитывает много свойств провода, в т.ч. делает дополнительные вычисления, например от home run до панели и учитывает длины между этажами. результаты просто помещаются в определённые свойства на палитре, откуда вы можете их взять и поместить в свою таблицу.
Ни одна формула не сделает этого!
Поэтому не парьтесь, берите готовые данные и пользуйтесь!

PS

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

PS Заложен механизм допусков на разделку кабелей и припуски зависит от типа цепи - LAN/Other и т.д...

Последний раз редактировалось VitalyAF, 17.03.2014 в 14:36.
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 14:34
#9
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Уточню, я сложу длины которые находятся в свойстве Длина, это очень далеко от настоящей длины!
Вас это устроит, точно?

----- добавлено через ~17 мин. -----
Дело в том, что кабельный журнал учитывает много свойств провода, в т.ч. делает дополнительные вычисления, например от home run до панели и учитывает длины между этажами. результаты просто помещаются в определённые свойства на палитре, откуда вы можете их взять и поместить в свою таблицу.
Ни одна формула не сделает этого!
Поэтому не парьтесь, берите готовые данные и пользуйтесь!
Мерили инструментом "Параллельный размер" вроде как длина соответствовала действительности
Взял бы, но требуется решить все-таки задачу, потому что из кабельного журнала данные по суммарной длине нужно будет брать в доп. таблицу.
Однако, если совсем отсутствует возможность такого рода подсчета, то я на время отложу эту задачу, потому что сам начинаю программировать вскоре и эту задачу буду решать сам, ну или если у Вам нет времени!
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 14:40
#10
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Цитата:
Взял бы, но требуется решить все-таки задачу, потому что из кабельного журнала данные по суммарной длине нужно будет брать в доп. таблицу.
прочтите внимательнее, брать надо не из таблицы а из свойств, которые автоматически заполняются данными после того как программа отработает, далее вы просто применяете свою таблицу и всё!

там 4 свойства, которые автоматически заполняются - Откуда, Куда, Длина, + Длина с припуском
можете брать любое из них и использовать в своей таблице

PS

Будем рады увидеть от вас новый КЖ, удачи!

Последний раз редактировалось VitalyAF, 17.03.2014 в 14:46.
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 14:47
#11
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
прочтите внимательнее, брать надо не из таблицы а из свойств, которые автоматически заполняются данными после того как программа отработает, далее вы просто применяете свою таблицу и всё!
d. В свойство кабеля «Длина» вписывается сумма следующих значений:
i. Геометрическая длина кабеля на чертеже
ii. Расстояние от конца кабеля до местоположения панели, исходя из их координат расположения (dx, dy)
iii. Разница между высотами этажей, с учетом реального расположения панели и кабеля в каждом конкретном файле, т.е. с учетом высоты расположения относительно нуля каждого этажа.

Положим мне не нужны пункты 2 и 3 возможна ли автоматизация (ибо "вписывается" не вариант в моем случае) подсчета первой длины
И еще положим программа отработала
Я выбираю таблицу свою ранее созданную скажем спецификация проводов, как мне определить для столбца откуда брать сведения, этот момент упущен в мануале, отсюда у меня и появляется вопрос?
Подскажите мне в этом моменте и я начну тестировать Вашу работу
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 14:48
#12
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Цитата:
Мерили инструментом "Параллельный размер" вроде как длина соответствовала действительности
А опуски и подъёмы?
А жгуты?
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 14:49
#13
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
А опуски и подъёмы?
А жгуты?
Все это можно легко учесть надбавкой в 10% (по ГОСТу от 2 до 6, но чтобы учесть все) Так намного удобнее
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 14:54
#14
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Тогда на вскидку в бухтах!!! ))
...Не обольщайтесь, такие таблицы никому не нужны!
Заказчик спросит с вас за каждый метр, да и ваше руководстве не допустит перерасход материала,
разве что за ваш счёт!

Типичная ситуация - коридор, по бокам кабинеты, рисовать LAN разводку нет места ни по коридору, ни по помещениям тем более,
тогда соединяем их в жгут при этом боле-менее точная длина будет только одного провода остальные покажут вам длины только до жгутов, тут уже пахнет не процентами а разами и вашим увольнением досрочным...))
ЗЫ
наш КЖ это легко просчитывает, а вам ... см. выше

Последний раз редактировалось VitalyAF, 17.03.2014 в 15:06.
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 15:07
#15
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Тогда на вскидку в бухтах!!! ))
...Не обольщайтесь, такие таблицы никому не нужны!
Заказчик спросит с вас за каждый метр, да и ваше руководстве не допустит перерасход материала,
разве что за ваш счёт!

Типичная ситуация - коридор, по бокам кабинеты, рисовать LAN разводку нет места ни по коридору, ни по помещениям тем более,
тогда соединяем их в жгут при этом боле-менее точная длина будет только одного провода остальные покажут вам длины только до жгутов, тут уже пахнет не процентами а разами и вашим увольнением досрочным...))
Нет у меня LAN, заказчик у меня не спрашивает за каждый метр! У нас расходы в км измеряются поэтому погрешность в 10 метров не важна
Важен принцип расчета в автоматизированном (не в ручном режиме)

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Тогда на вскидку в бухтах!!! ))
...Не обольщайтесь, такие таблицы никому не нужны!
Заказчик спросит с вас за каждый метр, да и ваше руководстве не допустит перерасход материала,
разве что за ваш счёт!

Типичная ситуация - коридор, по бокам кабинеты, рисовать LAN разводку нет места ни по коридору, ни по помещениям тем более,
тогда соединяем их в жгут при этом боле-менее точная длина будет только одного провода остальные покажут вам длины только до жгутов, тут уже пахнет не процентами а разами и вашим увольнением досрочным...))
ЗЫ
наш КЖ это легко просчитывает, а вам ... см. выше
Также я писал выше о том как же любую другую таблицу использовать, отличную от кабельного журнала
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 15:16
#16
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Цитата:
Также я писал выше о том как же любую другую таблицу использовать, отличную от кабельного журнала
Очень просто...

Последний раз редактировалось VitalyAF, 17.03.2014 в 15:41.
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 15:33
#17
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Тогда ещё раз сформулируйте задачу, не объясняя побочные данные.
например - нужна формула с группировкой кабеля по номеру цепи, в качестве длины берём свойства - Длина,
так?
нет для спецификации нам не важна цепь
для спецификации важен тип кабеля, приведу пример:
Есть а-метров кабеля ВВГнгLS 3x2,5
Есть b-метров кабеля ВВГнгLS 5x2,5
В спецификации будут две строки
первая будет: ВВГнгLS 3x2,5 a м
вторая будет: ВВГнгLS 5x2,5 b м
Для того, чтобы это так было, я ко всем проводам добавляю доп. характеристики: тип кабеля (текстовая переменная), длина (программная переменная) из набора характеристик MEP
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 16:29
#18
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Код:
[Выделить все]
 Set app = GetObject (,"AutoCAD.Application")
On Error Resume Next
RESULT = "--"

Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplication.7.5")
Set ActiveDoc =baseApp.ActiveDocument
Set ObjectCollection = ActiveDoc.ModelSpace

totLength = 0
n = "[Style]"

For Each Object In ObjectCollection
	If Object.ObjectName = "AecbDbWire" Then
		If Object.StyleName = n Then
			totLength = totLength + Object.Length
		End If
	End If
Next
RESULT = Replace( Round((totLength)/1000,2), ",", ",")

Формула группирует длину объекта провод по стилю для MEP2014ENU

Код:
[Выделить все]
 Set app = GetObject (,"AutoCAD.Application")
On Error Resume Next
RESULT = "--"

Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplication.7.5")
Set ActiveDoc =baseApp.ActiveDocument
Set ObjectCollection = ActiveDoc.ModelSpace

totLength = 0
n = "[Стиль]"

For Each Object In ObjectCollection
	If Object.ObjectName = "AecbDbWire" Then
		If Object.StyleName = n Then
			totLength = totLength + Object.Length
		End If
	End If
Next
RESULT = Replace( Round((totLength)/1000,2), ",", ",")
Формула группирует длину объекта провод по стилю для MEP2014RUS


Нажмите на изображение для увеличения
Название: WireLengthByStyle.GIF
Просмотров: 278
Размер:	32.1 Кб
ID:	124542

А вот те же провода посчитанные с помощью КЖ

Нажмите на изображение для увеличения
Название: WireLengthByStyle_1.GIF
Просмотров: 173
Размер:	38.4 Кб
ID:	124544

Обратите внимание на разницу - 236 м и 107м !!!
Как на ваш взгляд, покроется она 10-ю процентами?

Последний раз редактировалось VitalyAF, 17.03.2014 в 17:06.
VitalyAF вне форума  
 
Автор темы   Непрочитано 17.03.2014, 16:50
#19
peacemaker_kiss


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Код:
[Выделить все]
Set app = GetObject (,"AutoCAD.Application")
On Error Resume Next
RESULT = "--"

Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplication.7.5")
Set ActiveDoc =baseApp.ActiveDocument
Set ObjectCollection = ActiveDoc.ModelSpace

totLength = 0
n = "[Style]"

For Each Object In ObjectCollection
	If Object.ObjectName = "AecbDbWire" Then
		If Object.StyleName = n Then
			totLength = totLength + Object.Length
		End If
	End If
Next
RESULT = Replace( Round((totLength)/1000,2), ",", ",")

Формула группирует длину объекта провод по стилю
Как спецификации понять что ей нужно считать характеристику "Длина"

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Код:
[Выделить все]
 Set app = GetObject (,"AutoCAD.Application")
On Error Resume Next
RESULT = "--"

Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplication.7.5")
Set ActiveDoc =baseApp.ActiveDocument
Set ObjectCollection = ActiveDoc.ModelSpace

totLength = 0
n = "[Style]"

For Each Object In ObjectCollection
	If Object.ObjectName = "AecbDbWire" Then
		If Object.StyleName = n Then
			totLength = totLength + Object.Length
		End If
	End If
Next
RESULT = Replace( Round((totLength)/1000,2), ",", ",")

Формула группирует длину объекта провод по стилю

Вложение 124542
Я понял в чем дело, но у меня русская версия программы
как мне интерпретировать для русской версииъ
Все спасибо, у меня все получилось, я доделал!!!

Последний раз редактировалось peacemaker_kiss, 17.03.2014 в 17:04.
peacemaker_kiss вне форума  
 
Непрочитано 17.03.2014, 17:07
#20
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


Обновил, в конце обратите внимание на разницу в длинах 236 и 107

Это не формула а пылевглазапускатель!

Последний раз редактировалось VitalyAF, 17.03.2014 в 17:20.
VitalyAF вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Вертикальные решения на базе AutoCAD > Расчет длина (провода) в MEP, Расчет длины провода с помощью макроса написанного для труб?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 262 24.02.2024 17:19
Жилые и общественные здания: краткий справочник инженера-конструктора. Под ред. Ю.А. Дыховичного и В.И. Колчунова. 2011 (Впечатления и отзывы). Armin Поиск литературы, чертежей, моделей и прочих материалов 19 22.03.2018 15:41
Как отразить звуки от распахнутого окна квартиры? trel Архитектура 44 18.06.2015 06:11
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44