Перейти к содержанию

MCAD

Дилеры
  • Публикаций

    1 312
  • Зарегистрирован

  • Посещение

  • Победитель дней

    123

Сообщения, опубликованные MCAD


  1. Только что, dromandon сказал:

    Ну я не к этому веду) а в принципе, раз вы пошли на изменение расширения базы, оно же не просто так с бухты барахты, верно?) 

    Поддержка  PostgreSQL

    3 минуты назад, dromandon сказал:

    Может появился новый функционал какой-то, какой просто в более ранних версиях  работать не будет?)

    Все должно работать и сохраняться внутри базы. Скрипты тоже не менялись. 


  2. 1 час назад, Mитька сказал:

    Во второй теме читаю и не понимаю: а это как? 20.1 же уже вышла..? Оно туда уже попало или ещё не попало? 

    Сегодня в 06:00 исправление было. Конечно же не "успело" попасть


  3. В 04.07.2020 в 22:51, dromandon сказал:

    Но роняться нано от этого всё равно не должен, по-идее..

    Само собой не должен. И не будет (но после пересборки)

    Падение было тут:

     image.png.a9ff5164cb16b0544891764ced39fa43.png

    Если закомментировать, то падения не будет, но как это повлияет на работу объекта неизвестно.

    ПБ (ЖБИ-1) для проверок.mcd

    • Like 1

  4. 5 минут назад, dromandon сказал:

    Ну вот как-то так, не исключаю, что что-то в моём коде криво написано)

    Пока не могу понять в чем дело. В прошлый раз была кака

    я-то смешная ошибка, которую вылечили быстро.

    7 минут назад, dromandon сказал:

    Но роняться нано от этого всё равно не должен, по-идее..

    Само собой ! Это даже не обсуждается ;-(


  5. 13 минут назад, dromandon сказал:

    Открыть в мастере объектов тоже не могу, вылетает нанокад)

    В нанокад СПДС 6 он в MechWizard открывается. Но при вставке у меня тоже валит СПДС :-(


  6. 5 минут назад, Mитька сказал:

    очно помню, что обсуждалась группировка с дублированием повторяющихся помещений где-то.

    Да. Но при этом в шапке таблице может быть сколько угодно материалов отделки. Пользователь сам может задавать.

    вот Тут  скрытые колонки из готового списка. Опять же, пишу по памяти без компьютера.


  7. 11 минут назад, sergei_k73 сказал:

    бабло получили и ладно, один хрен заплатят деваться то некуда.

    Вам уже говорили, что это и было требование заказчика. Получать не по квартирно, (что не требовалось пользователю), а для передачи в сметный отдел. По всему строению. Может я путаю темы, конечно, но если вы  выбираете одно помещение, вы сейчас получаете ожидаемый результат? 


  8. 24 минуты назад, Mитька сказал:

    Задайте @MCAD вопрос в личку, он полагаю, подскажет, где искать.

    Нет в той теме ответа на этот вопрос. Там, если я не ошибаюсь, динамическое формирование "Столбцов" в зависимости от отделки. Причем список может формироваться через пользовательский ввод. ctlSetColumnWidth() тут не поможет


  9. 48 минут назад, dromandon сказал:

    Я хочу из базы 20.1 перетащить 2 объекта в базу СПДС 6.0.

    Никак. Кстати, а зачем Вам,  с Вашим наработками делить и множить сами базы.

    Вы легко можете подключиться хоть к этой базе C:\ProgramData\Nanosoft\nanoCAD СПДС 6.0\DataRW\std.mdf локально.

     

    48 минут назад, dromandon сказал:

    Мне надо просто из 20.1 перетащить 2 объекта в 6-ку, зачем такой геморрой?)

    Ну вот что я должен ответить? Остаться навсегда на MS SQL?

    Спойлер

    Правда я не в курсе, геморрой вообще лечится или нет? 

     

    48 минут назад, dromandon сказал:

    Дома СПДС 20.1 - тут локальная.

    Работайте дома в нанкад СПДС 20.1 с базой нанокад СПДС 6 с базой MS SQL. Соответственно пока можно экспортировать mcd средствами нанокад СПДС 6. 

    Совместимость снизу вверх.

    Спойлер

    img-2020-07-04-14-18-16.thumb.png.35946438e8773ad7ca951bd4d00c5dfa.png

     

    • Thanks 1

  10. 17 часов назад, Mитька сказал:

    Надо ждать официальной инфы...

     

    18 часов назад, dromandon сказал:

    Это устаревшая утилита получатется и есть более новая или я просто не так что-то делаю?)

    Это не официально:

    Утилита более новая.  Запускать, лучше всего, как показано в ролике

    Все будет работать  (про синхронизацию) в обе стороны

    Если нужен сетевой доступ к Postgres базе, то можно восстановить из пустой базы.

     

     

    std_empty.backup Удалённый доступ к postgres.docx

    • Like 1

  11. 1 минуту назад, Mитька сказал:

    ДОП: ввиду полной переработки переменных рекомендуется к использованию на чистом чертеже, без пересечения со стандартными профилями тех же ГОСТов.

    Обязательно создать новые. С новыми ID. Иначе, при обновлении, могут потеряться Ваши изменения


  12. 25 минут назад, dromandon сказал:

    1. 1400+ обрабатываемых объектов. Захожу в редактор формул, идёт подгрузка объектов, которая длится в районе 3-х минут, при этом нормально с редактором в этот момент работать не получается.

    Попробуйте отключить "Визуальное представление формул"

    img-2020-06-27-15-07-20.png.a45f59713d5727a0c5a6f341c1c191e3.png

     

    46 минут назад, dromandon сказал:

    при работе с большим количеством объектов, ибо всё ещё долго обрабатывается:

    Единственное, что могу посоветовать. Если у вас несколько отчётов в таблице, то теперь "Автоматическое обновление" можно отключать для каждого отчёта

     

    img-2020-06-27-15-12-01.png.1bded8bee462e9d16184d68b61ac4d7f.png

    добавлено через 6 минут
    54 минуты назад, dromandon сказал:

    Функция ctlSetValue(;) бомбическая, спору нет) но пока придётся искать костыли и поб неё, при работе с большим количеством объектов, ибо всё ещё долго обрабатывается:

    Блин  ;-( , там столько операций проходит (представьте себе если это ручная работа) Это же надо с каждого объекта прочитать, обработать, и вернуть назад в объект данные.

    добавлено через 7 минут
    57 минут назад, dromandon сказал:

    Возникает вопрос, можно ли в новой версии, обновить таблицу с отчётом командой извне?)

    Нет.


  13. 1 час назад, dromandon сказал:

    Ребята хелп. Пытаюсь установить дома Нанокад Плюс 20.1

     В проводнике набери %temp% и найди там лог установки.

    Выложи (неверное) сюда. Возможно кто-то подскажет :-( 


  14. 5 часов назад, Mитька сказал:

    Кстати, это нормально, что любой шаблон отчёта при выборке параметрических объектов (с примитивами такого нет) по области (с набором тоже не повторяется) не видит объекты, у которых Z не строго 0?

    Видимо я что-то не понял. 20.1 (в шестом тоже проверял)

    z не равно 0.dwg


  15. В ‎23‎.‎06‎.‎2020 в 14:02, Mитька сказал:

    Пример такой механики я бы поглядел с удовольствием. :wub:

    Ну вот, кажется, наглядный пример. Легенда и тело документа есть под видео.

     

    Нужно:

    • Разбить строку по символу «×»;

    • Отсортировать по возрастанию, в каждом поддиапазоне;

    • Автоматически проставить позиции; • Определить количество одинаковых значений;

    • Сформировать текстовую строку;

    • Вывести на чертёж;

    Спойлер

    00:04 Открываем таблицу в «Редакторе таблиц». В таблице имеется форма для интерактивного взаимодействия при создании отчёта с обратной связью с чертежом

    00:15 Вставляем раздел отчёта. В качестве источника данных выбираем «Позиционные выноски», расположенные на слое «Example». В столбце «А» отчёту будет вычисляться номер «Позиции». Для этого пишем выражение =row-I$15, где ячейка «I$15=row». В столбце «В» задаём значение первой строки «позиционной выноски» =Object.String1

    00:58 Так как нам нужно будет разделить содержимое =Object.String1 по символу «×», которого не т на клавиатуре, заходим в «спец. Символы» вставляем это символ в ячейки и вырезаем его, тем самым копируя его в «буфер обмена»

    01:05 В ячейке «С» строки отчёта пишем функцию subSplit , в качестве первого аргумента ссылаемся на ячейку off(0;-1), в качестве разделителя строки пишем "×", и 1 - первая группа символов. =subSplit(off(0;-1) ;"×";1). Примечание: в качестве первого аргумента можно использовать «Object.String1» или непосредственный адрес «В16». Но лучше использовать «относительный» адрес ячейки.

    01:39 Для ячеек отчёта «D» и «E» пишем =subSplit(off(0;-2) ;"×";2) и =subSplit(off(0;-3) ;"×";3) соответственно.

    02:07 В ячейке «F» перемножаем полученные в столбцах «C», «D» и «E» значения, вычисляя «объём»

    02:26 В ячейке «G» определяем, что должно должна содержать вторая строка «Позиционной выноски». Мы хотим вывести туда позицию (столбец «А» отчёта), толщину (столбец «Е» отчёта) и суммарное количество данных записей на чертеже (count()). Сложим все вместе: ="Поз."+off(0;-6)+"(S="+off(0;-2)+"мм, "+count()+"шт.)". В «кавычках» просто текстовые константы, которые будут добавляться в нужное место строки

    02:54 Теперь нам нужно просто передать вычисленное в столбце «G» значение во вторую строку «позиционной выноски» =sum(ctlsetValue(off(0;-1);Object.String2)). Функция ctlsetValue в качестве первого аргумента принимает значение «ЧТО передавать» (off(0;-1)), а второй аргумент «КУДА передавать» (Object.String2)

    03:34 После закрытия диалога «Редактора таблиц» мы видим, что у четырёх «позиционных выносок», расположенных на слое «Example», появились значения во второй строке, соответствующие вычисленным в отчёте.

    03:37 При переносе «Позиционных выносок» на разные слои вторая строка выносок, попавших на слой «Example» автоматически пересчитывается.

    04:48 Теперь мы должны найти одинаковые «позиционные выноски». Заходим в диалог «Группировка и объединение» и создаём правила для «Объединения» , «Группировки» и «Сортировки». Задаём объединение по "С" и "D" и группировку по "Е". Теперь функция count() в колонке «G» считает нам количество сгруппированных строк. Например: Поз.2 (S=2мм, 3шт.)

    04:59 Теперь расчётные данные предаются в объект. Но, при изменении условия выборки, ничего не меняется в уже установленных объектах. Так как при изменении слоя они автоматически пропадают из выборки и, соответственно, из отчёта. 05:11 Мы можем отредактировать «позиционную выноску» через диалог или через свойства платформы, но для полного счастья нам хотелось бы добиться полной автоматизации.

    05:15 Заходим в диалог «Редактирование таблицы» и создаём новый отчёт. Нажимаем «Выбрать исходные объекты» и, Указав «Позиционную выноску», добавляем условие, что выбор по все слоям кроме «Example».

    05:57 В любой столбец нового отчёта, кроме «А», вставляем =sum(ctlsetValue(off(0;-1);Object.String2)). Теперь, при переносе «Позиционной выноски» со слоя «Example» на любой другой слой, значение второй строки выноски будет «обнуляться» 06:20 Группируем отчёт по столбцу «А»

    06:40 Проверяем работу

    07:20 Воспользуемся созданным отчётом, как прототипом для работы с абсолютно другим объектом.

    07:27 Для этого нам нужно поменять источник данных для отчёта на «Параметрический объект»

    07:41 Изменить источник строк столбца «В» на «=Object.sPartName» и целевой параметр в столбце «Н» на =sum(ctlsetValue(off(0;-1);Object.sPoz)).

    08:22 Так как слово «Поз.» уже присутствует в параметрическом объекте, мы легко можем модифицировать строку в ячейке «G» - просто удалив “Поз. “+

    09:07 Редактируем "источник данных" и "строк" второго отчёта в таблице.

    Разбор строки subSplit и ctlSetValue.dwg

    • Like 1
    • Thanks 2

  16. 5 минут назад, Mитька сказал:

    Я скорее, просто взаимосвязь "таблица" ---> "параметрика" ---> "графика".

    Жаль. Это основное преимущество нашего ПО.

    Там где-то  идет вебинар по 20.1

    Ветка 33хх теперь из таблиц можно управлять объектами (СПДС) в чертеже


  17. 18 минут назад, Mитька сказал:

    Наше дело простое...

    у меня тем более ничего сложного не может быть. Просто значит технологично в производстве и надежно в работе

    Выравние uText в зависимости от угла вставки.mcd


  18. 11 минут назад, Mитька сказал:

    Согласен

    Подозреваю, что-то похожее

    добавлено через 4 минут
    11 минут назад, Mитька сказал:

    А это вообще ненужная операция, текст ведь УЖЕ внутри скрипта...

    Когда как и не всегда горизонтально

    UText(mp+oX+oY*(B/2+15),iff(angleTwoPi(oX,gX)>90;iff(angleTwoPi(oX,gX)>270;0;DegToRad(180))),iff(rCheck==1;hText*rSymScl/rScl;hText),1,-10.0000,"%%U"+sText+iff(rCheck3!=1;("A="+A);""),iff(angleTwoPi(oX,gX)>90;iff(angleTwoPi(oX,gX)>270;0,2;2,1));

     


  19. 2 часа назад, AlExTs сказал:

    Выноска - это ведь такой же объект БД. Или я ошибаюсь?

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

    добавлено через 2 минуты
    46 минут назад, Mитька сказал:

    хитрый способ разложить текст на буквы

    Шрифты все разные по ширине


  20. 1 минуту назад, dromandon сказал:

    по-идее, решением данной задачи, должна быть функция, которая определяла бы количество символом в текстовой строке. Я такой, к сожалению, не встречал(

    у каждого символа Своя ширина "знакоместа". Это не решит проблему

×
×
  • Создать...