Генерация SDR33 в MS Excel

Тема в разделе "Другие программы", создана пользователем zvezdochiot, 8 фев 2025.

  1. zvezdochiot

    zvezdochiot Форумчанин

    Количество полей точно учёл? Для типа "08TP" (координаты) - 5 полей == 4+5*16 = 84символа+перевод строки. Для типа "09F1" (углы) - 6полей == 4+6*16 = 100символов + перевод строки. Плюс к этому шапку (поля "01..", "10..",....) копировать из существующей sdr-ки. Ошибёшься на один символ и запись прибор не прочитает.

    Пример генерации строк (в т.ч. SDR тип "08TP") из цифирь:
     

    Вложения:

    • TEMP.xlsx
      Размер файла:
      8,8 КБ
      Просмотров:
      3
  2. NWSE

    NWSE Форумчанин

    у меня не формируется такой тип. Вообще координаты только в строке данных о станции (чаще всего автоматом проставляется последняя определенная о-засечкой, ее и оставляю)
    02TP - координаты, отметка станции и высота инструмента
    07TP - начальное горизонтальное направление
    09F1 - измерение КЛ (F2 - КП)
    03NM - про высоту цели
    upload_2025-2-8_17-2-41.png

    почему-то при открытии файла вот так, хотя в области предпросмотра в проводнике норм
    upload_2025-2-8_17-9-35.png
     
  3. zvezdochiot

    zvezdochiot Форумчанин

    А ACAD-овские строки нормально формирует? Или ошибка раньше?

    PS: Ошибка была в формировании текста из цифирь (TEXT). Я просто не в Excel делал таблицу:
     

    Вложения:

    • TEMP.xlsx
      Размер файла:
      8,8 КБ
      Просмотров:
      2
  4. NWSE

    NWSE Форумчанин

    кайф:Good2:
    upload_2025-2-8_17-45-46.png
    сделаю по этой же схеме компиляцию сырых измерений
     
  5. zvezdochiot

    zvezdochiot Форумчанин

    Для углов заменить в генерации "08CO" на "09F1" и добавить одно поле с именем станции в начале, перед именем направления (потому 6 полей). Порядок следования величин после имени направления: наклонное расстояние, зенитное расстояние (в градусах, с десятичной дробной частью), горизонтальное направление (в градусах, с десятичной дробной частью). Все числовые величины с прижимом влево. Код в моём варианте пустой, но тоже можно что то вписать, вот только куда прижим (влево? вправо?) надо смотреть в сущ. sdr-ках.

    PS: И при превращении цифирь в текст для угловых величин в "ФИКСИРОВАННЫЙ" брать 7 знаков, а не 4.

    Удачи.
     

    Вложения:

    • ANGLE.xlsx
      Размер файла:
      8 КБ
      Просмотров:
      2
    Последнее редактирование: 8 фев 2025
    NWSE нравится это.
  6. NWSE

    NWSE Форумчанин

    добавил расчет по ОГЗ
    Кредо ругается при попытке открыть, вот что пишет
    upload_2025-2-8_19-9-26.png
     

    Вложения:

    • ANGLE1.xlsx
      Размер файла:
      14,2 КБ
      Просмотров:
      2
    • новый 1.SDR
      Размер файла:
      2,4 КБ
      Просмотров:
      1
  7. zvezdochiot

    zvezdochiot Форумчанин

    У тебя в строках "09F1" пять табуляций в конце строки. Откуда они вообще? Их быть не должно. Чтобы видеть подобные "напасти" пользуй notepad++для редактирования текста. В нём и длину строк контролировать удобно: 4+6*16 = 100 + 1(перевод строки).

    PS: Кажется понял. Ты выделяешь 6 столбцов для копирования строк, а надо всего 1 столбец выделять (первый из шести), в котором и находятся сгенерированные строки. При копировании добавляется табуляция, как разделитель ячеек.

    "Подшаманил" твою таблицу, чтобы не было "вопросов":
     

    Вложения:

    Последнее редактирование: 8 фев 2025
    NWSE и ardi.stroi нравится это.
  8. NWSE

    NWSE Форумчанин

    Оффтоп
    notepad++ пользуюсь давно, по твоему, кстати, совету давно в какой-то ветке

    интересное дело, вот имеем два файла:
    ОК.сдр - это бывший настоящий файл сырых измерений в котором я заменил сами величины и имена точек. Кстати, удобная в нотепаде++ фишка выделять с зажатым Ctrl+Alt+Shift. Он нормально открывается в Кредо
    не ОК.сдр - это тот же файл, но я в нем удалил все кроме шапки и вставил строки из эксель. Не открывается, пишет как делал скрин выше, про единицы измерения.
    И на первый взгляд всё одинаково. Но не совсем
    upload_2025-2-9_8-37-42.png
    это файл ОК

    upload_2025-2-9_8-38-29.png
    это не ОК

    Кодировка разная, да? Я, если честно в этом не секу ничего. Но поменял в фиговом файле кодировку на ANSI и заработало!
     

    Вложения:

    • не ОК.SDR
      Размер файла:
      2,3 КБ
      Просмотров:
      1
    • OK.SDR
      Размер файла:
      2,3 КБ
      Просмотров:
      1
  9. zvezdochiot

    zvezdochiot Форумчанин

    Как то лажёво ты шапку скопипастил:
    Код:
    diff OK.SDR не\ ОК.SDR 
    1c1
    < 00NMSDR33 V04-04.02     26-���-23 08:33 111111
    ---
    > 00NMSDR33 V04-04.02     26-ея═-23 08:33 111111
    
    Чтобы не пучеглазить на содержимое файлов и пытаться найти различие визуально, пользуй Meld для сравнения. Есть также плагин к notepad++.
     
  10. NWSE

    NWSE Форумчанин

    да, правда. А еще в экселе с формулами накосячил походу, перепроверю сейчас
     
  11. zvezdochiot

    zvezdochiot Форумчанин

    Советую также заменить в формуле, генерирующей строки, "09F1" на ЕСЛИ(K2<180;"09F1";"09F2"). Где K2 - ячейка с зенитным расстоянием.
     
  12. NWSE

    NWSE Форумчанин

    В формулу расчета дир угла добавил учет четверти румба. Вообще для достоверности надо еще сделать добавление во все измерения гор. направлений на каждой станции какую-то случайную величину, но одну для всех. А то получается что пришел, и как-то сразу так поставил прибор, что он оказался повернут четко на север твоей СК)
    И еще случайные косячки надо добавлять в засечку, а то неправдоподобно
    формула) (раскрыть)
    =ЕСЛИ(И((F2-B2)>0;(G2-C2)>0);ABS(ГРАДУСЫ(ATAN((G2-C2)/(F2-B2))));ЕСЛИ(И((F2-B2)<0;(G2-C2)>0);(180-ABS(ГРАДУСЫ(ATAN((G2-C2)/(F2-B2)))));ЕСЛИ(И((F2-B2)<0;(G2-C2)<0);(180+ABS(ГРАДУСЫ(ATAN((G2-C2)/(F2-B2)))));ЕСЛИ(И((F2-B2)>0;(G2-C2)<0);(360-ABS(ГРАДУСЫ(ATAN((G2-C2)/(F2-B2)))))))))
     

    Вложения:

  13. zvezdochiot

    zvezdochiot Форумчанин

    Слишком как то "наворочено" вы сделали. Ни к чему. Да и хотелке что то там впаяить, типа "=(20*СЛЧИС()-10)/3600", такие "навороты" не способствуют. Так что "слегка" упростил вашу таблицу. Точнее не таблицу, а формулы.
     

    Вложения:

    NWSE нравится это.
  14. NWSE

    NWSE Форумчанин

    да, формулы упростились, а таблица выросла. Я и хотел спрятать dx, dy и h внутрь формул, и г-проложение тоже, короче оставить видным только то что идет в запись сдр. Но это не важно, на само деле. Да, у вас лаконичней формулы::good1::
    Всё-таки хочу подумать как сделать эту беспалевку - случайное исходное направление в приборе после его установки на штатив и выполнение первого измерение по ГК с его учетом
    --- Сообщения объединены, 11 фев 2025, Оригинальное время сообщения: 11 фев 2025 ---
    чего там думать! Добавил прибавку к румбу случайного числа 0...180
    и всё-таки вшил промежуточные вычисления в окончательные
    Оффтоп
    нейросеть как-то плавно вышла из чата
     

    Вложения:

  15. NWSE

    NWSE Форумчанин

    а зачем лисп? у меня рабочая табличка. Сейчас еще придумаю "кнопочку" внесения ошибки в засечку
    --- Сообщения объединены, 11 фев 2025, Оригинальное время сообщения: 11 фев 2025 ---
    с вашей помощью
    --- Сообщения объединены, 11 фев 2025 ---
    кнопочка конечна не получилась, но два поля куда можно вписать угловую и линейную ошибки сделал.
    вот у меня по 5" и 3 мм идет с разным знаком в оба пункта. Ниже СКО определения станции из Кредо
    upload_2025-2-11_15-12-8.png
    upload_2025-2-11_15-10-14.png
     

    Вложения:

  16. zvezdochiot

    zvezdochiot Форумчанин

    Только ты сделал систематические ошибки, а надо было случайные. Для углов систематическая вообще бессмыслена, получается добавка к A0. Рандомизировал это хозяйство:
     

    Вложения:

    NWSE нравится это.
  17. NWSE

    NWSE Форумчанин

    круто! но я б в измерения пикетов не добавлял уже ошибки, только в засечку. Потому что задача обычно такая: кто-то (может быть даже ты!) сделал съемку (например, свай после погружения) в координатах, потом их срезали и ты не можешь доказать высотное их положение до срезки. А проверяющий снял часть, и нужно чтоб ваши съемки совпадали. Да, величины ошибок такие, что это (при разумных расстояниях) первые миллиметры. Но всё же.
    Еще бы добавить высоты вехи для каждого измерения, но это дополнительная строка в *.sdr. Плюс, можно ли сделать чтоб эксель реагировал на изменения значений в каком-то столбце формированием строки? 03NM - это код высоты вехи
    И вообще огонь будет сделать добавление строк при перемене станций
    02TP - это строка координат и высоты станции
    07TP - строка нулевого гор. направления. У меня всегда в нее записывается ГУ первого измерения, то есть примерно так
    02TP..................ST1100.000.........200.000.........-1.711.........1.500
    07TP..................ST1..............PK1180.00000......180.00000
    03NM0.000
    09F1..................ST1..............PK120.000..........94.48417........180.00000
    с кол-вом пробелов мог косякнуть
    величины ошибок в пределах 10" и 5 мм в засечку дают адекватный результат при имитации работы пятисекундным прибором
     
  18. zvezdochiot

    zvezdochiot Форумчанин

    Под засечкой имеется два первых направления с голубой заливкой?
    Не вопрос. Добавил столбец с флагом рандомизации (R).
     

    Вложения:

    NWSE нравится это.
  19. zvezdochiot

    zvezdochiot Форумчанин

    "Мысли вслух". Небольшая заготовка для работы со станциями:
     

    Вложения:

  20. NWSE

    NWSE Форумчанин

    upload_2025-2-12_13-44-11.png
    upload_2025-2-12_13-44-28.png
    что-то ругается при открытии...

    upload_2025-2-12_13-47-54.png
    наверное что-то не работает из-за этого да? нету названий станций в итоговых строках
     

    Вложения:

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление