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


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


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

#361 MCAD

    Активист

  • Пользователи
  • PipPipPipPip
  • 953 сообщений
  • Пол:Мужчина

Отправлено 11 Июль 2018 - 06:55

Просмотр сообщенияMитька (11 Июль 2018 - 03:51) писал:

Механика работы: проводишь объект-линию, задаёшь ей числовые значения начала конца и шаг, и линия превращается в шкалу, где графически линиями и текстом выделены определенные промежуточные значения.


Это не ОНО?


Прикрепленный файл  img-2018-07-11-09-52-38.png   66,51К   2 Количество загрузок:
ii=0;
While(ii<(N_VERT));
   jj=0;
   While(jj<(1));
  Line(node13+OY*(H)*ii+OX*(0)*jj,mp+OY*(H)*ii+OX*(0)*jj,1,1);
  Line(node14+OY*(H)*ii+OX*(0)*jj,node0+OY*(H)*ii+OX*(0)*jj,1,1);
  jj=jj+1;
EndWhile;
ii=ii+1;
EndWhile;
ii=0;
s0="А";s1="Б";s2="В";s3="Г";s4="Д";s5="Е";s6="Ж";s7="И";s8="К";s9="Л";s10="М";s11="Н";s12="П";s13="Р";
s14="С";s15="Т";s16="У";s17="Ф";s18="Ш";s19="Э";s20="Ю";s21="Я";
s22="АА";s23="ББ";s24="ВВ";s25="ГГ";s26="ДД";s27="ЕЕ";s28="ЖЖ";s29="ИИ";s30="КК";s31="ЛЛ";s32="ММ";s33="НН";s34="ПП";s35="РР";
s36="СС";s37="ТТ";s38="УУ";s39="ФФ";s40="ШШ";s41="ЭЭ";s42="ЮЮ";s43="ЯЯ";
//Ё, З, Й, О, X, Ц, Ч, Щ, Ъ, Ы, Ь  Буквы запрещенные ГОСТ
//s26="Н";s27="О";s28="П";s29="Р";
//s30="А";s31="Б";s32="В";s33="Г";s44="Д";s35="Е";s36="Ж";s37="И";s38="К";s39="Л";s40="М";s411="Н";s42="О";s33="П";s44="Р";
//АБВГДЕЖЗИКЛМНПР СТУФЦЧШЩЭЮЯ

bulge=1;
While(ii<(1));
   jj=0;
   While(jj<(N_HORIZ+1));
  Line(node15+OY*(0)*ii+OX*(L)*jj,node16+OY*(0)*ii+OX*(L)*jj,2,1);
  Arc(node17+OY*(0)*ii+OX*(L)*jj,node18+OY*(0)*ii+OX*(L)*jj,bulge,2,1);
  Arc(node18+OY*(0)*ii+OX*(L)*jj,node17+OY*(0)*ii+OX*(L)*jj,bulge,2,1);
  UText(getMiddle(node17,node18)+(L*jj)*OX-0*OY, 0, 300, 0, 0, s[jj] ,[,1 ,1]);
  jj=jj+1;

Совсем простой вариант: Прикрепленный файл  Шкала.zip   18,61К   2 Количество загрузок:
Прикрепленный файл  img-2018-07-11-10-58-04.png   1,06К   3 Количество загрузок:

Сообщение отредактировал MCAD: 11 Июль 2018 - 08:10

«Если мы сумеем определить аэродинамику полета майского жука, мы или обнаружим какое-то несовершенство современной теории полета насекомого, или откроем, что майский жук обладает каким-то неизвестным нам способом создания высокой подъемной силы».

© Леон Беннет


#362 dromandon

    Активист

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

Отправлено 12 Июль 2018 - 10:46

А подскажите как внутри скрипта исполнения объекта пользоваться командой "if"?
Просто давно каким-то чудом выяснил, что если внутри UText угол поворота текста прописать как DegToRad(-angleTwoPi(oX,gX)), то получится так, что текст всегда будет повёрнут горизонтально.
И теперь я хочу, чтобы в зависимость от текущего значения angleTwoPi(oX,gX) менялась привязка текста по горизонтали и вертикали, т.е эти переменные
UText(Point, Angle, Height, XScaling(widthfactor), Oblique,"Text",[HorizontalAlignment, VerticalAlignment]);
То есть, если кратко на словах, то
при 0<angleTwoPi(oX,gX)<90, HorizontalAlignment =1 и VerticalAlignment=1
при 90<angleTwoPi(oX,gX)<180, HorizontalAlignment =1 и VerticalAlignment=2
и т.п.
Но всё это надо прописать как-то в теле скрипта исполнения, ибо внутри скрипта объекта angleTwoPi(oX,gX) не меняется(
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#363 MCAD

    Активист

  • Пользователи
  • PipPipPipPip
  • 953 сообщений
  • Пол:Мужчина

Отправлено 12 Июль 2018 - 16:10

Просмотр сообщенияdromandon (12 Июль 2018 - 10:46) писал:

при 0<angleTwoPi(oX,gX)<90, HorizontalAlignment =1 и VerticalAlignment=1
при 90<angleTwoPi(oX,gX)<180, HorizontalAlignment =1 и VerticalAlignment=2
Например, если выравнивание по горизонтали:
UText(mp+oX+oY*(50),0,2*rSymScl/rScl,1,-10.0000,"Test",iff(angleTwoPi(oX,gX)>=0;iff(angleTwoPi(oX,gX)<=90;0;2)),iff(angleTwoPi(oX,gX)>=0;iff(angleTwoPi(oX,gX)<=90;2;1)));
Прикрепленный файл  img-2018-07-12-19-06-45.png   11,25К   0 Количество загрузок:
Прикрепленный файл  Выравние uText в зависимости от угла вставки.zip   18,73К   4 Количество загрузок:

«Если мы сумеем определить аэродинамику полета майского жука, мы или обнаружим какое-то несовершенство современной теории полета насекомого, или откроем, что майский жук обладает каким-то неизвестным нам способом создания высокой подъемной силы».

© Леон Беннет


#364 Kreator

    Активист

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

Отправлено 12 Июль 2018 - 16:12

Вспомнилось, как крутил что-то подобное в MS Visio :)
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 10.1.4493.2427; MultiCAD.NET

#365 MCAD

    Активист

  • Пользователи
  • PipPipPipPip
  • 953 сообщений
  • Пол:Мужчина

Отправлено 12 Июль 2018 - 16:40

Просмотр сообщенияKreator (12 Июль 2018 - 16:12) писал:

Вспомнилось, как крутил что-то подобное в MS Visio :)
Чаще приходится выравнивать по горизонтали:

«Если мы сумеем определить аэродинамику полета майского жука, мы или обнаружим какое-то несовершенство современной теории полета насекомого, или откроем, что майский жук обладает каким-то неизвестным нам способом создания высокой подъемной силы».

© Леон Беннет


#366 dromandon

    Активист

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

Отправлено 12 Июль 2018 - 17:19

Доработал объект "шкала" из этого сообщения, вдруг кому понадобится

Прикрепленные файлы


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

ткнуть тут

#367 MCAD

    Активист

  • Пользователи
  • PipPipPipPip
  • 953 сообщений
  • Пол:Мужчина

Отправлено 12 Июль 2018 - 17:45

Просмотр сообщенияdromandon (12 Июль 2018 - 17:19) писал:

Доработал объект "шкала" из этого сообщения, вдруг кому понадобится
Там симбиоз разных объектов :D
  UText(node1+oX*step*jj+oY*5*rSymScl/rScl, DegToRad(-angleTwoPi(oX,gX)),2.5*rSymScl/rScl,0,0, String(K+jj*s)+String(PC),
  iff(angleTwoPi(oX,gX)>=0;iff(angleTwoPi(oX,gX)<60;1;
  iff(angleTwoPi(oX,gX)>=60;iff(angleTwoPi(oX,gX)<120;2;
  iff(angleTwoPi(oX,gX)>=120;iff(angleTwoPi(oX,gX)<240;1;
  iff(angleTwoPi(oX,gX)>=240;iff(angleTwoPi(oX,gX)<300;0;
  iff(angleTwoPi(oX,gX)>=300;iff(angleTwoPi(oX,gX)<360;1)))))))))),1);
	jj=jj+1;
};
Прикрепленный файл  img-2018-07-12-20-44-30.png   9,23К   0 Количество загрузок:

«Если мы сумеем определить аэродинамику полета майского жука, мы или обнаружим какое-то несовершенство современной теории полета насекомого, или откроем, что майский жук обладает каким-то неизвестным нам способом создания высокой подъемной силы».

© Леон Беннет


#368 dromandon

    Активист

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

Отправлено 18 Июль 2018 - 17:19

Намутил такую штуку
https://www.youtube....h?v=DTaoDYQ3bEU

Сам объект дорабатывается, хочу прикрутить ещё армирование, конечно, со спецификацией автоматом.
Но пока, сверх того, что есть, прикрутил только плитку :D
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#369 dromandon

    Активист

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

Отправлено 25 Июль 2018 - 11:10

HELP!
Есть параметрический объект с приличным набором параметров. Один из них (пока один, в будущем собираюсь делать больше) завязан на таблице. Но вот беда - если этот параметр менять через меню свойств, а не через форму, то в меню свойство его значение исчезает, если оно не подходит табличному. Хотя, по логике скрипта, должно выбираться ближайшее наибольшее из таблицы. Что, собственно, на самом деле и происходит, но в меню свойств значения этого параметра просто пропадает..
При этом, если из этого объекта удалить все другие параметры, то всё будет работать корректно.
Есть решение какое-нибудь по этому вопросу?
Видео прилагаю: https://youtu.be/mzZXHa8Ftfs
Нанокад СПДС 6.0

Сообщение отредактировал dromandon: 25 Июль 2018 - 11:10

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

ткнуть тут

#370 dromandon

    Активист

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

Отправлено 25 Июль 2018 - 12:53

Разобрался.
Случайно дал разным переменным одно и то же описание.
У меня было
D1,"Диаметр нижней продольной арматуры",
и
D3,"Диаметр нижней продольной арматуры",
Прошу прощения за кипишь :rolleyes:
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#371 dromandon

    Активист

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

Отправлено 25 Июль 2018 - 17:15

А возможно ли создать контур подавления объекта СПДС, чтобы тот перекрывал линии, создаваемые внутри объекта?
Как пример - в одном объекте у меня есть и продольная и поперечная арматура.
И вот я хочу чтобы поперечная армутра, перекрывала продольную. Но чтобы это было не два объекта с разным порядком следования, а один.
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#372 MCAD

    Активист

  • Пользователи
  • PipPipPipPip
  • 953 сообщений
  • Пол:Мужчина

Отправлено 25 Июль 2018 - 20:44

Просмотр сообщенияdromandon (25 Июль 2018 - 17:15) писал:

А возможно ли создать контур подавления объекта СПДС, чтобы тот перекрывал линии, создаваемые внутри объекта?
Не реально. Можно просто пересчитать геометрию внутри.
Прикрепленный файл  img-2018-07-25-23-37-50.png   9,24К   2 Количество загрузок:
Прикрепленный файл  ГЦ.zip   46,53К   1 Количество загрузок:

Просмотр сообщенияdromandon (25 Июль 2018 - 17:15) писал:

Как пример - в одном объекте у меня есть и продольная и поперечная арматура.
Тут "Массив" напрашивается (spwizarr)

Прикрепленный файл  img-2018-07-25-23-19-38.png   1,78К   2 Количество загрузок:

Прикрепленный файл  Сетка копия .zip   154,01К   1 Количество загрузок:

«Если мы сумеем определить аэродинамику полета майского жука, мы или обнаружим какое-то несовершенство современной теории полета насекомого, или откроем, что майский жук обладает каким-то неизвестным нам способом создания высокой подъемной силы».

© Леон Беннет


#373 dromandon

    Активист

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

Отправлено 25 Июль 2018 - 21:14

Просмотр сообщенияMCAD (25 Июль 2018 - 20:44) писал:

Просмотр сообщенияdromandon (25 Июль 2018 - 17:15) писал:

А возможно ли создать контур подавления объекта СПДС, чтобы тот перекрывал линии, создаваемые внутри объекта?
Не реально. Можно просто пересчитать геометрию внутри.

Жаль, что не реально, геометрию геморно было передать, хоть и реально, как оказалось)

Просмотр сообщенияMCAD (25 Июль 2018 - 20:44) писал:

Тут "Массив" напрашивается (spwizarr)

Массивом пользуюсь. Даже догадался штриховку в объект добавить, но не до конца разобрался в скрипте её. Поэтому бросил. А ща понял, что вся ошибка в том была, что в конце End() не ставил :D
Михаил Давтян. Проектирование общественных и жилых зданий.
Обладаю навыком упрощения долгой и скучной работы.

ткнуть тут

#374 dromandon

    Активист

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

Отправлено 26 Июль 2018 - 15:48

Помогите решить задачку.
Есть объект, в нём таблица Table0 с переменной D1 (real) - нужные мне диаметры.
вбиваю эту переменную в Public и Changeable
далее прописываю
function OnInitialization {
SelectInCache( 0, "kFirst", "D1", "=", 10);
}
function OnChangeParameters {
SelectInCache( 0, "kFirst", "D1", ">=", new.D1);
}

И потом возникает следующая ситуация.
Объект находится на чертеже - меняю через свойство параметр D1 - всё работает как следует.
Открываю форму - там таблица с фильтрацией - переменная TableEdit_0 в которой одна колонка с D1.
Изменяю значение D1 через эту таблицу, жму ОК - всё прекрасно работает.

Но возникла надобность ввести D1 в форме не через таблицу с фильрацией, а через обычную строку.
Беру строку, задаю ей переменную D1. Меняю, жму ОК - не работает, объект не изменился.
Захожу снова в форму, меняю D1, жму "Применить" - смотрю на объект - он изменился. Жму ОК - объект сбрасывается на значение, которое было до открытия диалога формы.

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

ткнуть тут

#375 doctorraz

    Активист

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

Отправлено 26 Июль 2018 - 15:55

так пробуй
function OnDialogChanged {
  D1=new.D1;
   SelectInCache( 0, "kFirst", "D1", ">=", D1);
}

Сообщение отредактировал doctorraz: 26 Июль 2018 - 15:56


#376 dromandon

    Активист

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

Отправлено 26 Июль 2018 - 16:08

Просмотр сообщенияdoctorraz (26 Июль 2018 - 15:55) писал:

так пробуй
function OnDialogChanged {
  D1=new.D1;
   SelectInCache( 0, "kFirst", "D1", ">=", D1);
}

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

ткнуть тут

#377 doctorraz

    Активист

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

Отправлено 26 Июль 2018 - 16:15

объект секретный?

#378 dromandon

    Активист

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

Отправлено 26 Июль 2018 - 16:48

Просмотр сообщенияdoctorraz (26 Июль 2018 - 16:15) писал:

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

ткнуть тут

#379 dromandon

    Активист

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

Отправлено 26 Июль 2018 - 16:55

Вот

Прикрепленные файлы


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

ткнуть тут

#380 MCAD

    Активист

  • Пользователи
  • PipPipPipPip
  • 953 сообщений
  • Пол:Мужчина

Отправлено 27 Июль 2018 - 06:58

Просмотр сообщенияdromandon (26 Июль 2018 - 15:48) писал:

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

Так попробуй:Прикрепленный файл  Диаметр D1.zip   110,57К   1 Количество загрузок:

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

Прикрепленный файл  img-2018-07-27-09-47-45.png   21,18К   0 Количество загрузок:

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

«Если мы сумеем определить аэродинамику полета майского жука, мы или обнаружим какое-то несовершенство современной теории полета насекомого, или откроем, что майский жук обладает каким-то неизвестным нам способом создания высокой подъемной силы».

© Леон Беннет






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

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