Jump to content

Переменная $P_PFRAME


Иван П.

Recommended Posts

Иван П.

Подскажите, пожалуйста, почему следующий кусок кода не работает:

DEF REAL ALPHA;

...

$P_PFRAME[Z, RT] = ALPHA;

Работает только вариант с $P_UIFR:

DEF REAL ALPHA;

...

$P_UIFR[1, Z, RT] = ALPHA;

Однако, такой способ менее удобен, ввиду того, что возникает необходимость всякий раз указывать смещение нулевой точки (в данном случае 1 соответствует G54). Поскольку в разное время могут использоваться и G55, и G56.

Link to post
Share on other sites


UnPinned posts
Иван П.

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

Что-то вроде:

 

$P_UIFR[$P_FOO, Z, RT] = ALPHA;

Где $P_FOO содержит значение, соответствующее используемому смещению нулевой точки.

Link to post
Share on other sites
3 часа назад, Иван П. сказал:

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

 

Вот так работает, R201, надо тоже присвоить. 

 

R201=$P_UIFR[5,Y,TR]

 

$P_UIFR[5,Y,TR]=$P_UIFR[5,Y,TR]+R201

 

Пример просто из головы, но рабочий

Link to post
Share on other sites
Иван П.

Я имел в виду, что мне необходимо избежать явного задания смещения нулевой точки в $P_UIFR. В вашем случае это 5, что соответствует G505. А поскольку в разное время это может быть G54, G55 или G56, то нужно каждый раз в программе выбирать соответствующее значение. Что-то вроде:

DEF REAL NUM = 1;    1 - G54
                ;    2 - G55
                ;    3 - G56
...
$P_UIFR[NUM, Z, TR] = ...

Нашел сейчас в руководстве "Системные переменные" переменную $P_UIFRNUM. Похоже, что это то, что мне нужно. Пока не проверял.

 

Link to post
Share on other sites

Если вам для всех нулей (G54...G599) нужно повернуть, можно попробовать сделать так

$P_BFRAME[Z, RT] - повернуть базовое смещение.

А в целом, вроде как должен работать и  $P_PFRAME[Z, RT]  фрейм. Это вроде как тот же самый базовый, просто 0 не указан. Но могу ошибаться.

Edited by s_liam
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • 1240@ukr.net
      там в качестве примеров идут файлы  *.mcam их разве можно открыть в мастеркам 2019? а в версии Х9? я запутался, это разные версии или нет? файлы примеров можно посмотреть в Х9?  
    • BSV1
      Bild сообщила о первом в ФРГ случае увольнения из-за отказа сделать прививку от COVID-19   Думайте сами, решайте сами - иметь или не иметь ...." 
    • Denys8257
      Я знаю,что можно это сделать через бобышку по сечении,но я видел что такую же фигуру делают через бобышку на границе. Возможно я непрвильно выбираю профиля или направления? Или сам эскиз у меня неправильный.
    • Denys8257
      Здравствуйте. У меня проблемка, не могу создать бобышку на границе хотя в эскизе вроде все хорошо. С начала выбираю 2 профиля, потом начинаю выбирать направление, и когда очередь доходит до двух последних линий, то выскакивает ошибка в окне в котором список направлений, либо ошибка при перестраивании.И в результи выходит не то что нужно,а  мне нужно что б были толко плоские грани. Надеюсь на вашу помощь прикрепляю эскиз и скрины. Деталь1.SLDPRT
    • karachun
      В CAD геометрии у цилиндрических отверстий будет две образующих. По двум точкам на одной образующей найдете вектор нормали поверхности а за центр поверхности можете принять среднюю точку между двумя точками на разных образующих. Только и нужно что найти координаты существующих точек и посчитать то что нужно в екселе или маткаде.
    • rasta89
      Спасибо что разжевали! попробую вроде бы все понятно! так точно! https://yadi.sk/d/02ZcA1SWWpBIEA   не знаю мужики, не выходит что-то пока, ошибка
    • AlexKaz
    • karachun
      @rasta89 Вам же вот так нужно? Чтобы по одному цвету на каждое отверстие? Все верно?
    • bubl leg
      В общем, справился так:  CTRL+C, CTRL+V -сделал копию элементов сборки;   Далее - в основном окне моделирования,  правой кнопкой на детали и "сделать независимым"- после чего, перед деталью появляется слово "Копия...".
    • frei
      И правильно что нет. ТСу она и не нужна, он не для производства моделит, а для себя.
×
×
  • Create New...