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

Параметры файла Материалов


Ruslan

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

Nils

У вас случаем build не F000? Он (build) не переваривает тире в наименовании файла материлов.

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


Как-то можно с этим бороться? (тире я так понял в ГОСТе)

<{POST_SNAPBACK}>

Переименовать файл ABS-Starex-HG-0760GP-G-Samsung.mtl в ABS.mtl
Ссылка на сообщение
Поделиться на других сайтах

Nils Выложить не могу, лимит весь выбрал.

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

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

Переименовать файл ABS-Starex-HG-0760GP-G-Samsung.mtl в ABS.mtl

,

Я думал это относится к значению параметров:)...спасибо..

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

suslad

Если в листовой модели изменить толщину металла (например с 0.8 на 1.2), то нужно как я понимаю изменить и материал детали. Или это решается по-другому?

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

Просто в посте №37 было описано, как использовать параметры из файла материалов и если изменить толщину в модели, то как это отразится на файле материалов?

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

Например, уравнение в модели

d1=material_param("Диаметр")

Где Диаметр пользовательский параметр в активном материале.

Ссылка на сообщение
Поделиться на других сайтах
Ruslan, в данном случае материал будет управлять значением толщины. А Karlik хотел обратную совместимость -- чтобы изменение толщины материала отражалось в материале. Раньше это можно было сделать используя параметр с Note и в нем ссылаясь на значение толщины. Как теперь -- я еще не разбирался.
Ссылка на сообщение
Поделиться на других сайтах

Приведенный пример, я считаю более правильным.

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

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

Например, когда возможны 2 значащие цифры после запятой:

if Диаметр<1

   Диам1="0"

else

	  Диам1=itos(floor(Диаметр))

endif

if floor(Диаметр)-Диаметр != 0

  if floor(Диаметр*10)-Диаметр*10 != 0

	Диам2=extract(itos(Диаметр*100),string_length(itos(floor(Диаметр)))+1,string_length(itos(Диаметр*100))-string_length(itos(floor(Диаметр))))

	 If string_length(Диам2)<2

	 Диам2="0"+Диам2

	 endif

  else

	Диам2=extract(itos(Диаметр*10),string_length(itos(floor(Диаметр)))+1,string_length(itos(Диаметр*10))-string_length(itos(floor(Диаметр))))

  endif

   material_param("Наименование")="Лист Д16М "+Диам1+","+Диам2+" ГОСТ 21631-76"

else

   Диам2=""

   material_param("Наименование")="Лист Д16М "+Диам1+" ГОСТ 21631-76"

endif

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

if Диаметр<1

   Диам1="0"

else

	  Диам1=itos(floor(Диаметр))

endif

if floor(Диаметр)-Диаметр != 0

 Диам2=extract(itos(Диаметр*10),string_length(itos(floor(Диаметр)))+1,string_length(itos(Диаметр*10))-string_length(itos(floor(Диаметр))))

   material_param("Наименование")="Лист Д16М "+Диам1+","+Диам2+" ГОСТ 21631-76"

else

   Диам2=""

   material_param("Наименование")="Лист Д16М "+Диам1+" ГОСТ 21631-76"

endif
Ссылка на сообщение
Поделиться на других сайтах
Ruslan, да вы просто маньяк по уравнениям :). Зачем же так усложнять жизнь и себе и другим? Можно и нужно найти более гуманный способ.
Ссылка на сообщение
Поделиться на других сайтах

Гуманный способ, это способ управления толщиной через материал, как я и делаю.

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

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

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

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

Гуманный способ, это способ управления толщиной через материал, как я и делаю.

<{POST_SNAPBACK}>

И что тут гуманного? Для каждой толщины листа (их, к примеру, может быть 10 на один ГОСТ) делать отдельный материал? Все же гуманнее сделать один материал а толщину считывать из модели.
Ссылка на сообщение
Поделиться на других сайтах

Я не считаю это не правильным, хоть сто, главное рационально организовать структуру размещения. Зато в справочникнике искать не надо. Да и не применяются они все, только часть (у меня).

Можешь уменьшить величину уравнения или предолжить другой способ?

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

Полностью согласен с Русланом, я тоже придерживаюсь мнения, что необходимо иметь базу материалов, содержащие все необходимые параметры. (Даже толщину, если это необходимо, хотя это все равно обязывает пользователя прописывать уравнение типа d1=material_param("Диаметр"))

Как вариант можно иметь шаблон детали типа Лист, где будет прописано уравнение и указан какой нибудь материал, меняя материал автоматом будет меняться толщина и пользователю больше ни чего не надо делать)

Для перевода численного параметра в строковый я написал вот это уравнение, где исходное число X, а полученное строковое - X_str

X_str=itos(floor(X))+"."+itos(ceil((X-floor(X))*100))

if floor(X)==0

X_str="0"+X_str

endif

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

X_str=itos(floor(X))+"."+itos(ceil((X-floor(X))*100))

Да так компактнее, однако будут лишние нули в конце. Однако функцию cell я бы не использовал.

if Диаметр<1

   Диам1="0"

else

	  Диам1=itos(floor(Диаметр))

endif

if floor(Диаметр)-Диаметр != 0

  if floor(Диаметр*10)-Диаметр*10 != 0

	Диам2=itos(floor((Диаметр-floor(Диаметр))*100))

  else

	Диам2=itos(floor((Диаметр-floor(Диаметр))*10))

  endif

   material_param("Наименование")="Лист Д16М "+Диам1+","+Диам2+" ГОСТ 21631-76"

else

   Диам2=""

   material_param("Наименование")="Лист Д16М "+Диам1+" ГОСТ 21631-76"

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

В посте 37

содержится "Размышление на тему "Как решить вопрос с материалом в матмоделях и чертежах"."

В посте 39 дополнения на этот счет.

Так вот если исправить пример, прикрепленный к посту 37 по рекомендациям в посте 39, то в вф3м060 и вф3м070 он перестает работать. В вф3м020 все работает прекрасно.

В чем может быть проблема?

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

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

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

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

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

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

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

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

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

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

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




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