13 января, 2014

Труба по ГОСТ 8732-78, 8734-75, 550-75 и ТУ 14-3-1080-81

«Работаем быстро качественно недорого, выбирайте любые два...»
В этой статье мне хотелось бы поделиться своими мыслями насчет того, как проектировать быстрее и без потери качества.
Конечный продукт деятельности инженера проектировщика рабочая или проектная документация. Графические и текстовые документы. Одним из основных документов является «Спецификация изделий и материалов». По самым скромным подсчетам, в зависимости от сложности проекта, на заполнение спецификаций конструктор может затрачивать до 50% от всего времени проектирования.
Это время можно значительно сократить, если спецификация будет формироваться автоматически, т.е. таблица будет считывать данные непосредственно с чертежа.
В базовой поставке СПДС достаточно большой сортамент материалов, но по моему мнению большое количество параметрических объектов в базе это не совсем хорошо.
Поясню на примере: все трубы, как правило имеют сходные геометрические размеры и отличаются только материалом, с некоторыми вариациями типоразмеров. Например: труба ГОСТ 550-75 отличается от ГОСТ 8732-78 только материалом и ограниченным размером, труба по ТУ 14-3-1080-81 это тот же ГОСТ 550-75, только большего диаметра.
Труба приведена, как пример, но этот пример справедлив и для других параметрических объектов.
В этой статье я хочу объяснить сам принцип.
Конечно можно создать несколько параметрических объектов и вставлять их по мере необходимости, но для этого надо держать в голове весь сортамент материалов и изделий или постоянно подглядывать в ГОСТ и справочники. Проектировать можно и так, однако производительность будет так себе.
Собственно сама идея лежит на поверхности. Параметрические объекты, у которых сходная геометрия, но разные характеристики используемые для заполнения спецификаций и других текстовых документов, объединить в один объект.
Пользовательское меню в этом случае может выглядеть так:
На рисунке:
Поле №1 это выбор марки стали, в случае необходимости этот список можно дополнить.
function OnMakeParameters {
 strTheName="ГОСТ 8732-78, 8734-75, 550-75, ТУ 14-3-1080-81";
 strTheType="vaPipe"; //влияет на вставку детали между другими объектами (вставляются только если strTheType равны)
 strTheSubType="Round";
// плоскости
 WP1=Plane(pntOrigin,-vecDirection);
 WP2=Plane(pntOrigin+vecDirection*L*rScl,vecDirection);
 WPnormal=Plane(pntOrigin-vecPlane*(0),vecPlane);
// обновляем если параметры пришли через копи свойства, непонятно почему, но поогает
 SelectInCache("kFirst", "FilterGost", "<", bbFilterGost, "DNf","~",DNf, "s", "~", s); //если обновились через копи свойства
 SelectInCache(1,"kFirst","MaterialMarka", "=", strMaterial); //тянем из марки стали ее ГОСТ
 if ((DNf>219) && (MaterialMarka=="15Х5М")){ //по ТУ 14-3-1080-81
  TrubaGost="ТУ 14-3-1080-81";
  TrubaOboz="Трубы стальные бесшовные для нефтеперерабатывающей и нефтехимической промышленности";
 } else if ((DNf<=219) && (DNf>=20) && (MaterialMarka=="15Х5М")){ // по ГОСТ 550-75
  TrubaGost="ГОСТ 550-75";
  TrubaOboz="Трубы стальные бесшовные для нефтеперерабатывающей и нефтехимической промышленности";
 } else if (DNf<25) { //по ГОСТ 8734-75
  TrubaGost="ГОСТ 8734-75";
  TrubaOboz="Трубы стальные бесшовные холоднодеформированные";
 }else { //по ГОСТ 8732-78
  TrubaGost="ГОСТ 8732-78";
  TrubaOboz="Трубы стальные бесшовные горячедеформированные";
 }
 rdE1=DNf;
 rdE2=DNf;
 rS1=s;
 rS2=s;
 L1=L/1000;
// строки для спецификации
 Count=L/1000*Multiplicity;
 SpecPartition="Tрубопроводы"; //Раздел сецификации в который попадает деталь
 strSpecSubPartition=TrubaOboz+", сталь "+MaterialMarka+" "+MaterialGost; //подраздел спецификации в который попадает деталь;
 strPartDescription=TrubaGost; //Описание детали в спецификации (ОБОЗНАЧЕНИЕ)
 strPartName=strPartNameBT=FmtText("Труба ",FmtDiv(Designation+" "+TrubaGost, "Б "+MaterialMarka+" "+MaterialGost,TRUE)); //Сокращенное обозначение детали в сецификации (Наименование)
//для Ведомость трубопроводов
 MaterialBT="Сталь "+MaterialMarka;
// для маркера
 TopMarker=NumSection;
 BotMarker=DN;
}
Поле №2 это фильтр номенклатуры труб (наиболее часто применяемые).
function OnDialogChanged {
 if (bFilterGost==1) { //чекбокс «сокращенный сортамент»
  bbFilterGost=2; //выбираем по фильтру «сокращенный»
 } else {
  bbFilterGost=100000; //выбираем всю номенклатуру
 }
 LoadInCache(DNf, s,);
 SelectInCache("kFilter", "FilterGost","<", bbFilterGost); //выборка по фильтру
 L=L1*1000;
 Count=L/1000*Multiplicity;
}
Поле №3 признак включения в спецификацию, используется в фильтре выбора объектов спецификации (таблица на чертеже)
//......
 bSpec, "Признак включения в спецификацию",
//.......
Поля №4 используется для автоматического заполнения ведомости трубопроводов (таблица на чертеже)
//......
// характеристика линии
  NumSection, "Номер участка",
  StartSection, "Начало участка",
  EndSection, "Конец участка",
// характеристика среды
  Sreda, "Среда, продукт",
  T_Raboch, "Рабочая температура",
  P_Raboch, "Рабочее давление",
//.....
Поле №5 запас материала, т.е. в спецификацию пойдет количество изображенное на чертеже умноженное на кратность - Multiplicity.
//......
 Count=L/1000*Multiplicity;
//.....
Кроме этого в скрипте принято упрощение, что диаметры до 25 мм это труба по ГОСТ 8734-75.
Спецификация изделий и материалов для труб формируется в таком виде:

В этом обзоре я рассказал лишь о немногих, наиболее интересных особенностях скрипта.
В последующих публикациях, на примерах будут раскрыты и другие возможности объектов СПДС.
Тех, кого заинтересовала статья, могут по ссылке ниже загрузить пример параметрического объекта, разобраться как, это работает, возможно, применить в своих работах или изменить скрипт под свои нужды.

Что может параметрический объекта "труба":
  • Трубы стальные по:
    • ГОСТ 8732-78;
    •  ГОСТ  8734-75;
    •  ГОСТ  550-75;
    • ТУ 14-3-1080-81.
  • Материал сталь 20, 15Х5М, 12Х18Н10Т
  • Устанавливает параметрические и геометрические зависимости с:
    • с трубой; 
    • отводами; 
    • переходами; 
    • задвижками;
    • фланцами;
    • др. стандартными объектами.
  • Исполнение одно.
  • Виды:
    • полный;
    • упрощенный;
    • с разрезом;
    • спереди;
    • слева
Ссылка на скачивание: Труба ГОСТ 8732-78, 8734-75, 550-75.

5 комментариев :

  1. У меня архив не качается. Наверное в настройках доступа закрыто?

    ОтветитьУдалить
    Ответы
    1. Что-то с ГуглДиском у меня не сложилось, перезалил на ЯндексДиск. Качайте

      Удалить
  2. Здравствуйте!
    Я с недавних пор начал создавать парамметрические объекты в СПДС Мастер объектов и столкнулся с проблемой.
    Я создал три вида с графическим изображением и попытался создать четвертый вид, но уже с размерами. В итоге я ни какого положительного результата не получил. Подскажите пожалуйста как на виде (эскиз) отобразить размеры, которые ранее были заданы в качестве параметров. Требуется создать 2D вид (вид спереди с размерами), эскиз должен иметь графику арматурного каркаса с размерами, причем все размеры и графика должны меняться динамически, кроме длины арматурного каркаса

    ОтветитьУдалить
    Ответы
    1. Для того, чтобы размеры понимались при распознавании как конструктивные объекты, с них необходимо снять флажок «Рабочий объект» с помощью инструмента «Установить параметр».
      Далее нужно создать вид в необходимом исполнении объекта и задать для него свойства Скрытый вид и Вид с размерами.
      После этого в контекстном меню вида выбрать Распознать вид.
      Указать графику на чертеже и подтвердить выбор. Сохранить объект.
      Для тестирования образмеренного вида нужно вставить объект на чертеж с тем направлением вида, для которого был создан вид с размерами. В контекстном меню этого вида выбрать опцию "Добавить образмеренный вид"
      И указать точку вставки образмеренного вида на чертеже.
      Образмеренные виды вставляются на чертеж с текущим размерным стилем и масштабом символов.
      ----------------
      это нам говорит справка по СПДС раздел:«Создание образмеренных видов стандартных деталей»
      От себя добавлю, что при вставке из контекстного меню образмеренного вида объекта, он разбивается на примитивы AutoCAD, размеры ставятся к примитивам, положение объекта, как при распознавании, крайне неудобно. Подробнее по этой теме можно прочитать тут http://roof-facade.blogspot.com/2013/12/Gnutyj-tonkostennyj-Z-profil-parametricheskij-obekt-SPDS.html, и скачать файл примера.
      Но по моему мнению, есть еще минимум два способа, задания размеров параметрическим объектам, об этом в следующей статье.

      Удалить
    2. У меня если честно не получилось корректно заставить работать "образмеренный вид". Поэтому в видах, в которых у меня должны быть размеры, я их создаю как часть вида. Прям прорисовываю размерные линии, засечки, вставляю текст, все это параметризирую, и получаю вид с размерами. Топорно, но лучшего способа я не нашел пока-что.

      Удалить