Перейти к публикации

Спецификация


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

1. Подскажите как правильно и возможноли... Надо вывести общее значение для нескольких строк. Это значение есть пока только в модели, но можно его и в фэмили загнать (просто не правильно как-то). Вывести либо в одной обшей ячейке, либо в каждой строчке (лучше первое). Так как в таблице организованы вычисления с использованием одного общего и нескольких вложеных регионов, то при банальном добавлении в общий репит значения &mdl.generic.имя - даёт то, что он оказывается на отдельной строке в самом низу. Если я делаю &имя то... у меня для размеров используется дуал дайменшонинг, а в таблице надо отдельно мм (дюймы в другой) - не подходит, если не избавиться от значения в дюимах (может есть такая возможность сделать это в отделльном месте обходя общее значение чертежа). Если я организовываю вложенный репит то &mdl.generic.имя или &mdl.generic.value + filter типа &mdl.generic.name == имя дают пустые ячейки.

2. Есть ли возможность и как реализовать арифметические действия вида С=А<действие>Б где А - берётся из фэмили, а Б - это постоянное значение из модели. Использование &mdl.generic.имя и &имя в relations даёт ошибку.

Я сильно запутано обьяснил? Чтото ответов не видать.

Тогда для наглядности прикрепил файл. - Надо чтобы параметр А (60) выводился не через &А а хотябы через &mdl.generic.имя Не знаю как организовать столбец N*А

Уже неделя прошла, ниужели это не выполнимо? или сюда просто никто не заходит?

Сделал всё через фэмили тэйблс и релэйшанс, потом всё вывел в таблицу. Такое чувство что это не правильно. Будут другие варианты - пишите.

001.zip

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


Можно ли наложить маску на отображаемое число, чтоб оно выглядело не 123456789, а 123 456 789?

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
  • 2 недели спустя...

как получить параметры детали находящейся в подсборке?

В меню дерева модели для отображения выбрать параметры, дальше вправо в столбец выводишь необходимые параметры.
Ссылка на сообщение
Поделиться на других сайтах

как получить параметры детали находящейся в подсборке?

Если имеется в виду вывод в таблице спецификации, то в атрибутах региона нужно поставить не Flat, а Recursive.

Тогда будут доступны все модели всех любого уровня вложенности.

Регулировать степень вложенности можно No Dup/Level и соответствующим параметром в фильтре (&rpt.level == 1).

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

Люди подскажите плиз где можно почитать, про создание автоматических спецификаций. А конкретнее расшифровка всех параметров типа (&asm.mbr.param.value и т.д.) Просто очень хочеться понимать, как что делать, а не тыкаться как слепой котенок методом научного тыка. В принципе основную концепцию вроде понимаю. Подскажите, если конечно такая инфа существует!!!!

Спасибо! :surrender:

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

А конкретнее расшифровка всех параметров типа (&asm.mbr.param.value и т.д.)

В справке есть расшифровка параметров, а также в руководствах есть тоже самое. Некоторые руководства выкладывали на форуме или давали ссылки.

Модуль Pro/REPORT. Repeat Regions.

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

В справке есть расшифровка параметров, а также в руководствах есть тоже самое. Некоторые руководства выкладывали на форуме или давали ссылки.

Модуль Pro/REPORT. Repeat Regions.

Спасибо Ruslan что сориентировал. Но если можно дай ссылочку или выложи инфу, а то я ничего вразумительного не нашел на форуме.

Изменено пользователем padovan
Ссылка на сообщение
Поделиться на других сайтах

Вот сделал выборку из справки.

Параметры_Pro_REPORT.rar

Спасибо Ruslan, файлик полезный, то что надо. Буду пробовать. :clap_1:

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Можно ли наложить маску на отображаемое число, чтоб оно выглядело не 123456789, а 123 456 789?

В моём случаи это были номера лежащие тут: &fam.ins.name. Соотвтсвенно в параметрах репита создалась переменная fam_inst_name, идём в рилэйшаны репита и пишем там так:

name_1=extract(fam_inst_name,1,3)

name_2=extract(fam_inst_name,4,3)

name_3=extract(fam_inst_name,7,3)
Можно добавить условий тудаже:

first_symbol=extract(fam_inst_name,1,1)

if first_symbol == "H"

name_1=extract(fam_inst_name,1,1)

name_2=extract(fam_inst_name,2,3)

name_3=extract(fam_inst_name,4,3)

else

name_1=extract(fam_inst_name,1,3)

name_2=extract(fam_inst_name,4,3)

name_3=extract(fam_inst_name,7,3)

endif
Потом соответсвенно выводим в таблицу не &fam.ins.name, а "&rpt.rel.name_1 &rpt.rel.name_2 &rpt.rel.name_3"

Но это не совсем то что хотелось бы, хочу организовать подсчёт символов после точки/запятой и отделять по 3 знака от неё. Кто подмогнёт?

Есть ещё проблема что fam_inst_name создаётся только в одной таблице, а если их 2 то во второй уже нет.

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

Вы хорошо освоили функции рилэйшн, организовать подсчёт символов после точки/запятой и отделять по 3 знака - дело времени.

Так, например я перевожу десятичное значение в стринг (может пригодится):

Пример для передачи значения толщины листа в параметр материала

a0=smt_thickness()

/****************a1 -Целая часть от толщины

a1=floor(a0, 0)

/*

/****************a2 -десятичнная часть (целая) от толщины

a2=(a0-a1)*10

/*

/***************Целая часть от толщины (символьное значение) с выводом нуля

IF a1==0

CT="0"

ELSE

CT=itos(floor(a0, 0))

ENDIF

/*

/***************Контроль наличия десятичной точки у толщины

IF (a0-a1)==0

point_1=""

ELSE

point_1="."

ENDIF

/*

Thickness=CT+point_1+itos(a2)

"Есть ещё проблема что fam_inst_name создаётся только в одной таблице, а если их 2 то во второй уже нет"

Каждая таблица может содержать свой репит, каждый репит может содержать свои рилэйшн, в том числе и fam_inst_name.

Или не в этом вопрос?

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

Я просто не понимаю зачем такое нужно вообще, в каких случаях.

Что касается подсчета, то делается так.

Hast=(Параметр/1000-floor(Параметр/1000))*1000

If Параметр>=1000

Hast1=itos(floor((Параметр/1000000-floor(Параметр/1000000))*1000))

IF HAST<1

NULI=" 000"

else

NULI=" "+extract("1000",2,3-string_length(itos(floor(HAST))))

endif

else

Hast1=""

Nuli=""

endif

If Параметр>=1000000

Hast2=itos(floor((Параметр/1000000000-floor(Параметр/1000000000))*1000))

NULI1=" "+extract("1000",2,3-string_length(HAST1))

else

Hast2=""

NULI1=""

endif



ITOGO=HAST2+NULI1+HAST1+NULI

Запись в ячейке, вида: &rpt.rel.Itogo&rpt.rel.Hast

Работает от 0 до 999 999 999,999

Про таблицу не понял?

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

Про вотрую таблицу:

В ней (в её рилэйшанах) у меня нет fam_inst_name вовсе, не создаётся она в них совсем, просто переменная (&fam.ins.name) на вывод стоит и всё. Соответсвенно сделать с ней ничего не могу.

Ещё обращаю ваше внимание на то, что работаю с именем детали-исполнения которая не имеет статуса совсем (ни text, ни real number, ни integer...) теоретически это может внести какие-нибудь коррективы.

Зачем надо:

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

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

Про таблицу, все равно не ясно, что то не так делаете.

Имя детали - строковый параметр.

А уровнение выше для Real.

У меня имя модели не сплошное, а вида Имя.##.##.### и все нормально читается.

Может сразу в параметрах разбивать?

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

Со второй таблицей разобрался.

Переменная fam_inst_name была создана в первой давно (я уже даже забыл когда), а во второй нет. Сам механизм того что если присвоить такой переменной первое значение переменной то она "приклеится" к параметру, я не отследил. Сейчас понял что есть такое и такую переменную надо создавать саммому. Натыкал читсто интуитивно, где инфа об этом, так чтоб не зная этого можно было откопать возможность...? Загадка.

Вот мой вариант кода для создания эффекта маски, длинноват, но расширяем и проследить текст программы просто. Былабы возможность применять циклы, былобы лаконичней, короче и для строчек любой длины.

name = 123456789.123

celoe = itos(floor(name, 0))

decimal = itos((name-floor(name, 0))*1000)

length = string_length(celoe)

k=length-floor(length/3)*3



if k==0

name_1=extract(celoe,1,3)

name_2=" " + extract(celoe,4,3)

name_3=" " + extract(celoe,7,3)

name_4=" " + extract(celoe,10,3)

name_5=" " + extract(celoe,13,3)

name_6=" " + extract(celoe,16,3)

endif



if k==1

name_1=extract(celoe,1,1)

name_2=" " + extract(celoe,2,3)

name_3=" " + extract(celoe,5,3)

name_4=" " + extract(celoe,8,3)

name_5=" " + extract(celoe,11,3)

name_6=" " + extract(celoe,14,3)

endif



if k==2

name_1=" " + extract(celoe,1,2)

name_2=" " + extract(celoe,3,3)

name_3=" " + extract(celoe,6,3)

name_4=" " + extract(celoe,9,3)

name_5=" " + extract(celoe,12,3)

name_6=" " + extract(celoe,15,3)

endif



if name_2 == " "

name_2 = ""

endif



if name_3 == " "

name_3 = ""

endif



if name_4 == " "

name_4 = ""

endif



if name_5 == " "

name_5 = ""

endif



if name_6 == " "

name_6 = ""

endif



if decimal == ""

zapite = ""

else

zapite = ","

endif



full_name=name_1+name_2+name_3+name_4+name_5+name_6+","+decimal
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Доброго времени суток!

Пожалуйста, кому не жалко, поделитесь форматками на спецификацию

По новому госту, а точнее нужна вот спецификация в соответствии с ГОСТ 2.104-2006 (которая заменила спецификацию ГОСТ 2.104.58) :surrender:

Можно конечно сделать самому но это ИМХО сродни изобретению велосипеда,

с 2006 года прошло уж сколько времени..

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

А что собствено в ГОСТ 2.104-2006 поменялось по отношению к спецификациям?

В двух слова если - немного изменился внешний вид, между областью где штамп и записи

есть поля для штампов ("ЕСКД" к примеру и т.п.)

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

Вообще ГОСТ на Спецификации это 2.108.

ГОСТ 2.104-2006 Это ГОСТ наосновные надписи.

В нем учитывается новые реалии (Электронные модели).

Появились разделы указания едениц измерения, вида проекции. Но это во первых к спецификации не имет отношения, во вторых необходимость устанавливает разработчик, а также их месторасположение и размер.

В основной надписи, разве что поменялась высота графы заполняемой заказчиком.

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

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

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




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