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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Импорт армирования результатов армирования из расчетных программ в Автокад

Импорт армирования результатов армирования из расчетных программ в Автокад

Ответ
Поиск в этой теме
Непрочитано 30.01.2013, 07:36
Импорт армирования результатов армирования из расчетных программ в Автокад
DEM
 
YngIngKllr
 
СПб
Регистрация: 29.03.2005
Сообщений: 12,968

Собственно есть файл с расширением ASF, это результаты расчета армирования СКАДа...
В файле представлена сетка МКЭ и армирование по слоям в направлениях Х и У.
Вот разобранный файл...
Цитата:
GL POLY 17 -это пока не разобрался что.....
37.000 21.950 0.000
37.000 4.350 0.000
34.500 4.350 0.000
...... ...... .......
GP KNOT 5173-это номера и координаты точек
1 37.000 10.350 3.600
2 37.000 16.350 3.600
3 18.450 0.000 3.600
4 20.750 22.200 3.600
...... ...... .......
GF ELEM 5062-это номера элементов с номерами узлов
1 8 12 414 22
2 22 414 429 23
3 23 429 444 24
4 24 444 459 25
...... ...... .......
QR 1 252510 0.000 0.000 0.000 0.000 90.000 - это армирование элементов по слоям
QM 0 0 34.300 0.200 3.600 0.58 0.51 0.00 0.00 0.00 0.00
QM 0 0 34.300 0.600 3.600 1.07 0.97 0.00 0.00 0.00 0.00
QM 0 0 34.300 1.000 3.600 1.44 1.32 0.00 0.00 0.00 0.00
QM 0 0 34.300 0.200 3.600 0.58 0.51 0.00 0.00 0.00 0.00
( 0 0 34.300 0.200 3.600/это зачем то опять координаты/ 0.58/армирование верхнее по Х/ 0.51/армирование верхнее по У/ 0.00/армирование нижнее по Х/ 0.00/армирование нижнее по У/ 0.00 0.00/эти значения пока не разобрал, по всей видимости поперечное армирование....)
Собсно хотелось бы сделать программку которая бы позволяла, импортировать сетку МКЭ из данного файла в автокад в виде блока. Конечные элементы импортировать в виде регионов и назначать им цвет в зависимости от того сколько требуется арматуры.....
Получится 6 блоков соответственно
Армирование нижнее по Х
Армирование верхнее по Х
Армирование нижнее по У
Армирование верхнее по У
Армирование поперечное по Х
Армирование поперечное по У

Предложение к заинтересовавшимся, которые могут программировать в Лиспе, помочь сделать эту программу, я Лиспом давно не занимался, а сейчас в основном на Делфях сижу...
В принципе данную программку можно и на NET сделать.....
PS. Файло с расширением ASF прилагаю...

Вложения
Тип файла: zip Сборка05.zip (121.7 Кб, 442 просмотров)

__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.

Последний раз редактировалось DEM, 31.01.2013 в 21:06.
Просмотров: 148484
 
Непрочитано 05.03.2020, 13:42
#341
DMSskop


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


Насколько это ускоряет процесс, по сравнению с импортом пдф в автокад и его ручной обводкой?
DMSskop вне форума  
 
Автор темы   Непрочитано 05.03.2020, 14:14
#342
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от DMSskop Посмотреть сообщение
Насколько это ускоряет процесс, по сравнению с импортом пдф в автокад и его ручной обводкой?
Ну это сам посчитай

----- добавлено через ~43 мин. -----
Плюсы такого подхода.
1. Можно выгрузить всё армирование по плитам, стенам и балкам одним кликом.
2. Уже после исполнитель сам может назначать какой арматурой перекрывать будет.
3. Ничего маштабировать не надо, файл будет двигаться гораздо шустрее чем с подгруженной pdf
DEM вне форума  
 
Непрочитано 11.03.2021, 07:36
#343
DMSskop


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


Вот кто то делает
Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=pnK8EOnApu8 работают школьники за еду

Последний раз редактировалось DMSskop, 11.03.2021 в 11:19.
DMSskop вне форума  
 
Автор темы   Непрочитано 11.03.2021, 15:14
#344
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Молодцы...
Я как то отложил все, хотя алгоритмы для автокада отработал.
Даже сделал программу.
Но забил на все и теперь опять в промке, но задачи интереснее..
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 12.03.2021, 14:12
#345
CalcProg


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


зачем тогда было поднимать эту тему?
промка интереснее проектирования?
с этим утверждением не согласен.
CalcProg вне форума  
 
Автор темы   Непрочитано 12.03.2021, 17:33
#346
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от CalcProg Посмотреть сообщение
зачем тогда было поднимать эту тему?
промка интереснее проектирования?
с этим утверждением не согласен.
Це не я поднял...


Цитата:
Сообщение от DMSskop Посмотреть сообщение
Вот кто то делает
Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=pnK8EOnApu8 работают школьники за еду
Я под СКАД нынче немного программлю..
Проектирование в промке интереснее на порядок.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 08.04.2021, 23:44
#347
Skovorodker


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


Цитата:
Сообщение от DEM Посмотреть сообщение

Я под СКАД нынче немного программлю..
Проектирование в промке интереснее на порядок.
А почему в принципе не пойдете полностью в программирование, это ж сейчас прибыльней на порядок? И не только на еду будет хватать.
Skovorodker вне форума  
 
Автор темы   Непрочитано 12.04.2021, 06:28
#348
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от Skovorodker Посмотреть сообщение
А почему в принципе не пойдете полностью в программирование, это ж сейчас прибыльней на порядок? И не только на еду будет хватать.
Потому что на что учился, там и пригодился...
Я не плохо и на проектировании зарабатываю.
Программирование лишь инструмент, повышающий эффективность.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 12.04.2021, 14:40
#349
Skovorodker


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


Цитата:
Сообщение от DEM Посмотреть сообщение
Потому что на что учился, там и пригодился...
Я не плохо и на проектировании зарабатываю.
Программирование лишь инструмент, повышающий эффективность.
Просто интересно, вы не в РФ работаете?
Просто сейчас у нас доходы нормальных программистов в разы выше доходов хороших инженеров-конструкторов? Или я не прав? Или вы директор, тогда зачем вам это все? ))

Последний раз редактировалось Skovorodker, 12.04.2021 в 14:51.
Skovorodker вне форума  
 
Автор темы   Непрочитано 12.04.2021, 15:20
#350
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от Skovorodker Посмотреть сообщение
Или я не прав? Или вы директор, тогда зачем вам это все? ))
Сейчас я Главный специалист по АН(в одной компании крупной, вот мой объект), был главным конструктором в Главстрое.

Есть и своя фирма уже.
Считаю что нужно Большее внедрение автоматизации в рутинные процессы, чтобы люди могли быстрее выполнять свою работу.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.

Последний раз редактировалось DEM, 05.08.2021 в 13:09.
DEM вне форума  
 
Непрочитано 12.04.2021, 15:45
#351
Skovorodker


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


Цитата:
Сообщение от DEM Посмотреть сообщение
Сейчас я Главный специалист по АН(в одной компании крупной,
Есть и своя фирма уже.
Считаю что нужно Большее внедрение автоматизации в рутинные процессы, чтобы люди могли быстрее выполнять свою работу.
Отличные картинки (у меня тоже есть такие ), отличные должности! Но как это считается с нормальными доходами в РФ?

И не понимаю, как связано - есть своя фирма и программируете под скад.
Skovorodker вне форума  
 
Непрочитано 12.04.2021, 16:14
#352
nickname2019


 
Регистрация: 18.11.2019
Сообщений: 1,492


Цитата:
Сообщение от Skovorodker Посмотреть сообщение
Отличные картинки (у меня тоже есть такие ), отличные должности! Но как это считается с нормальными доходами в РФ? И не понимаю, как связано - есть своя фирма и программируете под скад.
К сожалению, в РФ проще самому написать нормальный вывод полей армирования в dwg, чем дождаться, когда это соизволят сделать разработчики ПО. А сочетается с доходами очень просто - без программы проектируешь два месяца с группой сотрудников, с программой - неделю один.
nickname2019 на форуме  
 
Непрочитано 12.04.2021, 16:20
#353
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


С флудом заканчивайте.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.08.2021, 12:53
#354
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Дело было вечером, делать было не чего... =0)
способ получить армирование из результатов LIRA-SAPR 2021 R1 x64:
1. Выполняем общий расчет и подбор арматуры для нужной плиты.
2. В лире есть кнопочка "Сохранить задачу в zip архив..", в открывшемся окне не забываем поставить галочку "Сохранить результаты"
3. Внутри архива нас интересуют два файла с расширениями txt и f74
4. Внутри txt файла интересуют секции 1 и 4. в секции 1 находятся элементы в формате тип, жесткость, номера узлов, в секции 4 координаты узлов. Номера просто по порядку.
5. Внутри f74 файла... тут интереснее, он бинарный, но не шифрованный. Описание структуры этого файла на декларативном языке программы Kaitai Struct ниже...
Собственно армирование описано в типе plate и в нем интересны поля element_number - номер элемента, rebar_pln - полная арматура, по порядку AS1, AS2, AS3, AS4 , cracks - ширина раскрытия трещин. Замечу, что элементы в этом файле хранятся не по порядку, потому номер прописан в структуре.

Вот собственно и все. Номера узлов с координатами есть, номера элементов с номерами узлов есть, номера элементов с нужным армированием есть. Да еще Kaitai самостоятельно с генерирует по описанию код обработки файла на нужном языке.

ЗЫ.
в описание есть тип line (размером 4370 байт) - это колонны, их структуру я не разбирал, мне без надобности.

ЗЫЫ.
Тут еще интересно обратить внимание, что номер элемента хранится как float... что как бы странно... номер элемента же не может быть дробным... или может

Код:
[Выделить все]
meta:
  id: lira_sapr_f74
  endian: le
  file-extension: f74
  application: LIRA-SAPR
  ks-version: 0.7
  license: CC0-1.0
doc: |
  Written and tested by Vladimir Shu, 2021

seq:
  - id: rec_type
    type: file
    repeat: eos
types:
  file:
    seq:
      - id: rec_type
        type: u2
      - id: body
        type:
          switch-on: rec_type
          cases:
            1: plate
            2: line
  line:
    seq:
      - id: data
        size: 4370
  plate:
    seq:
      - id: floats0
        type: f4
        repeat: expr
        repeat-expr: 7    
      - id: name2
        type: u2
      - id: concrete_class
        type: str
        size: 10
        encoding: ASCII
      - id: ext7
        type: f4 
      - id: rebars_class
        type: str
        size: 10
        encoding: ASCII
        repeat: expr
        repeat-expr: 3
      - id: numbers0
        type: f4
        repeat: expr
        repeat-expr: 2
      - id: element_number
        type: f4  
      - id: numbers1
        type: f4
        repeat: expr
        repeat-expr: 6
      - id: rebar_pr4n
        type: f4
        repeat: expr
        repeat-expr: 4
      - id: rebar_pln
        type: f4
        repeat: expr
        repeat-expr: 4
      - id: cracks
        type: f4
        repeat: expr
        repeat-expr: 4
      - id: data
        type: f4
      - id: text
        type: str
        size: 56
        encoding: ASCII

Последний раз редактировалось Boxa, 05.08.2021 в 13:09. Причина: картинку добавил
Boxa вне форума  
 
Автор темы   Непрочитано 05.08.2021, 13:10
#355
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


В СКАДе можно напрямую выкачивать данные с помощью скрипта...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 09.08.2021, 12:39
#356
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Можно и из Лира-САПР тоже можно вытащить геометрию напрямую, с помощью простейшего скрипта, но к сожалению API лиры очень бедное, да и работает пока только для x32 и по сути предоставляет доступ (чтение/запись) только к "таблицам ввода", а там данных по армированию нет.
Если интересно, могу этот скрипт сюда забросить =)
Однако, я так и не понял к чему твое замечание... работник по сути не выбирает с каким расчетным комплексом ему работать, какой есть у работовзятеля, с тем и мается. Вон в ETabs можно напрямую задавать пояса армирования в плитах и/или проверять армирование стен с точностью до стержня арматуры и API там очень богатое.... но работаем с тем, что уже куплено.

Небольшое замечание по поводу txt файла в лире... в самом txt файле координаты узлов записываются в метрах и с точность в 5 десятичных знаков... а вот в самой программе и в lir файле, точность значительно выше... и lir файл все равно нужно разобрать =(, т.к. там хранятся настройки шкалы.

ЗЫ.
На всякий случай, все эти исследования и разбор не документированных файлов полностью соответствуют ст. 1280 ГК РФ.
Boxa вне форума  
 
Непрочитано 17.08.2021, 09:01
#357
румата


 
Регистрация: 06.04.2015
Сообщений: 2,673


Цитата:
Сообщение от Boxa Посмотреть сообщение
Если интересно, могу этот скрипт сюда забросить =)
Конечно интересно. Бросайте!
Цитата:
Сообщение от Boxa Посмотреть сообщение
...и lir файл все равно нужно разобрать =(, т.к. там хранятся настройки шкалы.
он же бинарный. чем и как его разбирать?
румата вне форума  
 
Непрочитано 17.08.2021, 10:27
#358
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от румата Посмотреть сообщение
Конечно интересно. Бросайте!
Вообще этот код, очень сильно опирается на код из справки по лире, найти его очень просто,
открываете справку по F1, переходите на вкладку поиск и в строке поиска пишете "VBA", в результатах поиска будет только ода страница "ЛИРА-САПР API" , на этой странице нужно перейти к разделу "Создание геометрии П-образной рамы длиной 6 и высотой 3 м, на языке C#"
Там будет рассказано как создать проект работающей с лирой.

От себя добавлю, что в свойствах проекта необходимо выставит целевую платформу: x86 и лира либо должна быть выключена перед запуском, либо запущена 32 битная версия, т.е. НЕ из папки LIRA SAPR\LIRA SAPR 2021\Bin\x64.

Код:
[Выделить все]
 using System;
using System.Collections;
using System.Collections.Generic;
using LiraSapr;

namespace LiraSaprApiTest
{
  class Program
  {
    static void Main(string[] args)
    {
      GetGeom();
    }
    static void GetGeom()
    {
      //Запускаем ВИЗОР-САПР x86 (к сожалению с x64 пока не работает)
      LiraApplication App = new LiraApplication();
      LiraDocument Doc = App.ActiveDocument;
      var allTable = Doc.AllTables as LiraTables;
      int tableCount = allTable.ItemCount;

      var points = new List<Point>(); // Тут будут лежать координаты узлов

      for (int i = 0; i < tableCount; i++)
      {
        var table = allTable.Item[i] as LiraTable;
        
        //тут разбираем таблицу с узлами
        if (table.Type == LiraTableEnum.kLiraTable_Nodes_Coordinates)
        {
          object anArray = null;
          table.GetContents(ref anArray);

          if (anArray.GetType().IsArray)
          {
            object[,] tty = anArray as object[,];

            for (int j = 0; j < tty.GetLength(0); j++)
            {
              var point = new Point();

              point.N = (int)tty[j, 0];
              point.X = (double)tty[j, 1];
              point.Y = (double)tty[j, 2];
              point.Z = (double)tty[j, 3];

              points.Add(point);
            }
          }
        }

        //Тут разбираем таблицу с элементами
        if (table.Type == LiraTableEnum.kLiraTable_Elements_TypeAndNumbersOfNodes)
        {
          object anArray = null;
          table.GetContents(ref anArray);
          IEnumerable enumerable = anArray as IEnumerable;
          if (enumerable != null)
          {
            foreach (object element in enumerable)
            {
              // etc...
            }
          }
        }
      }
    }
  }
  class Point
  {
    public int N { get; set; }
    public double X { get; set; }
    public double Y { get; set; }
    public double Z { get; set; }
  }
}

Цитата:
Сообщение от румата Посмотреть сообщение
он же бинарный.
Это не важно, важно что он не шифрованный и не упакованный.

Цитата:
Сообщение от румата Посмотреть сообщение
чем и как его разбирать?
Чем я разбираю, уже писал выше.

Последний раз редактировалось Boxa, 17.08.2021 в 10:36.
Boxa вне форума  
 
Непрочитано 17.08.2021, 10:56
#359
румата


 
Регистрация: 06.04.2015
Сообщений: 2,673


Цитата:
Сообщение от Boxa Посмотреть сообщение
Вообще этот код, очень сильно опирается на код из справки по лире, найти его очень просто
Спасибо, а для каких версий ЛирыСАПР, кроме последней, это будет работать?
Цитата:
Сообщение от Boxa Посмотреть сообщение
Чем я разбираю, уже писал выше.
Прошу прощения, запамятовал. Ковыряться в шестнадцатиричном представлении массива байтов как-то совсем не хочется.

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
Это не важно, важно что он не шифрованный и не упакованный.
Т.е. этот Kaitai Struct делает из бинарника структурированный текстовый файл?
румата вне форума  
 
Непрочитано 17.08.2021, 11:11
#360
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от румата Посмотреть сообщение
Спасибо, а для каких версий ЛирыСАПР, кроме последней, это будет работать?
В справке в пункте подключения COM есть скриншот, на котором показано подключение библиотеки от лира-сапр 2019.
Цитата:
Сообщение от румата Посмотреть сообщение
Т.е. этот Kaitai Struct делает из бинарника структурированный текстовый файл?
Нет. Этот инструмент позволяет Вам в описать структуру файла и потом по этому описанию сгенерирует код на выбранном языке, который будет работать с бинарным файлом.
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Импорт армирования результатов армирования из расчетных программ в Автокад

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт плоской схемы из Автокад в Лиру vadimys Лира / Лира-САПР 21 14.09.2012 00:01
1.напряжения в SCAD 2. перенос эпюры из скада в автокад poleon SCAD 5 13.12.2009 17:12
импорт в автокад 2010 wzm AutoCAD 2 23.09.2009 22:48
импорт из лиры в автокад funky_Frankie Лира / Лира-САПР 3 06.09.2008 09:11
Импорт в Автокад RINga AutoCAD 3 19.04.2007 19:54