python写一段代码,编译后,可在命令行输入命令,修改fc模型参数表格中数据,模型变化后输出gltf或stp。
stp和glb(gltf+bin)格式:没有带材质。要想带材质,需要引入freecadGUI。

convertfc.exe -i d:/44.fcstd -o 4411.stp -p 200 20 3
-i 后面是输入模型文件路径
-o 后面是输出模型文件
-p 后面是参数,空格隔开多个参数

下图就是在命令行使用参数修改模型然后导出所需要的格式文件。

为何使用命令行工具?

因为跨语言调用,具体说go调用python,2种方式,一种是调用源码python运行,需要服务器配环境,众所周知,python环境是最难弄的,各种版本和各种依赖库……
一种是go调用python编译后的exe文件。
类似这种如大名鼎鼎的ffmpeg.exe
用于转码的应用程序:
ffmpeg -i input.avi -b:v 640k output.ts
具体用法参考: ffmpeg参数中文详细解释
详细的使用说明(英文):http://ffmpeg.org/ffmpeg.html
再比如ansys……batch模式
这种模式可以实现批量、自动处理任务(能否并发??也挺关键!),界面操作很难实现这些效率。
除了批量处理,对于应付网络服务上万人呢,也几乎只有这种方式可以应对。比如排队(并发就不用排队了吧)来修改模型、导出模型……
网络服务编程语言更加适合搞这种数据库,网络访问协议,界面……
所以编写这种exe是必须的,也是一个比较可行的方向。还有其他路线吗??
试想linux系统,哪有界面给你(centos有界面,但却不是默认安装选项……),一切都是命令里完成。

将文件夹下所有fcstd文件转换为glb文件

命令行执行:
当不带参数时候,转换exe文件所在文件夹下所有fcstd文件,包含子文件夹
当指定路径参数时,只转换指定路径下的所有fcstd文件,包含其子文件夹

D:\testfcconvertall>convertfcall
未输入可选参数--input_file_path
转换成功:.\55.glb
转换成功:.\66.glb
转换成功:.\22\44.glb

D:\testfcconvertall>convertfcall -i D:\testfcconvertall\22
输入可选参数--input_file_path
转换成功:D:\testfcconvertall\22\44.glb

D:\testfcconvertall>convertfcall -h
usage: convertfcall [-h] [-i INPUT_FILE_PATH]

读取文件夹下所有FreeCAD文件(*.FCStd)导出stpglTFglb格式模型文件

options:
  -h, --help            show this help message and exit
  -i INPUT_FILE_PATH, --input_file_path INPUT_FILE_PATH
                        target InputFilePath FreeCAD FCStd

D:\testfcconvertall>

Mindoc里展示三维模型

mindoc v2.1支持iframe标签
网页嵌入(iframe):
教程: HTML <iframe> 标签

1.配置文件 conf/app.conf 需要启用iframe:

enable_iframe = "${MINDOC_ENABLE_IFRAME||true}"

2.markdown内容编辑里输入

<iframe src="https://pass.itdos.net/v1/freecad/online3dview#model=/static/online3dview/8.glb"
        width=400 height=400
        style="border:1px solid #eeeeee;">
</iframe>

当页面不显示时,添加: is="x-frame-bypass"
注意:</iframe>后面要空一行,否则会影响后面的文档格式

上一篇:
下一篇: