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

Изменение точности модели


uGRAF.exe

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

Уважаемые коллеги, подскажите пожалуйста имеется ли возможность поменять точность моделирования сразу во всем файле (я имею в виду линейный и угловой допуск, см. скрин)

Ужасно не хочется заходить в каждую операцию и править её ручками :helpsmilie:

post-16935-1286860669_thumb.jpg

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


Боюсь, что в файле с "деревом" операций такой возможности нет. Значение точности моделирования лучше сразу изменить, сделать величиной по умолчанию и это значение будет применимо ко всем новым файлам. Меня несколько раздражают эти "осколки" от дюймовой системы мер - 0.0254 - поэтому сразу меняю эти значения. 

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

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

Да это понятно.

Просто имеется гигантское количество старых файлов, когда их делали - не удосужились настройки поменять :-(

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

Тогда - если количество файлов ГИГАНТСКОЕ  - UF_MODL_set_feat_tolerance, в маленькой DLL, которая пройдет по дереву и изменит точность, с апдейтом....

tag_t feature_obj_id Input Feature to set

double tolerance Input Distance tolerance to set in the feature

logical update_part Input Indicate whether to update the part.

If TRUE - Part will get updated by calling UF_MODL_update,

FALSE - Part will not get updated, User has to update the part.

User can set the tolerance of multiple features and then update

the part by calling UF_MODL_update at end or

pass the update_part flag as true for last feature

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

Тогда - если количество файлов ГИГАНТСКОЕ  - UF_MODL_set_feat_tolerance, в маленькой DLL, которая пройдет по дереву и изменит точность, с апдейтом....

tag_t feature_obj_id Input Feature to set

double tolerance Input Distance tolerance to set in the feature

logical update_part Input Indicate whether to update the part.

If TRUE - Part will get updated by calling UF_MODL_update,

FALSE - Part will not get updated, User has to update the part.

User can set the tolerance of multiple features and then update

the part by calling UF_MODL_update at end or

pass the update_part flag as true for last feature

Спасибо! Помогло!

Для линейного допуска dll-ку написать получилось. А что делать с угловым? И еще с допуском Intersection=0.02 в поверхностях?

Есть ли какая-нибудь функция для них?

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

И еще с допуском Intersection=0.02 в поверхностях?

Насколько, я знаю, этот допуск не оказывает влияния на создаваемую поверхность.

Этот допуск предъявляет требование к исходным данным.

И вроде, наличествует, только в функции построения поверхности по сетке кривых.

Расстояние от Primery кривых до Cross кривых не должны превышать этого допуска.

По этому поводу там ещё есть настройка -> "трёхпозиционный переключатель" - >

почитайте документацию.

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

Спасибо! Помогло!

Для линейного допуска dll-ку написать получилось. А что делать с угловым? И еще с допуском Intersection=0.02 в поверхностях?

Есть ли какая-нибудь функция для них?

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

Под NXOpen .Net API Reference нашел аналогичную функцию SetFeatTolerance();

Namespaces ► NXOpen.UF ► UFModl ► SetFeatTolerance(Tag, Double, Boolean)

Wrapper method for UF_MODL_set_feat_tolerance

Но вопрос назначения углового допуска для фьючерсов типа заметание и аналогичных я решить не смог пока... буду рад любой помощи! ;)

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

Если так, то изменяется линейный допуск модели

public static void Run(double tolerance)

		{

			Session s = Session.GetSession();

			UFSession ufs = UFSession.GetUFSession();

			Part workpart = s.Parts.Work;



			NXOpen.UF.UFModl ufsmodl = ufs.Modl;

			FeatureCollection features = workpart.Features;



			foreach (Feature f in features)

			{

				try

				{

					ufsmodl.SetFeatTolerance(f.Tag, tolerance, true);

				}

				catch { }

			}

		}

Если так, то изменяется линейный допуск и у всех заметаний угловой

public static void RunNew(double toleranceLine, double toleranceRange)

		{

			Session s = Session.GetSession();

			UFSession ufs = UFSession.GetUFSession();

			Part workpart = s.Parts.Work;



			NXOpen.UF.UFModl ufsmodl = ufs.Modl;

			FeatureCollection features = workpart.Features;



			foreach (Feature f in features)

			{

				try

				{

					ufsmodl.SetFeatTolerance(f.Tag, toleranceLine, true);

					try

					{

						SweptBuilder f2;

						f2 = features.CreateSweptBuilder(((Swept)f));

						f2.G0Tolerance = toleranceLine;

						f2.G1Tolerance = toleranceRange;

						f2.CommitFeature();

						f2.Destroy();

					}

					catch { }

				}

				catch { }

			}

		}

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

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Jesse
      @ГЕЛА Ещё можно посчитать в балках и учесть влияние отверстия через коэффициент концентрации напряжений..) Но у вас отверстие на всю стенку, так что лучше, проще и быстрее посчитать всё это дело в оболочках как выше сказали. Скругления перехода от стенки к полке удалите и в запас считайте.
    • 5axisCNC
      Можно плоскость дна задать множеством вариантов например точка направление
    • mmaag
      Да, это из nc63 для one. Остальное надо смотреть в каталоге NC62, 63. Там описано много всякого виртуального софта, думаю, найдёте ссылки на что надо, если оно существует.
    • Guhl
      Это для sinumerik one? У 808 и 828 плк s7-200
    • mmaag
      https://www.dex.siemens.com/industrialsoftware/machine-tool-software/run-myvirtual-machine-operate?viewState=DetailView&cartID=&portalUser=&store=&cclcl=en_US&selected=industrialsoftware  
    • Guhl
      Я говорю про полноценный эмулятор, чтобы я на виртуальной панели чпу на кнопку нажимал и в виртуальном ладдере этот сигнал обрабатывался
    • Andrey_kzn
      В Step7 есть симулятор, называется PLCSim, работает хорошо, часто им пользуюсь. Особенно удобно, когда надо проверить какую-нибудь одну функцию, отладить её, а потом добавить в рабочий проект.
    • Guhl
      *SP - feed hold, сигнал в ладдере G8.5 (должен быть равен 1 для нормальной работы) SRN - program restart, сигнал G6.0 в ладдере (должен быть равен 0 для нормальной работы) Сигнал с датчика касания вероятно воздействует нас эти сигналы  
    • cnckarat
      Доброго времени суток, возникла проблема со станком, не выходит в референтные точки, выдает ошибку DS0021 START ERROR (ONE TOUCH MACRO), нашли описание ошибки, операция запуска макропрограммы не может быть принята 1) сигнал задержки подачи *sp равен 0. 2) генерируется сигнал тревоги. 3) сигнал srn равен 1. Станок benzinger со стойкой fanuc series 310is model a5, от куда начинать и что делать, пока не знаем. Найти sp и srn на станке не можем. В чем может быть проблема? От куда начинать и куда копать по данному вопросу? Вдруг кто сталкивался.
    • Guhl
      Мысли были попробовать, но поиск по этой теме не дал результата, поэтому не пробовал
×
×
  • Создать...