Jump to content

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


Recommended Posts

так пробуй

function OnDialogChanged {
 D1=new.D1;
  SelectInCache( 0, "kFirst", "D1", ">=", D1);
}

 

Безрезультатно =(

Точнее результат есть - он прежний

Link to comment
Share on other sites

жму "Применить" - смотрю на объект - он изменился. Жму ОК - объект сбрасывается на значение, которое было до открытия диалога формы.

 

Так попробуй:Диаметр D1.zip

 

И посмотри как сделано, например, в:

 

img-2018-07-27-09-47-45.png

 

Я сам сильно не вникал :-(

Link to comment
Share on other sites

Так попробуй:Диаметр D1.zip

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

 

И посмотри как сделано, например, в:

 

post-23-0-63356800-1532663778.png

 

 

В данном примере в форме изменение идут через таблицу с фильтрацией, я же хочу в форме менять вбивая цифру в строку, так как диаметров в объекте будете минимум 4 штуки и все их выбирать через таблицу будет не удобно...

 

В итоге хотелось бы, чтобы выглядело как-то так

 

post-65588-0-98083500-1532674304.png

 

  • Like 1
Link to comment
Share on other sites

То ли лыжи не едут, то ли я...

Добавил ещё диаметр, он не хочет вести себя по логике первого..

При этом если и функции "test" убрать строку

SelectInCache( 0, "kFirst", "D1", ">=",D1);

и оставить только

SelectInCache( 1, "kFirst", "D2", ">=",D2);

то второй диаметр будет изменяться...

:(

Два диаметра.zip

Link to comment
Share on other sites

То ли лыжи не едут, то ли я...

Добавил ещё диаметр, он не хочет вести себя по логике первого..

При этом если и функции "test" убрать строку

SelectInCache( 0, "kFirst", "D1", ">=",D1);

и оставить только

SelectInCache( 1, "kFirst", "D2", ">=",D2);

то второй диаметр будет изменяться...

:(

 

Решил создание отдельных функций

function test1{
LoadInCache(D1);
SelectInCache( 0, "kFirst", "D1", ">=",D1);
};
function test2{
LoadInCache(D2);
SelectInCache( 1, "kFirst", "D2", ">=",D2);
};

 

И назначением их на изменение в соответствующих строках в форме)

Два диаметра - работает.7z

Edited by dromandon
Link to comment
Share on other sites

  • 3 weeks later...

Не знаю, хватит ли данных для ответа на вопрос или нет, но мож это типичная проблема, а мож я просто туплю...

 

Нано 6.0. Беру из базы существующий уголок, ГОСТ не принципиален. Пытаюсь добавить новые исполнения.

 

Создаю 2 новых исполнения, по 2 вида на каждое, задаю геометрию. Завязываю тип исполнения на переменную.

 

Вношу следующие корректировки:

 

function ActHeader {

simple, "Номер исполнения (0/1/2)",

Changeable( simple )

function OnInitialization {

simple=0;

strDesignName = "Implementation 1";

function OnMakeParameters {

if (simple==0) {strDesignName = "Implementation 1"};

if (simple==1) {strDesignName = "Implementation 2"};

if (simple==2) {strDesignName = "Implementation 3"};

if (lViewType == VTOP) {simple=0};

if (simple!=2)(if (simple!=1) {simple=0});

function OnDialog {

LoadInCache( b,s);

strRefDataHeader = "------";

UniDialog( DBFLD, b, s,

DBINF, mas1,

BFLD, bHid, @HIDDEN_LINES,

VFLD, L,@ANGLE_LENGTH,

 

strRefDataHeader,@REFERENCE_DATA_,

A, @A__CM2,

Ix, @I_X__CM4,

Wx, @WX__CM3,

ix, @IX__CM,

Ix0, @IX0__CM4,

ix0, @IX0__CM,

Iy0min, @IY0MIN__CM4,

iy0min, @IY0MIN__CM,

Wy0,@WY0__CM3,

Ixy,@IXY__CM4,

x0, @X0__CM,

VIDS, strDesignName, "All",

TVIDS,lViewType,"All",VIEW,"Vids"

);

};

 

function OnDialogChanged{

ShowDesign(1, "Implementation 1");

ShowDesign(1, "Implementation 2");

ShowDesign(1, "Implementation 3");

 

function OnChangeParameters {

simple=new.simple;

 

Более никаких изменений не вношу.

Итого, если менять переменную simple из свойств (0/1/2), всё работает прекрасно (т.е. в геометрии новых видов проблем нет), но через Диалог она не меняется вообще. Курсор перемещается по исполнениям, включается предварительный просмотр исполнения, но когда жмёшь ОК, результат нулевой.

Никогда не пользовался диалогами, либо формой, либо свойствами.

Что я делаю не так?

post-62063-0-23525200-1534321208.jpg

Link to comment
Share on other sites

Не знаю, хватит ли данных для ответа на вопрос или нет,

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

 

 

Создаю 2 новых исполнения, по 2 вида на каждое, задаю геометрию.

Я догадываюсь, что это нужно для изменения представления всех объектов "одним кликом" и получения КМД из КМ и наоборот?

Как вариант:

http://www.youtube.com/watch?v=3sX0weTUSSU&index=26&t=0s&list=PLxzNmJ3Maam7pWN5KD8NbMmYrZQbNRlhD

Смотреть лучше на Ютубе. На форуме не видно аннотаций.

 

PS: Если вы редактируете объект, то наверное проще его локализовать!

http://www.youtube.com/watch?v=j1mF2KZ5XuQ&list=PLxzNmJ3Maam67e9mrRIXhkdP-9e0VY9hG&index=14&t=0s#

 

Локализация скрипта
  • Like 3
Link to comment
Share on other sites

лучше один раз увидеть)))

при зеркалировании объект пишет внутренний номер проекции.. , но после открытия в форме меняет на правильный текущий..

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

Вот прям не нарадуюсь на этот ваш кубик. Наглядная такая штука. :wub:

Link to comment
Share on other sites

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

Объект тут: https://drive.google...iew?usp=sharing

Я догадываюсь, что это нужно для изменения представления всех объектов "одним кликом" и получения КМД из КМ и наоборот?

Да, именно за этим. Мне так-то и из свойств изменения хватит, но хочется же идеально...

 

Видюшки гляну, спасибо! Глянул, да, локализовать проще. Было бы. =) Если б я уже, как есть не сделал. ^_^ Т.е. оно уже всё сделано и работает, как хотелось. За исключением вот этой мелочи. Я её в последний момент обнаружил, т.к. всё делал из свойств. ТАк что сейчас локализация будет просто приятным облагораживающим дополнением.

А с листами мы, к сожалению не работаем. Но есть необходимость в переключении КМ-КМД... Так проще жить.

 

Кстати, при "Синтаксическом анализе" скрипта (вроде как раз этого самого) он выдаёт, что "Обнаружено нечётное число кавычек", но я хоть убей не вижу, где... Даже спецом копировал в Ворд выделял все цветом и пересчитывал... Это я невнимательный или так бывает..?

 

Доп: ещё занятное наблюдение по части именно этого объекта: порядок свойств не соответствует тому, в котором они перечислены в function ActHeader и если добавлять в него еще переменные, "Свойства" начинают рандомно перетасовываться, как хотят...

Edited by Mитька
  • Like 1
Link to comment
Share on other sites

Доп: ещё занятное наблюдение по части именно этого объекта: порядок свойств не соответствует тому, в котором они перечислены в function ActHeader и если добавлять в него еще переменные, "Свойства" начинают рандомно перетасовываться, как хотят...

 

И это более всего раздражает, т.к. причину я даже представить себе не могу. В случае с диалогом-то понятно: я скорее всего просто что-то важное где-то про...л. А в этом случае... :wacko:

Link to comment
Share on other sites

чет даже не знаю... вроде все соответствует

 

post-64306-0-24140800-1534409292.png

 

 

post-64306-0-48710200-1534409298.png

 

может свойств слишком мало <_<

upd: или ты имел в виду порядок свойств в униформе?

Edited by doctorraz
Link to comment
Share on other sites

почему ты решил, что порядок свойств в унидиалоге определяет function ActHeader, а не function OnDialog?

в соответствии с порядком в function ActHeader будет порядок свойств в окне свойств объекта...

порядок в унидиалоге задается в его описании...

если я ниче не путаю))

Edited by doctorraz
Link to comment
Share on other sites

на картинках выше показал, копейка в копейку... правда это не нана... но думаю не принципиально...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт? Tell a friend!
×
×
  • Create New...