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

Вернуться   Форум DWG.RU > Программное обеспечение > Вертикальные решения на базе AutoCAD > AutoCad MEP 2012 Rus, как настроить отображение трубопровода в плане?

AutoCad MEP 2012 Rus, как настроить отображение трубопровода в плане?

Ответ
Поиск в этой теме
Непрочитано 14.12.2011, 09:45 #1
AutoCad MEP 2012 Rus, как настроить отображение трубопровода в плане?
Synthesis
 
Проектировщик
 
Регистрация: 06.07.2011
Сообщений: 29

Доброго времени суток!
Начал осваивать MEP.
Столкнулся с проблемой собственно указанной в заголовке темы. Как бы сделать чтоб осевая линия была осевой, тонкой. Изоляция например пунктир, тонкой.
Получается пока вот так...

Посмотрел тут: http://forum.dwg.ru/showthread.php?t=35918 многое прояснилось.

Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 743
Размер:	172.1 Кб
ID:	71387  


Последний раз редактировалось Synthesis, 14.12.2011 в 09:56.
Просмотров: 29926
 
Непрочитано 14.12.2011, 10:06
1 | #2
VitalyAF


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


Цитата:
Получается пока вот так...
Так получается когда не пользуются шаблоном..., или рисуют в чужом файле, от архитекторов, например.
Проверьте отображение осевой в новом файле, созданного из стандартного шаблона, если всё нормально, то настройте у себя так же в рабочем файле.
Настроить масштаб линии можно в стиле объекта (трубы, воздуховода и т.д.) или в палитре свойств объекта.
Только всегда нужно помнить одно правило!
Правило приоритетов. Оно заключается в том, чтобы гибко настраивать отображение объектов тремя способами.
1. Из дисплейных настроек - самый низкий приоритет, для всех объектов данного типа, например для всех труб.
2. Из стиля объекта - средний приоритет, для всех объектов данного стиля
3. Из свойств объекта - высший приоритет, только для данного объекта
Исходя из этого правила настраивайте шаблон.

Ps

Тогда получается настройка отображения всех труб из менеджера экранных представлений, если какой-то отдельный стиль трубы нуждается в особых настройках, то редактируем стиль этой трубы, а если в этом стиле есть какая-то особая труба, которая бы отображалась не так как остальные трубы данного стиля и вообще все трубы, то настраиваем дисплейные настройки этого объекта!
Т.е. в самом простом случае достаточно настроить по п.1
Это правило распространяется для всех MEP и АА объектов!

Последний раз редактировалось VitalyAF, 14.12.2011 в 11:15.
VitalyAF вне форума  
 
Автор темы   Непрочитано 14.12.2011, 11:50
#3
Synthesis

Проектировщик
 
Регистрация: 06.07.2011
Сообщений: 29


Спасибо!
Synthesis вне форума  
 
Непрочитано 14.12.2011, 12:18
#4
cdholder


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


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

Хозяйке на заметку: отображение линий в section plane управляется параметром масштаба аннотации, но нужно регенерировать разрез.
Вложения
Тип файла: rar Aecb Model (Global Ctb).rar (478.0 Кб, 986 просмотров)
cdholder вне форума  
 
Непрочитано 27.06.2012, 16:11
#5
alexius_sev


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


А не подскажите, как добаиться отобразении осевой линии на разрезе для труб?
alexius_sev вне форума  
 
Непрочитано 27.06.2012, 17:39
#6
VitalyAF


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


Используйте шаблоны для создания файлов, это гарантирует правильное отображение объектов.
VitalyAF вне форума  
 
Непрочитано 29.06.2012, 14:13
#7
cdholder


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


Цитата:
Сообщение от alexius_sev Посмотреть сообщение
А не подскажите, как добаиться отобразении осевой линии на разрезе для труб?
Если из далека заходить - залезайте в Display manager и разбирайтесь, какие лампочки для какого представления включить. Если короче - используйте, таки, мой шаблон и сэкономите себе полгода исследований, я же не зря его всем дарю. Там уже все огонь в плане труб.
cdholder вне форума  
 
Непрочитано 02.07.2012, 12:44
#8
VitalyAF


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


>cdholder

Здравствуйте!
Посмотрел таблицы и формулы, что вы предлагаете в шаблоне и хочу сделать несколько замечаний.
1. используйте стандартные имена свойств на соответствующих языках, это упрощает их адаптацию к проектам и способствует распространению
2.чтобы посчитать количество не нужна формула, а для того чтобы проставить ед.изм. достаточно такого простого выражения >
Цитата:
If "[ОбъектТруба:Типобъекта]" = "Труба" Then RESULT = "м" Else RESULT = "шт."
3. В формулах заметил несуразности, которые лучше устранить, т.к. по ним можно судить об авторе. Нам с вами это ни к чему ))

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

if f = "Multi-View Part" Then RESULT = "[QUANTITY]" end if


Set app = GetObject (,"AutoCAD.Application")
On Error Resume Next
RESULT = "--"

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

totLength = 0
n = "[ОбъектТруба:Имяразмераэлемента]"
f = "[ОбъектТруба:Типобъекта]"
s = "[ОбъектТруба:Система]"
q = "[QUANTITY]"

For Each Object In ObjectCollection
If Object.ObjectName = "AecbDbPipe" Then
If Object.SizeName = n Then
totLength = totLength + Object.Length
End if
End If
Next
If f = "Труба" Then RESULT = Replace( Round((totLength)/1000,2), ",", ",") End If
If f = "Фитинг трубопровода" Then RESULT = q End If



PS если есть интерес, то могу предложить несколько задачек, позволяющих продвинуть скрипт на более высокий уровень. Мой 2013MEP оказался совсем не готов к этому, но он мне нужен по работе.

Последний раз редактировалось VitalyAF, 02.07.2012 в 13:17.
VitalyAF вне форума  
 
Непрочитано 02.07.2012, 13:42
#9
cdholder


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


Виталий Александрович, я если честно, давно забил на оптимизацию MEP - познаю пока Plant 3d, т.к. на него выделили финансирование. Так чисто по старой памяти иногда чего скажу. Насчет того, что obeject.arx язык гибкий - это конечно очень хорошо, в планте пригодится. Так вот и не могу решить вопрос с курсами по Autocad.NET и jbject.arx, может, к стати, подскажет кто в Питере такие?
cdholder вне форума  
 
Непрочитано 02.07.2012, 14:06
#10
VitalyAF


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


...Моё дело предложить. Я тоже не занимаюсь, попросили, написал новый скрипт.
Цитата:
... не могу решить...
.NET не подскажу, не знаю, но есть ли смысл менять профессию?
VitalyAF вне форума  
 
Непрочитано 02.07.2012, 14:47
#11
cdholder


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


Ну тогда возвращаюсь к старому вопросу - где вы так здорово набрались знаний какие словари, какие объекты и какие методы использовать? Подозреваю, что вас есть хороший друг-программист, а вы, соответственно, хорошо можете поставить задачу и вместе у вас рождается красивый простой код. Дело не в професии - просто нужно знать какие переменные и как объявлять, чтобы все работало. Вот для этих знаний нужны курсы. Или просто повнимательнее прочитать object.arx SDK с официального сайта?
cdholder вне форума  
 
Непрочитано 02.07.2012, 18:39
#12
VitalyAF


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


Цитата:
Ну тогда возвращаюсь к старому вопросу...
A разве я не отвечал? Знания - это интернет + голова помноженная на ж.. ))
Видать моей заднице уже много лет, вот и всё...))
В отличие от Revit по MEP действительно тяжело что либо найти, закрыто по каким-то причинам. Курсы не помогут, они для приложений, а здесь всего лишь скрипт.
Задачи возникают по ходу работы над проектом. Знание имён переменных без механизма их взаимодействия тоже ничего не даёт.
Например, Object.SizeName - [Имяразмераэлемента] для трубы и Object.FittingSizeName - для отвода. Зная это можно обойтись без чтения свойств, сократив формулу.
По аналогии Object.PipeSystemDef уже не хочет работать. Возможно в 2012-ой версии будет, попробуйте.
VitalyAF вне форума  
 
Непрочитано 06.08.2012, 09:57
#13
VitalyAF


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


Есть хороший повод продолжить тему,
т.к. удалось найти новые методы VBScript применяемые в формулах, например
таблица сортирует трубы и отводы по 3-м признакам:
1. - имяразмераэлемента
2. - система
3. - толщина изоляции



ФИТИНГИ_ТРУБЫ_ДЛЯ_MEP2014_RUS.DWG
Фитинги_Трубы_для_MEP2013_RUS.dwg
Фитинги_Трубы_для_MEP2012_RUS.dwg


Для MEP2012RUS в формуле нужно изменить в строке
Set baseApp = app.GetInterfaceObject("AecX.AecArchBaseApplication.7.0")
7.0 на 6.7 для других версий соответственно на 5.0, 4.7, 4.5
Для внесения изменений в работающую формулу нужно открыть файл не как обычно, а из менеджера стилей,
в этом случае формула не активна!!!


Вот сама формула

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

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

totLength = 0
n = "[ОбъектТруба:Имяразмераэлемента]"
f = "[ОбъектТруба:Типобъекта]"
s = "[ОбъектТруба:Система]"
t = [ОбъектТруба:ТолщинаИзоляции]
q = "[QUANTITY]"

For Each Object In ObjectCollection
	If Object.ObjectName = "AecbDbPipe" Then
		If Object.SizeName = n Then
			Ps = Object.SystemName
			Ps = Split(Ps," (",-1,1)(0)
			If StrComp(Ps, s, 1) = 0 Then
				If Object.InsulationThickness = t Then
					totLength = totLength + Object.Length
				End if
			End If
		End if
	End If
Next
If f = "Труба" Then RESULT = Replace( Round((totLength)/1000,2), ",", ",") End If
If f = "Фитинг трубопровода" Then RESULT = q End If
Ох уж эта "System", так тяжело с ней было бороться! ))
В итоге: Заменён файл и текст формулы
Проверено. Work-ает!

У кого есть вопросы, задавайте! ))
Миниатюры
Нажмите на изображение для увеличения
Название: Фитинги_Трубы_для_MEP2013_RUS.gif
Просмотров: 711
Размер:	13.5 Кб
ID:	85339  

Последний раз редактировалось VitalyAF, 18.11.2013 в 11:34.
VitalyAF вне форума  
 
Непрочитано 14.08.2012, 11:08
#14
VitalyAF


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


К списку свойств объектов
1. - имяразмераэлемента
2. - система
3. - толщина изоляции
можем добавить
4. - номинальный размер по каталогу
5. - сокращение - сокращённое название системы (abbriviation)
VitalyAF вне форума  
 
Непрочитано 14.08.2012, 15:57
#15
cdholder


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


Уважаемый Виталий Александрович, скажите, пожалуйста, а вот эта строчка кода что делает?

Ps = Object.SystemName
Ps = Split(Ps," (",-1,1)(0)

И можно ли как то в этом сегменте

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

Object collection задать не для ActiveDocunemt, а для конкретных чертежей внутри диспетчера проекта? А то я то в свое время с чем столкнулся: нужна спецификация в отдельном файле на один конкретный construct и на определенные указанные construct или element. Хочется, чтобы графика отдельно, спецификации отдельно как в Планте... Может, с другой стороны, очень уж много хочется?)))
cdholder вне форума  
 
Непрочитано 14.08.2012, 16:26
#16
VitalyAF


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


Здравствуйте!
Цитата:
а вот эта строчка кода что делает?
Эта строчка берёт левую из 2 частей имени системы
Например
Ps = Object.SystemName
RESULT = Ps - даёт System + (Abbriviation) например CHILLED WATER - SUPPLY (CHS)

Цитата:
Object collection задать не для ActiveDocunemt, а для конкретных чертежей внутри диспетчера проекта?
Не знаю, не встречал. Было бы здорово!
Вынести таблицы на лист можно и др. стандартным способом...

PS можно добавить п.6
Цитата:
5. - сокращение - сокращённое название системы (abbriviation)
6. - Object.Name - Имя заголовка каталога, откуда берётся труба например ГОСТ...


PS
Есть команды позволяющие выбирать объекты не в текущем чертеже (в ссылках),
только не получается сделать это в цикле, поиск решения в сети тоже не увенчался успехом.

Последний раз редактировалось VitalyAF, 15.08.2012 в 09:33.
VitalyAF вне форума  
 
Непрочитано 06.11.2012, 12:45
#17
Sh_C

инженер
 
Регистрация: 06.11.2012
Санкт-Петербург
Сообщений: 52


Вопрос такой же, как у alexius_sev: как отобразить осевые линии на разрезах при использовании выложенного cdholder-ом шаблоном? Может, какое-то конкретное укранное представление при формировании разреза использовать надо?
Sh_C вне форума  
 
Непрочитано 06.11.2012, 13:33
#18
cdholder


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


Цитата:
Сообщение от Sh_C Посмотреть сообщение
Вопрос такой же, как у alexius_sev: как отобразить осевые линии на разрезах при использовании выложенного cdholder-ом шаблоном? Может, какое-то конкретное укранное представление при формировании разреза использовать надо?
ВООООООООООООТ!!! Вот тот кто ответит на этот вопрос сразу получит +1000 в карму и переродится коровой без разговоров и дополнительных условий...
cdholder вне форума  
 
Непрочитано 06.11.2012, 15:24
#19
VitalyAF


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


Цитата:
ВООООООООООООТ!!!
...а какие здесь проблемы? Ролик такой я выкладывал давно, несколько лет тому назад.

DispCenHid_Lines.swf

Последний раз редактировалось VitalyAF, 06.11.2012 в 15:39.
VitalyAF вне форума  
 
Непрочитано 08.11.2012, 16:10
#20
Sh_C

инженер
 
Регистрация: 06.11.2012
Санкт-Петербург
Сообщений: 52


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Ролик такой я выкладывал давно
VitalyAF, спасибо!
Оказывается, что при формировании разреза мною неправильно был выбран тип экранного представления. При том же, что у
Вас в ролике, оси отображаются! Ура!
А как сделать спецификацию? иду на вкладку Аннотации-Спецификации-Спецификация труб и фитингов. Пишет, "не удалось найти инструмент в данном рабочем пространстве". У меня выбрано Трубопроводы. В чем моя ошибка??
Sh_C вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Вертикальные решения на базе AutoCAD > AutoCad MEP 2012 Rus, как настроить отображение трубопровода в плане?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видеоуроки AutoCAD kosmax AutoCAD 173 17.02.2017 15:08
Отображение осей трубопроводов на разрезах AutoCAD MEP 2009 mishad Вертикальные решения на базе AutoCAD 2 10.06.2009 11:32
AutoCAD MEP 2009RUS – некорректное отображение переходов в горизонтальном сечении Nasandr Вертикальные решения на базе AutoCAD 2 14.05.2009 19:09
AutoCAD 2000 rus и Windows XP Briz06 AutoCAD 12 06.11.2006 10:40
AutoCad 2004 RUS или AutoCad LT 2004 RUS DEN AutoCAD 7 23.01.2004 22:23