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

C# NX Open Api


Koreshk1992

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

Всем доброго дня!

Возник следующий вопрос. Задача вроде бы элементарна. Необходимо создать прямую под углом) Облазил весь интернет - ничего.

Попробовал посмотреть как это делает сам NX. Включил  журнал. Создал прямую длиною 50 мм под углом 6 градусов.

Надеялся увидеть что-то вроде

 

lenght = 50

angle = 6

createLine(length,angle)

 

В журнале следующее)):

 

 Point3d startPoint1 = new Point3d(0.0, 0.0, 0.0);

 Point3d endPoint1 = new Point3d(49.7260947684137, 0.0, 5.22642316338267);

 

Насколько я понял, он просто взял и посчитал координаты.

Сдается мне, что нету никакой специальной функции для этих нужд.

Подскажите пожалуйста выход из данной ситуации. Может есть какие-то библиотеки для расчета координат или еще что-то.

Заранее премного благодарен.

 

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


Для прямой на плоскости все очень просто. Сначала посчитай (i,j)  вектора исходной прямой. Перп-вектор к ней будет иметь очень простой вид - (j,i).

 

А вот в пространстве все посложнее.

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

Спасибо большое за ответ!)

Полазил еще по интернету, на этот раз уже искал не готовое программное решение, а так сказать математическое. Все оказалось очень просто:

 

x=x0+R*cos(a)

y=y0+R*sin(a)

x,y - искомые координаты. x0,y0 - координаты начальной точки. R  - длина моего отрезка. а - заданный угол.

 

Подставил в формулу R= 50 и a = 6 градусам.

получил тоже самое, что рассчитал NX.

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

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

 

Вращение у меня происходит следующим образом:

 theUfSession.Modl.CreateRevolved(sketch, limit1, ref_pt1, direction1, FeatureSigns.Nullsign, out features1);

где direction - ось вращения и задается она следующим образом:

double[] direction1 = { 0.00, 0.00, 1.00 };
Насколько я понял, таким образом можно задать осью вращения X,Y,Z.

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

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

direction1 - это координаты вектора

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Stanislav
    • Jesse
      ну , так или иначе кратно и кол-ву лопаток ротора, и кол-ву лопаток статора
    • Snake 60
      @Srgwell А другие макросы работают? Может у Вас проблемы с операционкой или с одним из ее компонентов? PS У меня всё работает, пруф - https://cloud.mail.ru/public/RtFe/A9WJMDLoy
    • mr_Voden
      @radii Пробуй.   post_29.05.24_13.42.rar
    • Killerchik
      Скорее догадки исходя из моих знаний о возможностях Фанука и примеров реализации функции поджима на различных станках. В этом разделе бал тема с разбором программ поджима, где-то в течении последнего года.
    • Stanislav
      Мне просто это выслали на отъеби... для просчета цены. Когда я поинтересовался нужны ли им действительно такие радиусы в углах 0,4мм сказали нет. Когда запросил чертеж с указанием шероховатостей и допусков, разговор был окончен. Ну бросили на шару модель, типа ,скажите за сколько сделаете вдруг за 50 000р сделаете, а если говно получиться то мы скажем что нас не устраивает.     Так как я пишу проги в основном для машиностроения, а там все круглое и квадратное, криволинейных поверхностей нет, то я решил потренироваться. И как я выше уже писал в NX не так то просто изменить радиусы скругления в модели (например на 0,5) на литейных формах, не так просто все удалить и нанести новые. Короче проще попросить конструктора на исходной модели поправить и выслать заново STEP.   Стенки там реально вертикальные в модели. Ну может их устроит, я не литейщик, может пластмассовая деталь вынется после охлаждения. А если они были бы с наклоном то радиусной фрезой катать их пришлось бы ЗЕТЛЕВОЛОМ или по УПРАВЛЯЮЩИМ ПОВЕРХНОСТЯМ.  В общем по времени стоЯть эта деталь на станке будет не мало, соответственно и стОить.    Эрозия есть, только без ЧПУ.  Стоит кокой-то    зеленый уродец. 
    • Srgwell
      Нет, там майн,майн по умолчанию стоит
    • Leon
      @Srgwell Метод запускаемый проверьте.
    • Srgwell
      Такое дело. Я не почувствовал новые изменения по одной причине. Самая последняя версия, которая запускалась это 4.4.1. Все последующие при запуске не реагируют ни как. Тут даже до создания ini не доходило. Судя по количеству байтов менялся только Коперник.swp. Естественно лишние старые файлы перед запуском удалял. Ну может у других все хорошо. Или они просто не пробуют другие версии. SW 2023 sp3.0
    • oleggreen
      Добрый. Ermak 3120. Был небольшой удар листом по стойке. Стойка погасла. При подключении доп монитора на мониторе ошибка систем мисс мач контроллер ребут. Сталкивался ли кто-нибудь с таким. 
×
×
  • Создать...