Перейти к содержанию
swell{d}

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

Рекомендуемые сообщения

Извиняюсь. Не правильно понял вопрос. :-(

В поставке Примеры / Замер площади - Это не оно?

 

img-2019-09-10-16-04-43.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в 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;
}

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

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

пробуй так

Изменено пользователем doctorraz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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, она тупо не меняется)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

пробуй так

 

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

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

 

Спасибо!

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно. Сейчас выбирает наименьшее, когда писал - прыгало от значение к значению =\

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если кто пользуется, то обновил обрезку, добавил перекрытие примитивов)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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


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

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

		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
И т.д.
Это реально реализовать?

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Economy cop сказал:

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

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

Спойлер

6B5RNq7ylf.gif.ab59407322224727562777c119aa6486.gif

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, Economy cop сказал:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, Economy cop сказал:

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

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

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, Economy cop сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

1908378756_.png.6e9730088cf6ab9a003b26bab4573dce.png

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

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

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

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

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, dromandon сказал:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, MCAD сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...