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

Вопрос о relation


snoopy

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

bort

Как ты любишь всё усложнять!

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

Ведь ты зачем-то хочешь вытащить это значение из обозначения? Так не вытаскивай, а наоборот задай.

Да сделайте наоборот. А если в имени материала уже имеется толщина, не понимаю не желание добавить нужный параметр в сам материал.

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


не помню кто, кажется Руслан, когда-то говорил об этом... мне кажется не совсем корректно привязывать геометрию к свойствам материала, даже если это лист или профиль или еще что-то подобное. параметры материала характеризуют физические свойства материала, но не геометрию. вот у меня к примеру будет не один десяток разных по толщине и текстуре ЛДСП плит, сделанных, по сути, из одного и того-же материала, и получается надо будет плодить целую библиотеку однотипных материалов. проще мне кажется создать ограниченный параметр, от значения которого будут зависеть толщина и прочие свойства, и оперативно в генеральной сборке назначать его для всех входящих деталей.

Пока что вышел из ситуации следующим способом. в шаблоне прописал:

/*Назначение толщины листа

if extract(MAT_DESIGN_TYPE,1,7)=='ЛДСП_16'

SMT_THICKNESS=16

endif

if extract(MAT_DESIGN_TYPE,1,6)=='ДВП_04'

SMT_THICKNESS=4

endif

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

вот если бы из этой строки 'ЛДСП_16' можно было вытащить "16" в виде числового параметра, я был бы полностью счастлив.

Я обратил внимание на слово создать...

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

if search(MAT_DESIGN_TYPE, "_04_")>0

SMT_THICKNESS=4

endif

if search(MAT_DESIGN_TYPE, "_08_")>0

SMT_THICKNESS=8

endif

if search(MAT_DESIGN_TYPE, "_16_")>0

SMT_THICKNESS=16

endif

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

bort

Это как поглядеть. Полный список используемых материалов имеет смысл. Так как список их ограничен (можно только производителя не учитывать). Да и в отчетах будет выводиться то что нужно. Заменил материал (сортамент), поменялась и геометрия.

А плодить кучу уравнений учитывающих кучу материалов... При введении нового материла, перелопачивать все уравнения?

Да сделайте наоборот. А если в имени материала уже имеется толщина, не понимаю не желание добавить нужный параметр в сам материал.

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

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

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

Я обратил внимание на слово создать...

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

if search(MAT_DESIGN_TYPE, "_04_")>0

SMT_THICKNESS=4

endif

if search(MAT_DESIGN_TYPE, "_08_")>0

SMT_THICKNESS=8

endif

if search(MAT_DESIGN_TYPE, "_16_")>0

SMT_THICKNESS=16

endif

большое спасибо. Про такой оператор я не знал :blush:

я, правда, не совсем понял как он работает. ">0" - это он сравнивает значение с нулем или количество символов найденных... можете подробнее расписать?

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

Например, при быстром создании материала с новой толщиной (путем копирования и переименования) про параметр внутри материала можно просто тривиально забыть

Ну это не повод, а больше отговорка. Вариантов записи параметра сортамента в имени материала может быть много, а бывает что и даже не вычленяется просто. А отдельный параметр один и к типу (записи имени) материала не привязан.

это он сравнивает значение с нулем или количество символов

Результат, позиция записи в тексте. Если не найдено, то 0.
Ссылка на сообщение
Поделиться на других сайтах

Результат, позиция записи в тексте. Если не найдено, то 0.

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

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

bort

Как ты любишь всё усложнять!

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

Ведь ты зачем-то хочешь вытащить это значение из обозначения? Так не вытаскивай, а наоборот задай.

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

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

А отдельный параметр один и к типу (записи имени) материала не привязан.

То, что не привязан, не всегда удобно.
Ссылка на сообщение
Поделиться на других сайтах

А можно как-то называть материалы на кириллице?

Имя файла только латинскими буквами.

Если материалов много, то можно их разместить в отдельных папках. Например, папка для ДСП, папка для Фанеры и т.д.

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

Имя файла только латинскими буквами.

Если материалов много, то можно их разместить в отдельных папках. Например, папка для ДСП, папка для Фанеры и т.д.

дробление по папкам особо ничем не поможет. для того чтобы быстренько менять параметр PTC_MATERIAL_NAME все используемые материалы должны быть подгружены в модель.

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

Без папок по моему никак, у меня в базе только алюминиевых листов разных марок и толщин где то 150 штук.

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

народ, кто-то создавал материалы с привязанными к ним цветовыми схемами?

обсуждается в <noindex>http://fsapr2000.ru/index.php?showtopic=60...mp;#entry391201</noindex>

не знаю кто сюда подписан... взгляните, может подскажете чего, а то у меня уже руки опускаются :wallbash:

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

Уважаемые гуру, подскажите где можно взять более менее полный мануал по командам и параметрам Pro/Program. Язык английский или русский.

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

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

Все что возможно, есть в справке.

особенно в параметризации сложных плоских эскизов

Ищите другие возможности. Хотя что Вы под этим понимаете?
Ссылка на сообщение
Поделиться на других сайтах

Все что возможно, есть в справке.

Ищите другие возможности. Хотя что Вы под этим понимаете?

Допустим есть панель. При ширине панели 800-900 мм (ширина индивидуально с шагом вплоть до 1 мм) нужно отрисовать два прямоугольника по контуру.

При ширине 900-1000 мм 1 прямоугольник не нужно рисовать - но нужно орисовать в центре панели цветочек.

При этом размеры прямоугольников привязаны 20 мм к краям панели и ширина и высота будет полностью зависеть от раземров панели.

То есть я создал базу эскизов. Выбираю тип эскиза. Размеры панели и получаю нужный эскиз автоматически.

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

С помощью ПроПрограмм, это можно сделать. Но элементы должны быть независимыми, так как действия аналогичны Родавить/Восстановить.

Нужные элементы нужно заключить в условия.

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

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

в параметризации сложных плоских эскизов (узоров)

Если эскиз на уровне прямоугольников, можно запараметризовать всё, что угодно и как угодно.

Если эскиз на уровне узора из множества сплайнов, то лучше обойтись вообще без параметризации.

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

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

Нужные элементы нужно заключить в условия.

Руслан, подскажи как создавать эти условия?

как назначить наличие того или иного фичера в зависимости от какого-то параметра?

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

О ветвях конструкции

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

Например, если исходная конструкция детали имеет следующий вид:

ADD PROTRUSION.....

ADD HOLE.....

ADD CUT.....

Измененная конструкция будет выглядеть следующим образом:

ADD PROTRUSION.....

IF d1 > d2

ADD HOLE

...

END ADD

ENDIF

ADD CUT.....

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

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

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

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

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

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

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

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

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

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

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




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