西莫电机圈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 3470|回复: 7

[原创] Python调用Flux第二讲:新建、载入、关闭、保存Project

[复制链接]

该用户从未签到

发表于 2015-1-7 16:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 dnawujun 于 2015-1-7 16:09 编辑

上次讲到如何用Python启动、关闭FluxServer  http://bbs.simol.cn/thread-136819-1-1.html
今天与大家分享下如何用Python操纵FluxServer去载入、关闭、保存和新建Project
这里就不写上C原型函数了,直接给出Python调用
C原型请参考API_Flux_V11.2.doc
一.载入Project:
_FLUX_MP.FMP_loadProject(__serverUid,projectName)

二.关闭
_FLUX_MP. FMP_closeProject( __serverUid)

三.保存
_FLUX_MP.FMP_saveProject(__serverUid)

四.另存为
_FLUX_MP.FMP_saveProjectAs(__serverUid,projectName)

五.新建
这个需要特别说明一下,API_Flux_V11.2.doc中唯独没有newProject这个函数
为啥没有本人没有想明白
但是好在是API_Flux_V11.2.doc中有个这个函数:
H_ERROR FMP_executeJythonCommand (CEDINT32 serverUid,char* commandline)
注意API_Flux_V11.2.doc中错误的写成了executePythonCommand
所以还是看flux_mp.h来得靠谱点
这个函数的作用等同于我们在Flux环境中直接运行pyflux命令,这样啥事都能干,当然新建个Project也不在话下

_FLUX_MP.FMP_executeJythonCommand(self.__serverUid,"newProject()")
当然新建的这个project是没有名字的,如果要保存,一定要用saveProjectAs
不能用saveProject,否则出错

附上写好的测试文件,里面用类包装了下
运行的时候请双击bat文件,不要双击py文件,否则提示丢失rsiflux.dll的错误
Lecture2.rar (187.04 KB, 下载次数: 69)

评分

参与人数 2西莫币 +30 收起 理由
wshf + 15 原创内容
y1949b + 15 精品文章

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

发表于 2015-1-7 22:04 | 显示全部楼层
Thank u for the example
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2015-1-13 11:41 | 显示全部楼层
谢谢分享,此贴不顶,天理难容。谢谢。

补充内容 (2015-1-14 09:07):
为什么,我的电脑上点bat文件,只有一闪而过,没有任何显示和test2文件?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2015-1-14 09:20 | 显示全部楼层
thanks a lot for this exemple
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2015-1-14 20:27 | 显示全部楼层
本帖最后由 dnawujun 于 2015-1-14 21:07 编辑
watchingu 发表于 2015-1-13 11:41
谢谢分享,此贴不顶,天理难容。谢谢。

补充内容 (2015-1-14 09:07):


bat中我使用的是64位的flux,如果你的操作系统
是32位的,请修改bat中的相关设置

另外请查看INSTALLFLUX这个环境变量是否是正确的

还有python 2.7安装了没有?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2015-1-15 12:06 | 显示全部楼层
本帖最后由 watchingu 于 2015-1-15 13:13 编辑
dnawujun 发表于 2015-1-14 20:27
bat中我使用的是64位的flux,如果你的操作系统
是32位的,请修改bat中的相关设置


我的是64位的操作系统,装的是python3.4;
关于环境变量,flux我默认安装在c盘。INSTALLFLUX=C:\cedrat\Flux_11.2是否有问题?看下图。

环境变量PATH是否有什么要求?

另外直接运行FLUXAPI_test.py显示如下:
Traceback (most recent call last):
  File "E:\Lecture2\FluxAPI_Test.py", line 7, in <module>
    server = FluxServer()
  File "E:\Lecture2\FluxAPI\Server.py", line 19, in __init__
    self._FLUX_MP = _ct.CDLL(__FLUX_MP_PATH)
  File "C:\Python34\lib\ctypes\__init__.py", line 351, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。

在cmd中运行bat文件显示:

'python‘不是内部或外部命令,也不能运行可执行文件或批处理文件
flux1.png
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2015-1-15 13:24 | 显示全部楼层
watchingu 发表于 2015-1-15 12:06
我的是64位的操作系统,装的是python3.4;
关于环境变量,flux我默认安装在c盘。INSTALLFLUX=C:\cedra ...

环境变量path增加‘C:\Python34’后,cmd中运行bat文件还是显示:


Traceback (most recent call last):
  File "FluxAPI_Test.py", line 9, in <module>
    server.start(ServerType.FLUX2D_64, appPath+r'\TestProjects')
  File "E:\Lecture2\FluxAPI\Server.py", line 48, in start
    self.__CheckError(errorId)
  File "E:\Lecture2\FluxAPI\Server.py", line 37, in __CheckError
    raise ServerException(errorMsg)
FluxAPI.Server.ServerException: b'Cannot find server'
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2015-1-16 08:29 | 显示全部楼层
dnawujun 发表于 2015-1-14 20:27
bat中我使用的是64位的flux,如果你的操作系统
是32位的,请修改bat中的相关设置

解决了,我装上python2.7就没问题了。谢谢。{:soso_e102:}
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西莫电机圈 ( 浙ICP备10025899号-3 浙公网安备:33028202000436号

GMT+8, 2024-11-22 08:14 , Processed in 0.318401 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表