Перейти к содержимому


параметрические объекты СПДС


Сообщений в теме: 571

#461 dromandon

    Активист

  • Пользователи
  • PipPipPipPip
  • 176 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 07 Сентябрь 2018 - 12:17

Просмотр сообщенияdoctorraz (07 Сентябрь 2018 - 12:14) писал:

чессно говоря не совсем понял в чем бредовое...
в таблице СПДС у меня все работает корректно..

Прикладывал же скрин)

Просмотр сообщенияdromandon (07 Сентябрь 2018 - 11:20) писал:

Скрытый текст

он же
Прикрепленный файл  2018-09-07_10-13-59.png   139,33К   3 Количество загрузок:
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#462 dromandon

    Активист

  • Пользователи
  • PipPipPipPip
  • 176 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 07 Сентябрь 2018 - 12:20

Просмотр сообщенияdoctorraz (07 Сентябрь 2018 - 12:14) писал:

-----------
в порядке очередного бреда попробуй так..
if(HD12==0) {HD12=".000"};
if(HD12<10) {HD12=".00"+string(HD12)};
if(HD12<100) {HD12=".0"+string(HD12)};
HD13 = string(HD11)+string(HD12)
------

Пока вот таким образом решил)
http://forum.nanocad...indpost&p=53130

UPD Проблема в том, что round((1,5...2)-0,5) округляется, почему-то, до 2 внутри скрипта.

Сообщение отредактировал dromandon: 07 Сентябрь 2018 - 12:22

Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#463 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 07 Сентябрь 2018 - 12:22

выведи через ShowValue промежуточные значения в дебагер и посмотри где косячит с первым вариантом..
у те бя же параметрика?

#464 dromandon

    Активист

  • Пользователи
  • PipPipPipPip
  • 176 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 07 Сентябрь 2018 - 12:31

Просмотр сообщенияdoctorraz (07 Сентябрь 2018 - 12:22) писал:

выведи через ShowValue промежуточные значения в дебагер и посмотри где косячит с первым вариантом..
у те бя же параметрика?

Параметрика, но знал бы я как пользоваться дебагером :D
учился созданию параметрики в нано путём проб и ошибок + справка)
В справке всё что нашёл сейчас

" Функция ShowValue

ShowValue(StrMessage,Value);

Функция выводит значение переданного в качестве аргумента параметра (value), сопровождая его строкой strMessage, в окно специализированного отладчика InDebMon.exe. В качестве value может выступать любой параметр или переменная.
Пример:
ShowValue("pntOrigin", pntOrigin);
ShowValue("vecDirection", vecDirection);
ShowValue("WorkPlane WP1", WP1);
ShowValue("Dn", Dn);
ShowValue("*****************", 1);
ShowValue("OnConnect Start", 1);"

Не врубаюсь куда и что вводить(
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#465 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 07 Сентябрь 2018 - 12:39

тут качаешь http://www.spds.ru/d...es/monitor.html под свою вин
запускаешь
запускаешь нану
в скрипте вводишь типо
HD11=round((HD1-0,5);0);
ShowValue("HD11-",HD11);
HD12=round((HD1-HD11)*1000;0);
ShowValue("HD12-",HD12);
сохраняешь закрываешь свой объект...
работаешь с ним, а в окне дебагера смотришь промежуточные значения

#466 dromandon

    Активист

  • Пользователи
  • PipPipPipPip
  • 176 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 07 Сентябрь 2018 - 13:03

Просмотр сообщенияdoctorraz (07 Сентябрь 2018 - 12:39) писал:

работаешь с ним, а в окне дебагера смотришь промежуточные значения

Ну как я и сказал, при значение 1,5...2 выражение HD11=round((HD1-0,5);0); округляется до 2
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#467 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 07 Сентябрь 2018 - 13:13

0,5 - запятую на точку поменяй

#468 dromandon

    Активист

  • Пользователи
  • PipPipPipPip
  • 176 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 07 Сентябрь 2018 - 13:32

Просмотр сообщенияdoctorraz (07 Сентябрь 2018 - 13:13) писал:

0,5 - запятую на точку поменяй
Гениально, сработало)
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#469 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 07 Сентябрь 2018 - 13:40

вопрос, как оно до этого работало? Прикрепленный файл  think.gif   4,1К   0 Количество загрузок:

#470 Mитька

    Активист

  • Пользователи
  • PipPipPipPip
  • 302 сообщений
  • Пол:Мужчина
  • Город:Хабаровск

Отправлено 13 Сентябрь 2018 - 10:47

Можно же как-то вытащить в расчёты глобальную координату точки объекта?

#471 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 13 Сентябрь 2018 - 10:54

Просмотр сообщенияMитька (13 Сентябрь 2018 - 10:47) писал:

Можно же как-то вытащить в расчёты глобальную координату точки объекта?
в таблицу
=Object.OriginX
=Object.OriginY

#472 Mитька

    Активист

  • Пользователи
  • PipPipPipPip
  • 302 сообщений
  • Пол:Мужчина
  • Город:Хабаровск

Отправлено 13 Сентябрь 2018 - 10:56

Опять невнятно формулирую... Не наружу, а в скрипт самого объекта.

Сообщение отредактировал Mитька: 13 Сентябрь 2018 - 10:57


#473 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 13 Сентябрь 2018 - 11:03

Просмотр сообщенияMитька (13 Сентябрь 2018 - 10:56) писал:

Опять невнятно формулирую... Не наружу, а в скрипт самого объекта.
upd подозреваю, что никак, все коннекты и построения идут от pntBase, положение которой изнутри не отследить..
пусть знающие меня поправят.

Сообщение отредактировал doctorraz: 13 Сентябрь 2018 - 11:24


#474 Mитька

    Активист

  • Пользователи
  • PipPipPipPip
  • 302 сообщений
  • Пол:Мужчина
  • Город:Хабаровск

Отправлено 13 Сентябрь 2018 - 11:07

Ну point() c пустым значениям же вроде как умеет возвращать координаты (0,0,0), значит что-то такое да есть... Или это тоже не тот (0,0,0)..?
Проблема всё та же, что и раньше: хочется, чтоб объект, рисуемый только слева-направо, понимал, что его отзеркалили извне. Т.е. если простая проверка в начале каждой операции в формате какая координата больше: левая или правая...
Хотя... Как альтернативный вариант может прокатить проверка со- и противонаправленности векторов oX и gX.... Где-то это вроде описывалось выше... Но ещё не пробовал. Хотя по идее должно сработать...

#475 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 13 Сентябрь 2018 - 11:18

однако я неправ...
это перемещает объект в начало координат
function OnChangeParameters {
pntOrigin=Point(0,0,0);
};
значит и координаты pntOrigin можно получить

#476 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 13 Сентябрь 2018 - 11:23

так например, работает
xPnt=pntOrigin:x;
yPnt=pntOrigin:y;
но один маленький затык... какое событие в скрипте будет обновлять координату при зеркалировании?
upd можно потом запускать СПОБНОВСТАНДЕТ, тогда обновит точки вставки

Сообщение отредактировал doctorraz: 13 Сентябрь 2018 - 11:29


#477 Mитька

    Активист

  • Пользователи
  • PipPipPipPip
  • 302 сообщений
  • Пол:Мужчина
  • Город:Хабаровск

Отправлено 13 Сентябрь 2018 - 18:51

Просмотр сообщенияdoctorraz (13 Сентябрь 2018 - 11:23) писал:

но один маленький затык... какое событие в скрипте будет обновлять координату при зеркалировании?

В моём неподтвержденном экспериментами представлении - абсолютно любое редактирование. Пока объект не редактируется, его зеркальность меня не колышет, для себя самого он по-прежнему неотзеркаленный. Как только он начинает редактироваться (будь то ручки, диалог, форма или перевставка), происходит проверка и как следствие - изменение геометрии. Как-то так... Но это я ещё потестирую.

Сообщение отредактировал Mитька: 13 Сентябрь 2018 - 18:52


#478 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 13 Сентябрь 2018 - 18:57

ты отзеркалил 100500 объектов... потом их каждый редактируешь?

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

#479 Mитька

    Активист

  • Пользователи
  • PipPipPipPip
  • 302 сообщений
  • Пол:Мужчина
  • Город:Хабаровск

Отправлено 13 Сентябрь 2018 - 19:11

Коню-то понятно, но вопрос был именно в том, как дать объекту понять, что его положение в пространстве изменилось. Т.к. при открытии формы или операциях со свойствами он (объект) еще об этом не знает. Если есть менее ректальные способы - ок, в них и был изначальный вопрос.
А автоматическая отработка этого сценария сразу после зеркала - утопия вроде, как я понял..? Как минимум нужно обновление стандартных элементов.

#480 doctorraz

    Активист

  • Пользователи
  • PipPipPipPip
  • 834 сообщений
  • Пол:Мужчина
  • Город:Волгоград
  • Интересы:всё понемногу

Отправлено 13 Сентябрь 2018 - 19:21

насколько я понял работу движка.. ДА.
и это правильно, иначе после касания любой ручки мы бы получали жуткие тормоза...
не мое конечно дело, но если существующие бизнесс процессы не вписываются в программу.. проще откорректировать свои процессы... хотя бы потому, что у большинства все так как надо.. или вебеа, нет и си...
именно так я поступил, что табличные отчеты меня замедляют.. сделал спецификацию программно..
спдс движок, классный движок, но он не панацея, тем боле разработчики даже предположить не могли, чаво этим движком делать будут)))





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей