База знаний
Поиск
Вопросы и ответы
Вопросы
- Как сделать пересчет точки вставки текста стандартных деталей при динамическом выборе размеров?
- Как экспортировать библиотеки пользовательских объектов, сохраненные в х32 формат mcd, в х64?
- Есть ли в СПДС GraphiCS аналог функции Excel «ОКРУГЛВВЕРХ»?
- Как правильно написать окончание слова при формировании текстовой строки?
- Как создать диалог сообщения для случая, когда соединяемые пользовательские объекты имеют параметрическую двунаправленную зависимость равенства, но не имеют одинаковых табличных значений?
- Как вставить текст в стандартную деталь?
Ответы
Как сделать пересчет точки вставки текста стандартных деталей при динамическом выборе размеров?
Автоматического распознавания точки вставки текста не предусмотрено.
Для динамического размещения текста необходимо вручную отредактировать описание вида, заменив значение для координат динамическими параметрами.
Для иллюстрирующего примера вертикальное смещение текста при динамическом изменении высоты осуществляется заменой строкиUText(mp+oX*(0.0000)+oY*(100.0000), 0, 5.0000, 0.0000, -10.0000, ""+"Пример" + test+" ")
строкой
UText(mp+oX*(0.0000)+oY*(A), 0, 5.0000, 0.0000, -10.0000, ""+"Пример" + test+" ")
Как экспортировать библиотеки пользовательских объектов, сохраненные в х32 формат mcd, в х64?
Теперь в базу добавился новый объект.
Есть ли в СПДС GraphiCS аналог функции Excel «ОКРУГЛВВЕРХ»?
Аналог функции Excel «ОКРУГЛВВЕРХ» (округление числа до ближайшего большего по модулю) — функция СПДС «int».
Например://округлит значение H объекта 1 до целого числа вверх
=int(num(Object1.H)+0.5)
// округлит значение второго знака после запятой
=int(num(Object1.H)*100 + 0.5 )/100
Как правильно написать окончание слова при формировании текстовой строки?
Например, требуется формировать в строке спецификации в зависимости от геометрии: 1 обмотКА, 2 обмотКИ, 5 обмотОК, 21 обмотКА, и т.д.
Добавляем в скрипт условия формирования строки спецификации.
// Формируем строку спецификации
// str - массив всех возможных вариантов окончаний
// в зависимости от числительного.
str[1] = "обмотка"; // одна
str[2] = "обмотки"; // две
str[3] = "обмоток"; // пять
num = n;
// Количество обмоток (параметр участвующий в отрисовке)
// если число больше 19, оставляем от него только
// старший разряд, потому что дальше окончания повторяются:
// 22 обмотки, 32 обмотки, 122 обмотки, ...
if (num > 19) num = num - 10*int(num/10);
// 1 - обмотка
if (num == 1)
s = str[1];
// 2, 3, 4 - обмотки
else if (num < 5 && num != 0)
s = str[2];
// всё остальное (0, 5-19) - обмоток
else
s = str[3];
sPartName = "Обмотка трансформатора, " + n + " " + s;
Важно: параметр sPartName (или любой другой параметр) должен быть опубликован в момент инициализации скрипта детали.
function ActHeader {
...
sPartName, "Ваше название параметра видимое для пользователя",
...
);
Формирование требуемой строки спецификации реализовано в скрипте параметрической библиотеки «Обмотка трансформатора».
Как создать диалог сообщения для случая, когда соединяемые пользовательские объекты имеют параметрическую двунаправленную зависимость равенства, но не имеют одинаковых табличных значений?
Нужно ввести функцию для объектов, описав её поведение в скрипте при несовпадении типоразмеров.
Подробное решение с файлами пользовательских библиотек можно посмотреть здесь.
Как вставить текст в стандартную деталь?
Текст в фигурных скобках, распознанный при создании вида, будет считаться текстовым параметром. Если текст в «кавычках», то он будет считаться статичным текстом.













