Jump to content

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


Recommended Posts

в OnChangeParameters делаешь проверку на new первого параметра.. если изменился присваиваешь ему значение new и идешь на пересчет для второго аналогично

----

 

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

 

Вот я не врубаюсь как проверку сделать(

Изменился у меня параметр который в миллиметрах - как мне узнать, что он изменился через свойства? Так что ли?

 if(Sm2 != new.Sm2)
{
 Sm2 = new.Sm2;
 Smm2 = new.Sm2*1000000;
}
if(Smm2 != new.Smm2)
{
 Smm2 = new.Smm2;
 Sm2 = new.Smm2/1000000;
}

Но это же фигня получается, разве нет?)

Edited by dromandon
Link to comment
Share on other sites

if(Sm2 != new.Sm2){
    Sm2 = new.Sm2;
    Smm2 = Sm2/1000000;
} else if (Smm2 != new.Smm2) {//шоб два раза не гонять
    Smm2 = new.Smm2;
    Sm2 = Smm2*10000
}

-------------

пробуй так

Edited by doctorraz
  • Like 3
Link to comment
Share on other sites

if(Sm2 != new.Sm2)

{

Sm2 = new.Sm2;

Smm2 = Sm2/1000000;

}

if(Smm2 != new.Smm2)

{

Smm2 = new.Smm2;

Sm2 = Smm2*10000

-------------

пробуй так

 

 

Попробовал и это не работает)

Естественно я не тупо скопировала, а поправил)

 if(Sm2 != new.Sm2)
{
 Sm2 = new.Sm2;
 Smm2 = Sm2*1000000;
}
if(Smm2 != new.Smm2)
{
 Smm2 = new.Smm2;
 Sm2 = Smm2/1000000;
}

 

Получается, что работает второй иф.

Я меняю величену, которая в мм2 - та, которая в м2 тоже меняется. Но не наоборот. Когда пробую поменять величину в м2, она тупо не меняется)

  • Like 1
Link to comment
Share on other sites

if(Sm2 != new.Sm2){
 Sm2 = new.Sm2;
 Smm2 = Sm2/1000000;
} else if (Smm2 != new.Smm2) {//шоб два раза не гонять
 Smm2 = new.Smm2;
 Sm2 = Smm2*10000
}

-------------

пробуй так

 

Во, эт работает))

забыл про конструкцию else if)

 

Спасибо!

Edited by dromandon
  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Вопрос.
Есть таблицы в параметрическом объекте.
Делаю фильтр по таблице:
 

SelectInCache( 0, "kFirst", "a", "=", b, "c", ">=", d);

Получается так, что таких значений много.
Как сделать так, чтобы "с" была >= "d", но при этом наименьшей из возможных?

Edited by dromandon
  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Добавил в загрузки параметрический объект ограждения с шаблоном.
Каких-то "крутостей" в нём нет, обычный объект для собственного пользования, но может кому будет интересен)


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

Edited by dromandon
  • Like 3
Link to comment
Share on other sites

  • 1 month later...

Можно ли как-то откулючить отображение в объекте точек?
Пример, есть перечень точек:
 

		NGrip = 8;
		pntGrip0 = pntOrigin;
		pntGrip1 = pntOrigin + vecDirection*(x5) + vecPlane*(y5);
		pntGrip2 = pntOrigin + vecDirection*(x4) + vecPlane*(y4);
		pntGrip3 = pntOrigin + vecDirection*(x3) + vecPlane*(y3);
		pntGrip4 = pntOrigin + vecDirection*(x7) + vecPlane*(y7);
		pntGrip5 = pntOrigin + vecDirection*(x2) + vecPlane*(y2);
		pntGrip6 = pntOrigin + vecDirection*(x1) + vecPlane*(y1);
		pntGrip7 = pntOrigin + vecDirection*(x6) + vecPlane*(y6);

Для них далее описано поведение.
Но вот я хочу, чтобы при определённом условии, у меня отображались только первые 4 точки.
А при другом условии, только 1, 4, и 7.
А при третьем, только 2 и 7
И т.д.
Это реально реализовать?

Edited by dromandon
Link to comment
Share on other sites

2 минуты назад, Economy cop сказал:

длину выносной полочки у универсального маркера?

Добить пробелов? или я вас не правильно понял?)

Спойлер

6B5RNq7ylf.gif.ab59407322224727562777c119aa6486.gif

 

  • Like 1
Link to comment
Share on other sites

7 часов назад, Economy cop сказал:

Подскажите как изменить длину выносной полочки у универсального маркера?

Обычно под полочкой подразумевается текст на выносной линии. напишите текст с $ , Начертите под ним линию по размеру текста и сделайте блок, Можете несколько блоков,
img-2020-03-05-21-30-23.png.e9a81be054369944f7f0ec03dfc2b8ec.png

Выноска Алексей.dwg Маркеры в группе с точкой.mcd

Link to comment
Share on other sites

8 часов назад, Economy cop сказал:

универсального маркера

не правильно понял, что-то про выноску подумал)
Если хотите, чтобы полка увеличилась за текстом, можно вместо того, чтобы делать маркер с отрезком, просто подчеркнуть текст, либо приписать %%U

Edited by dromandon
  • Like 1
Link to comment
Share on other sites

8 часов назад, Economy cop сказал:

Добрый день, коллеги. Есть маленький вопросик. Подскажите как изменить длину выносной полочки у универсального маркера?

кстати, есть в теме про маркеры

Link to comment
Share on other sites

  • 2 months later...

Нужна помощь.
Есть параметрический объект, состоящий из 8 точек - базавая и ещё 7, все можно передвигать, объект работает по сути, как полилиния с 8 вершинами.
Использую команду растянуть - если не захватывать базовую точку, то под команду растяжения попадают только точка с наименьшим порядковым номером.

Спойлер
Спойлер

 

1908378756_.png.6e9730088cf6ab9a003b26bab4573dce.png

Почему название точек не совпадает с координатами не спрашивайте, исторически так сложилось)

Это глюк или можно что-то сделать, чтобы работало нормально?

Нанокад СПДС 6.0
Объект прикрепляю

Для примера на форум.mcd

Edited by dromandon
Link to comment
Share on other sites

4 часа назад, dromandon сказал:

Использую команду растянуть - если не захватывать базовую точку, то под команду растяжения попадают только точка с наименьшим порядковым номером.

Не сталкивался с таким.

Стараюсь делать проще.

  • Like 1
Link to comment
Share on other sites

3 часа назад, MCAD сказал:

Не сталкивался с таким

А есть возможность проверить в последней версии СПДС?
Это баг? или так и должно работать? 
Если так и должно работать, то как сделать, чтобы работало как мне надо? :D
А если баг, то напишу в соответствующую тему)

Link to comment
Share on other sites

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

Для примера на форум.mcd

Edited by dromandon
  • Like 4
Link to comment
Share on other sites

  • 4 weeks later...

В контексте вот этого:

И вот этого:

Нет ни у кого ручками сделанного объекта, аналогичного по геометрии и поведению "Обозначению позиции" из базы?

image.png.ef5a2308f6264a30eb37bd765d71fcf6.png

Да, сделать не особо долго (хотя затык с круговым вращением линии-выноски, полагаю, будет), но мож у кого готовый есть и подогнанный под настройки оформления?

добавлено через 4 минут

Хотя, пожалуй, разберусь :huh:

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

 

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

Да, сделать не особо долго (хотя затык с круговым вращением линии-выноски, полагаю, будет), но мож у кого готовый есть и подогнанный под настройки оформления?

"Шаблон объекта" почему не сделать? 

Link to comment
Share on other sites

  • 2 weeks later...

Добрый день!

Задача: в исполнении объекта есть текст и отрезок. Длина отрезка должна меняться в зависимости от длины текста, так же, как у обычной позиционной выноски.

Это возможно?

Может быть у кого-то есть скрипт выноски?

  • Like 1
Link to comment
Share on other sites

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

Длина отрезка должна меняться в зависимости от длины текста

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

  • Like 1
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...