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


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


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

#361 MCAD

    Активист

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

Отправлено 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
  • 106 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 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
  • 898 сообщений
  • Пол:Мужчина

Отправлено 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К   1 Количество загрузок:

#364 Kreator

    Активист

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

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

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

#365 MCAD

    Активист

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

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

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

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


#366 dromandon

    Активист

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

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

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

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


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

ткнуть тут

#367 MCAD

    Активист

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

Отправлено 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
  • 106 сообщений
  • Пол:Мужчина
  • Город:Калининград

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

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

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

ткнуть тут





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

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