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

Фортрановские подпрограммы для CFX


Бармалей

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

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

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


Здравствуйте!

Пытаюсь компилировать фортрановскую подпрограмму, выдает следующее:

Microsoft Windows [Version 6.1.7601]

© Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

J:\Users\evv\Documents\Ansys\Temp\0912>cfx5mkext pt_breakup_rd.F

C:\Program Files (x86)\Intel\ComposerXE-2011\bin\intel64\ifort.exe -Qvec- -iface

:cvf -MD -fpp -include:"C:\Program Files\ANSYS Inc\v140\CFX\include" -object:win

nt-amd64\\pt_breakup_rd.o -c pt_breakup_rd.F

Intel® Visual Fortran Intel® 64 Compiler XE for applications running on Inte

l® 64, Version 12.0 Build 20101116

Copyright © 1985-2010 Intel Corporation. All rights reserved.

C:\Program Files (x86)\Intel\ComposerXE-2011\bin\intel64\ifort.exe -threads -dll

-exe:.\winnt-amd64\\pt_breakup_rd.dll winnt-amd64\\pt_breakup_rd.o C:\Program F

iles\ANSYS Inc\v140\CFX\lib\winnt-amd64\solver-pcmpi.lib

Intel® Visual Fortran Intel® 64 Compiler XE for applications running on Inte

l® 64, Version 12.0 Build 20101116

Copyright © 1985-2010 Intel Corporation. All rights reserved.

ifort: command line warning #10161: unrecognized source type 'winnt-amd64\\pt_br

eakup_rd.o'; object file assumed

ipo: warning #11010: file format not recognized for C:\Program Files\ANSYS Inc\v

140\CFX\lib\winnt-amd64\solver-pcmpi.lib

ifort: error #10037: could not find 'link'

An error has occurred in cfx5mkext:

C:\Program Files (x86)\Intel\ComposerXE-2011\bin\intel64\ifort.exe could

not be started, or exited with return code 255: +Єърчрэю т фюёЄєях.

Не могу понять в чем ошибка, подскажите, кто знает...

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

Доброго времени суток!

Возник такой вопрос в связи с использованием фортрановских подпрограмм. Так как нельзя выводить больше 1го параметра с помощью самой программы (пробовала), решила сделать несколько. Почему-то она (дополнгительная) не читается, хотя всё подключено верно и в ансисовском help я по поводу ограничений на их количество ничего не нашла. Подскажите, можно ли подключать по несколько подпрограмм с помощью User CEL Function (вот Junction box много нельзя, solver control ограничивает)? Кто-нибудь пробовал так подключать? Может кто-то знает, что ещё можно почитать или где найти информацию про подключение функций в cfx?

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

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

Зачем Вам с помощью сабрутины выводить больше одного параметра? Если вы её используете для задания ГУ, то больше одного вам от неё и не надо, если для чегото другого - лучше использовать Junction box.

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

Здравствуйте!

Меня очень интересует tutorial о работе кондиционирования (HVAC), но не могу выполнить этот урок из-за проблем с фортрановским компилятором (истек лицензионный файл, хотя при запуске cfx5mkext дается информация об ошибке, возникшей вроде бы по другой причине, -см. ссылку в конце сообщения).

Может быть, кто-нибудь подскажет, как устранить ошибку? Я использую CFX версии 11 на Win XP SP2 32bit. Visual Studio 2008. IFortran 9.1.

В своей работе с CFX я пока не планирую использовать подпрограммы, поэтому у меня следующая просьба. Может, кто уже компилировал для себя подпрограмму TStat_Control.F из этого туториала. Буду очень благодарен, если сможете выслать мне эту подпрограмму в откомпилированном виде. При необходимости могу выслать исходный файл подпрограммы. Заранее спасибо за любую полезную информацию.

cfx5mkext_info.txt

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

в тексте ошибки написано, что у вас переменные не объявлены, проверьте этот момент.

В файле cfx5mkext_info.txt , приложенном мной в предыдущем сообщении, упоминания о 2 ошибках:

ifort: error: unable to run '<Microsoft VC++ Dir>\\Bin'

An error has occurred in cfx5mkext:

C:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\ifort could not be

started, or exited with return code 255: .

Вероятно, ошибка с кодом 255 и говорит о том, что переменные не объявлены.

Кстати, уточняю, что содержимое файла получено через обычную командную строку виндоуз (run\cmd.exe). Т.е. содержимое этого файла не связано с компиляцией интересующей меня процедуры. И вполне логично, что переменные не объявлены.

А вот когда я нахожусь в графической оболочке CFX и через command editor запускаю процесс компиляции нужной процедуры (все строго по инструкциям туториала), по шустро мелькнувшему прогресс бару видно, что процесс прошел, никаких сообщений об ошибках не возникает, но в рабочей директории не появляется папка с dll этой процедуры. Там вообще ничего нового не появляется. И чего делать?

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

я обычно компилирую через фарменеджер - запускаю на выполнение в командной строке одновременно файл cfx5mkext и фортрановскую программу *.F. Поэтому все отчеты обо всех действиях сохраняются в самом фаре. Как я понял ваша программа называется ShlibExt.pm, там и пишут:
Use of uninitialized value in rindex at C:\Program Files\ANSYS Inc\v110\CFX\bin\
/perllib/CFX5/PathManip.pm line 356.
Что вы используете необявленное значение в строке 356.
Насчет ошибки
ifort: error: unable to run '<Microsoft VC++ Dir>\\Bin'
An error has occurred in cfx5mkext:
то тут я уже не понимаю, вы компилируете фортарновским компилятором или С++?

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

Я не компилировал что-либо через командную строку, такой нужды не было. Меня пока интересует лишь туториал HVAC, здесь я первый раз столкнулся с Фортраном для CFX. Файл cfx5mkext_info.txt, выложенный мной выше, получен только для того, чтобы понять, подключен ли у меня фортрановский компилятор.  Делал я это по интструкции из справки CFX:

You must have the required Fortran compiler installed and set in your system path in order to run this tutorial. For details on which Fortran compiler is required for your platform, see the applicable ANSYS, Inc. installation guide. If you are not sure which Fortran compiler is installed on your system, try running the cfx5mkext command (found in <CFXROOT>/bin) from the command line and read the output messages.

Т.е. я увидел в справке по установке, какой нужен компилятор, и поставил его. А потом получил то, что есть в cfx5mkext_info.txt. Я запустил через командную строку cfx5mkext без каких-либо сопутствующих процедур для компиляции.

 

Use of uninitialized value in rindex at C:\Program Files\ANSYS Inc\v110\CFX\bin\ /perllib/CFX5/PathManip.pm line 356.

Через гугл: Файлы с расширением .pm являются библиотеками Perl. Получается, что cfx5mkext зачем-то обращалась к разным библиотекам.

 

Кстати, еще при установке фортрановскского компилятора он спрашивал, где есть Visual Studio. В общем, поставил и ее. Вот откуда появилось сообщение с <Microsoft VC++ Dir>. Скажите, Doomed, нужна ли Visual Studio для работы фортрановского  компилятора в CFX ?

А вот кусок справки по компиляции процедуры: tut17help.txt. Я  выполнил все действия, а директория с откомпилированной библиотекой так и не появилась. Какие будут советы?

 

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

А вот моя попытка откомпилировать нужную мне процедуру через командную строку ОС.

Для этого я скопировал в папку размещения cfx5mkext процедуру TStat_Control.F и ввел по очереди в ком.строке:

C:\Documents and Settings\ASUS>chdir C:\Program Files\ANSYS Inc\v110\CFX\bin\

C:\Program Files\ANSYS Inc\v110\CFX\bin>cfx5mkext TStat_Control.F

 

Результат следующий: cfx5mkext info2.txt.

В поддиректории "winnt" появился файл TStat_Control.o. Вероятно, он является промежуточным звеном при компиляции (как я понял, объектным файлом).

Как довести процесс компиляции до логического завершения и получить DLL?

 

P.S. Может, есть альтернативные способы откомпилировать процедуру? Бывают же свободно распространяемые (free) программы, в том числе компиляторы.

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

Все получилось, спасибо огромное. Хотя в самом проекте по-прежнему выскакивает ошибка, но через командную строку программа компилируется. Оказывается, сначала нужно было набирать команду ifortvars вместе с индексами фортрана и VS, а потом уже компилировать. Но на всякий случай я поставил себе Intel Fortran для 64-битной версии.

Теперь у меня есть еще один вопрос: как настроить фортрановскую подпрограмму так, чтобы она работала при распараллеливании? Пока она работает только если подключать не более 2х partitions, но у меня весьма сложный расчет, и потому я хотел бы подключать все свои 8.

Кто-нибудь знает, как это осуществить?

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

post-41722-0-27875200-1386517436_thumb.png

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

Добрый день. Bachduong, ответ с методикой компиляции отправил Вам в личном сообщении.

 

У меня самого возник вопрос другого характера, а именно по возможнностям фортрановских подпрограмм. Вопросов несколько:

 

1. Поддерживают ли фортрановские подпрограммы импорт/экспорт нескольких переменных?

2. Пробовал ли кто-нибудь настроить выполнение подпрограмм в параллельном режиме?

 

Поясню цель, быть может, она поспособствует более точному ответу. Меня интересует следующее:

 

Допустим, в CFX рассчитывается поле течения многокомпонентного газа. В определенный момент (например, в конце каждого временного шага в нестационарном или итерации в стационарном расчете) в подпрограмму передаются значения массовых долей компонентнов и температура из каждой ячейки. Подпрограмма выполняет расчет химических реакций, отправляет обновленные значения массовых долей и температур обратно в CFX и одновременно записывает их во внешний файл.

 

По сути, это расчет методом расщепления по потокам, вынесенный за пределы программы. Во Fluent'e такое возможно. Возможно ли в CFX?

 

С уважением,

Delcraft.

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

Еще картинка

В папке winnt-amd64 есть только файлыTStat_Control.exp (.lib, .o) а файла TStat_Control.dll нетту

post-41722-0-18343300-1390014653_thumb.png

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

Оставлю здесь небольшой туториал по настройке и применению Fortran'a к CFX, хотя описанный способ настройки и не самый удобный, IMFAO.

Это быстрый перевод на англ, оригинал на португальском тут.

 

tutorial_cfx_fortran_english.rar

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

Оставлю здесь небольшой туториал по настройке и применению Fortran'a к CFX, хотя описанный способ настройки и не самый удобный, IMFAO.

Это быстрый перевод на англ, оригинал на португальском тут.

 

attachicon.giftutorial_cfx_fortran_english.rar

 

 

спасибо вам за руководство!

пожалуйста, расшифруйте этот пассаж:

--------------------------------------------------------------

Variable Name: lib

Variable value: C:\Program Files (x86)\Intel\Composer XE 2013 \compiler\lib;

C:\Program Files (x86)\Intel\Composer XE 2013 \compiler\lib\intel 64

Click OK to the variable to be created. Note that the address used here may change according to the currently selected installation options.

 

Repeat this procedure by creating a new variable with values:

C:\Program Files (x86)\Intel\Composer XE 2013 \compiler\include;

C:\Program Files (x86)\Intel\Composer XE 2013 \compiler\include\intel 64

Again, repeat this procedure by creating a new PATH variable with values:

C:\Program Files\ANSYS Inc\v140\CFX\bin;C:\Program Files ( x86)\Intel\ Composer XE 2013\bin;C:\Program Files (x86)\Intel\Composer XE 2013 \ bin\intel64;C:\Program Files (x86)\Intel\Composer XE 2013 \redist;

C:\Program Files (x86)\Intel\Composer XE 2013 \redist\intel64;

C:\Program Files (x86)\Intel\Composer XE 2013 \redist\intel64\compiler;

C:\Program Files (x86)\Intel\Composer XE 2013 \redist\intel64\mkl;

C:\Program Files (x86)\Intel\Composer XE 2013 \redist\intel64\mpirt

--------------------------------------------------------------

 

в первом выделенном жирным шрифтом абзаце неясно, какую же переменную создать?

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

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

Это тот случай, когда мог понадобиться португальский оригинал) Гугл-переводчик съел некоторую инфу.

 

В первом жирном абзаце создаем переменную include

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

 

*************************

 

Именно из-за того, что все переменные предлагается вбить вручную, мне такая инструкция и не кажется удобной. Тем более, если установлено много прог, то все новые значения могут банально не влезть в отведенное кол-во символов (вроде 256). Более простой, как по мне, путь:

 

1. Устанавливаем Visual Studio

2. Устанавливаем компилятор фортрана с интеграцией в Visual Studio

3. Запускаем Fortran Build Environment (Пуск > Все Программы > Intel ....)

4. Оттуда уже через командную строку запускаем CFX

 

Смысл в том, что при запуске Build Environment будут настроены все нужные переменные, даже те, о которых в англо-португальском документе не знали или забыли.

 

Если же фортраном для CFX пользуемся часто, можно создать специальный .bat и пользоваться им. К примеру, у меня в свойствах ярлыка к Fortran Build Environment записано следующее (это где Пуск > Все Программы > Intel .... а потом RMB > Свойства):

 

C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010"

 

Копируем в блокнот и добавляем нужное, чтобы получить (жирным показаны добавления):

 

call C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010"

call "C:\Program Files\ANSYS Inc\v150\CFX\bin\cfx5.exe"

 

Сохраняем, меняем расширение на .bat, запукаем. Enjoy.

 

Аналогично для udf для Fluent'a -- можно запустить Visual Studio Command Prompt, а оттуда -- флуент. Хотя VS обычно прописывает свои переменные в окружение при установке.

Для Abaqus -- тоже аналогично CFX. Либо дописать call C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010" в abq6131.bat (который в abaqus/commands) после @echo off, но перед всем остальным.

 

Все. Надеюсь, после 4 лет изначальный вопрос ветки можно считать закрытым)

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

Это тот случай, когда мог понадобиться португальский оригинал) Гугл-переводчик съел некоторую инфу.

 

В первом жирном абзаце создаем переменную include

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

 

*************************

 

Именно из-за того, что все переменные предлагается вбить вручную, мне такая инструкция и не кажется удобной. Тем более, если установлено много прог, то все новые значения могут банально не влезть в отведенное кол-во символов (вроде 256). Более простой, как по мне, путь:

 

1. Устанавливаем Visual Studio

2. Устанавливаем компилятор фортрана с интеграцией в Visual Studio

3. Запускаем Fortran Build Environment (Пуск > Все Программы > Intel ....)

4. Оттуда уже через командную строку запускаем CFX

 

Смысл в том, что при запуске Build Environment будут настроены все нужные переменные, даже те, о которых в англо-португальском документе не знали или забыли.

 

Если же фортраном для CFX пользуемся часто, можно создать специальный .bat и пользоваться им. К примеру, у меня в свойствах ярлыка к Fortran Build Environment записано следующее (это где Пуск > Все Программы > Intel .... а потом RMB > Свойства):

 

C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010"

 

Копируем в блокнот и добавляем нужное, чтобы получить (жирным показаны добавления):

 

call C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010"

call "C:\Program Files\ANSYS Inc\v150\CFX\bin\cfx5.exe"

 

Сохраняем, меняем расширение на .bat, запукаем. Enjoy.

 

Аналогично для udf для Fluent'a -- можно запустить Visual Studio Command Prompt, а оттуда -- флуент. Хотя VS обычно прописывает свои переменные в окружение при установке.

Для Abaqus -- тоже аналогично CFX. Либо дописать call C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010" в abq6131.bat (который в abaqus/commands) после @echo off, но перед всем остальным.

 

Все. Надеюсь, после 4 лет изначальный вопрос ветки можно считать закрытым)

 

 

даже не знаю, как вас благодарить.

огромное спасибо!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      @Artas28так надо рецепт в массы нести, а то Ванёк ничему не научится
    • Orchestra2603
      Выкидываем не в смыле, что мы ее вырезаем.. Простите мне эту вольность)) Просто там две одинаковые строки. Достаточно рассмотреть только одну. Нет смысла хранить вторую строку в матрице, поскольку она ничего не привносит. Вы можете совершенно формально взять полученный i-й собственный вектор, умножить на матрицу K-lambda_i*M и получиь нулевой вектор.   На самом деле.. Мне прям пришлось прям подумать над аналогией с включением закрепления в статике. И это было полезно и интересно. Так что вам спасибо за "подгон", что называется )) Но все-таки разница есть ...   Вот у вас в статике:   И здесь действительно получается, что если мы зафиксируем, например, положив a=0, то это будет эквивалентно "выкидыванию" 1-го стобца и 2-й строки, и решению уже такой модифицированной невырожденной системы *в данном случае вообще тривиальной). При этом f2 просто станет узловой реакцией и определится как -f1 автоматически: К слову, можно положить любой a, не только нулевой. Результат будет такой же для сил, но прогибы, ясное дело, поменяются.   Но это отличается от нашей задачи на собственные значения. У нас нет внешних сил {f}.  А знaчит и упругие силы [K]{x} в системе должны быть равны нулю. И для нулевой собственной частоты мы по сути ищем такой набор перемещений, при которых в системе отсутствуют упругие силы.  И таких наборов перемещений бесконечно много. Вообще говоря, для трехмерных более сложных систем оказывается, что существует до 6-ти базисных векторов (понятно, что связанных с движениями как твердого целого), и любая линейная комбинация из этих векторов будет решением такой задачи. Но нам не нужно само решение! Нам нужен как раз сам базис пространства решений! Причем, сами вектора в этом базисе нас интересуют с точностью до множителя, ь.е. таких базисов можно напридумывать бесконечно много. Но нам нужен толкьо какой-то один базис, и всего-то. В этой простейшей задачке - это просто один вектор  {1, 1}. Можно взять {2,2} или {e,e} - не имеет значения, нас любой из них строит. И нам этого достаточно.    Обратите внимание, что этот вектор нельзя получить из задачи статики, где {f} ≠ {0}, положив какое-то значение для a, т.е. внедрив какое-то "закрепление" в вашей интерпретации.  Пожтому я убежден, что это другая задача, т дело тут не в закреплениях.   Не понимаю, про какую вы матрицу
    • Viktor2004
      Туда вроде наоборот заносится значение какое-то, но не считывается Смотрю чужие программы, там вроде только 8549 используют. При чем у них в программах циклы поболее моих, которыми я круги чертил O4198 ; #500=#8549 ; IF[ #8549 EQ 0 ] THEN ; #10409=0 ; ENDIF ; IF[ #8549 EQ 134 && #10409 EQ 0 && #10422 NE 0 ] THEN ; #10409=1 ; #10422=FIX[#10422 / 10] ; #10427=1 ; ENDIF ; IF[ #8549 EQ 48 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 0 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 49 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 1 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 50 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 2 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 51 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 3 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 52 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 4 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 53 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 5 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 54 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 6 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 55 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 7 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 56 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 8 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 57 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 9 ; #10427=1 ; ENDIF ; IF[ #10422 GT 9999 ] THEN ; #10422=FIX[#10422 / 10] ; ENDIF ; IF[ #500 EQ 249 && #8500 EQ 4170 ] THEN ; #8500=4601 ; M99 ; ENDIF ; IF[ #500 EQ 240 ] THEN ; IF[ #8500 EQ 4174 || #8500 EQ 4173 || #8500 EQ 4177 ] THEN ; #8500=4170 ; M99 ; ENDIF ; IF[ #8500 EQ 4178 ] THEN ; #8500=4170 ; M99 ; ENDIF ; ENDIF ; IF[ #500 EQ 248 && #8500 EQ 4170 && D34.0 NE 0 ] THEN ; #8500=4174 ; M99 ; ENDIF ; IF[ #500 EQ 247 && #8500 EQ 4170 && D30.4 EQ 1 && D29.6 EQ 0 ] THEN ; #8500=4175 ; M99 ; ENDIF ; IF[ #500 EQ 246 && #8500 EQ 4170 && D35.0 EQ 1 && D35.4 EQ 1 ] THEN ; #8500=4178 ; M99 ; ENDIF ; IF[ #8549 EQ 152 && #10409 EQ 0 && #10422 EQ 5656 ] THEN ; #8500=4177 ; M99 ; ENDIF ; M99 ;  
    • nicomed
      Как победить проблему с блокированием сегментов эскиза не знаю. Поэтому пока полумеры... Ввел активацию чертежного листа после разрыва линии. Для разблокирования сегментов после закрытия программы двойным кликом активировать чертежный вид, где надо двигать сегменты эскиза. Добавил настройки. Можно настроить величину генерируемого зазора в  файле options.xml. По толщине и стилю линии, если кто подскажет как прочитать стиль и толщину выбранной кромки ( силуэтной кромки), то тогда можно будет "напосмотреть".   Пару раз натыкался на такой глюк - остается только один сегмент эскиза, грешу на рассинхронизацию работы солида и приложения. EdgeTrim_v3.3.zip
    • si-64
      да, это работает. спасибо. но как то особо не работал со слоями, нужно прямо заморачиваться(
    • nicomed
    • Stanislav
      Фрезеровка и токарка ЧПУ. Территориально Нижний Новгород, отправка в регионы ТК. Фрезеровка Алюминия и его сплавов, Латунь, Текстолиты, Сталь в небольших объемах. Токарка как цветные так и черный металлов и неметаллов. Габариты деталей для фрезеровки порядка 400мм*600мм. Оплата, пока что, наличные или на карту. Чертежи и модели отправлять на почту 0563506@mail.ru там же все согласования и обсуждения.
    • Александр1979
      Можно попробовать код считывать из переменной #8501. В руководстве написано что значение сохраняется в переменной до тех пор, пока не будет произведено чтение из неё.
    • si-64
      Можно ли сделать так чтобы в чертеже все размеры были черные, а в эскизе детали цвета управляемых и управляющих различались? настройка меняет цвет как в чертеже так и в эскизах: Зачем это нужно? В чертеже есть элементы, отличные от черного, поэтому вариант печати (сохранения в PDF) в ч/б не устраивает.
    • Artas28
      Шота получилось. Всё равно. Жду ответа от гуру NX, как сделать фаску красиво в 5 осях, что бы вектор инструмента менялся.  
×
×
  • Создать...