Моя новая таблица для труб и отводов.
Сортирует объекты по следующим признакам:
1. - имяразмераэлемента
2. - система
3. - толщина изоляции
Возможны комбинации фильтров
пример для Autocad MEP2013RUS
Pipe_fitting_for_MEP2013_RUS
для 2012-ой версии нужно изменить в строке
Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplicatio n.7.0")
7.0 на 6.7 для других версий соответственно на 5.0, 4.7, 4.5
Для внесения изменений в работающую формулу нужно открыть файл не как обычно, а из менеджера стилей,
в этом случае формула не активна!!!
view source
print
01 Set app = GetObject (,"AutoCAD.Application")
02 On Error Resume Next
03 RESULT = "--"
04
05 Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplication.7.0")
06 Set ActiveDoc =baseApp.ActiveDocument
07 Set ObjectCollection = ActiveDoc.ModelSpace
08
09 totLength = 0
10 n = "[ОбъектТруба:Имяразмераэлемента]"
11 f = "[ОбъектТруба:Типобъекта]"
12 s = "[ОбъектТруба:Система]"
13 t = [ОбъектТруба:ТолщинаИзоляции]
14 q = "[QUANTITY]"
15
16 For Each Object In ObjectCollection
17 If Object.ObjectName = "AecbDbPipe" Then
18 If Object.SizeName = n Then
19 Ps = Object.SystemName
20 Ps = Split(Ps," (",-1,1)(0)
21 If StrComp(Ps, s, 1) = 0 Then
22 If Object.InsulationThickness = t Then
23 totLength = totLength + Object.Length
24 End if
25 End If
26 End if
27 End If
28 Next
29 If f = "Труба" Then RESULT = Replace( Round((totLength)/1000,2), ",", ",") End If
30 If f = "Фитинг трубопровода" Then RESULT = q End If