自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 python gmesh剖分step、stl模型

1.gmsh配置首先需要安装gmsh库,但是用pip有时候会安装不上,比如一直显示在安装卡死等等,可以参考这篇博客进行本地安装。gmsh python配置就是将gmsh安装包下载下来,用7z之类的软件解压完后,注释steup.py中下载gmesh软件的代码,然后自己手动下载gmesh软件的压缩包,放在gmsh解压目录下再进行安装即可。2.剖分首先STEP与STL文件的模型工艺是完全不一样的,STEP记录了模型的各种组成部分,是用来网格剖分比较良好的格式,而STL文件实际只是记录了大量的三角面信息,

2021-01-25 17:17:13 4123 6

原创 pyside2打包后运行exe后发生shiboken2库dll缺失问题

出现问题的python版本:3.6.3、3.6.10升级python版本解决问题:3.7.9

2020-09-04 16:31:19 947

原创 matplotlib打包出现NameError、KeyError等错误解决方法

matplotlib版本:3.3.1使用pyinstaller打包,运行时会出现NameError、KeyError等内部函数调用错误,解决方法是需要将matplotlib中mpl-data的matplotlibrc加到打包后的matplotlib文件夹中,但不知道为什么在spec中指定了data并且生成文件中也有对应文件,运行依然出错。对比后发现新文件要比原文件多出0.3k,而打包后根目录又自动有mpl-data文件夹,所以我在初始化代码中加入下面这段,移动对应文件夹中的matplotlibrc文件到

2020-09-04 11:08:59 1677

原创 matplotlib嵌入pyqt5绘制2D、3D图

没多少代码,应该不难看懂matplot部分from matplotlib.figure import Figurefrom matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvasfrom mpl_toolkits.mplot3d import Axes3Dclass plotCanvas(FigureCanvas): def __init__(self, title, parent=None

2020-07-30 13:53:16 1566

原创 pythonOCC各种实用的方法

混合多个模型为一个模型def fix_shape(*args): if len(args) == 0: return None fix_shape = None for shape in args: if fix_shape == None: fix_shape = shape continue fix_shape = BRepAlgoAPI_Fuse(fix_shape.Shape.

2020-07-24 08:59:56 1983

原创 pythocc各种生成平面方法

生成面可以使用BRepBuilderAPI_MakeFace,基本的生成顺序是:Edge–>Wire–>Face,除了个别形状(如矩形)矩形# 参数为长、宽、ax3(中心点与方向)def createSquarePlane(w, h,ax3 = gp_Ax3(gp_Pnt(0,0,0),gp_Dir(0,0,1))): pln = gp_Pln(ax3) face = BRepBuilderAPI_MakeFace(pln, -w, w, -h, h) retu

2020-07-23 17:30:59 586

原创 Flask+Celery+Redis简单操作

结构树安装各种包pip install celerypip install radisinit.py文件中添加celery实例的创建函数def make_celery(app=None): app = app or create_app('default') # 异步队列 celery = Celery(app.name, broker=CELERY_BROKER_URL, backend=CELERY_RESULT_BACKEND) celery.conf.u

2020-06-12 08:44:54 1340 2

原创 Qt 简单嵌入外部程序到qt窗口中

做一个经典的将计算器嵌入到程序中,但是中间遇到了些问题,记录下首先需要spy++这个工具查看类名,可以看到,类名为CalcFrame接下来调用Windows的API来获取句柄,如果使用MSVC2017大概率会发生LNK2019等链接错误,只要换成MSVC2015 32bit的编译器就可以解决问题了WId wid = (WId)FindWindow(L"CalcFrame",NULL);...

2020-05-06 17:24:34 3115

原创 Django项目使用pyinstall打包步骤(包含各种出错处理方法)

由于需要虚拟环境中各种依赖的库,在其他电脑开启本地服务,所以将Django项目进行打包,以下是各种步骤以及出错的处理安装pyinstall我在使用pip安装pyinstall的时候,会出现大量的红字错误,只需要按照下面的指令一个个执行就好了pip install pywin32;pip install wheelpip install -U setuptoolspip instal...

2020-04-29 15:17:40 3752

原创 python OCC两种常用的二维封闭线生成三维图形方法

有时候构建一个规则的三维形状却有部分带着复杂的曲线,通过直接生成三维图形再进行修改是件很难又很麻烦的事情,OCC库中可以通过对一个平面进行不同操作来生成三维图形,常用的方法有下面两种平面向量拉伸中心旋转先来介绍平面向量拉伸,复杂的曲线可以自己去研究怎么生成,这里只演示一个正方行二维线段如何拉伸成长方体首先需要四个点生成一个正方形封闭线段,这是生成函数#二维直线生成def creat...

2020-04-27 11:41:06 2236

原创 python OCC获取模型三角剖分的坐标点

通过获取三角剖分的坐标点可以大概提取三维模型分布范围,通过浏览OCC C++的API网站,可以查找和阅读三角剖分的相关API。OCC C++ API我们可以在BRep_Tool这个包里可以找到有关三角坐标点的函数Triangulation,他的第一个参数是拓扑形状中的面类型,我们可以通过拓扑形状探索类TopologyExplorer来遍历一个shape的所有面。然后他的第二个参数是locati...

2020-04-07 17:24:59 2065

原创 python OCC读取STL、STEP文件并显示模型

因为工作原因需要使用OCC库解析模型文件,分享下过程中遇到的知识点。但是python OCC的资料比较少,所以一般只能参考下官方或者其他人的案例,然后浏览一些相关书籍。关于里面的API其实都可以查找OCC的C++网站查找,懂C++的很好看懂,不懂的也不会说特别难看懂,下面是API网站OCC C++ API好,直接进入正题,在上面那个网站搜索brep,stl,step都可以查找到对应的api。...

2020-04-07 16:58:27 9409 2

原创 Qt5.14 QChart简单曲线图

首先需要创建一个ChartView视图用于显示,可以在ui用一个Widget控件作为父控件。QChartView *chartView = new QChartView(this);//创建一个ChartView视图对象然后创建QChart图表 QChart *chart = new QChart();//创建QChart对象 chart->setTitle("简单的函...

2020-03-11 22:41:48 2491

原创 QML/C++的BLE蓝牙小车遥控器(开源)

软件使用QML/C++混合编程实现的,目前仅支持BLE低功耗蓝牙的连接,可能会在以后的版本支持SPP的蓝牙。提供按键和转盘实现对小车的控制,基本原理都是按下按键或转盘转到一定角度区间会发送相应的指令(都是单字符),松开手指时会发送停止指令。注意:不支持SPP的蓝牙,后续可能会更新修改后的指令只是临时的,后续会采用文件存储的方式保存修改的指令必须先右滑转到程序的连接界面连接蓝牙才可以发送...

2020-03-08 13:15:59 1595

原创 QML中将坐标转化为图形角度(rotation)

今天试着做一个能跟着手指转动方向的转盘,其中需要将鼠标事件的坐标值转化为Rectangle的rotation。首先是求斜率,假设原点为(0,0),那么斜率就是y/xcircleControl.recY/circleControl.recX已知斜率就可以求角度,但是用Math.atan求出的是弧度,需要进一步转化为角度Math.atan(circleControl.recY/circleC...

2020-03-03 09:58:01 1468 1

原创 Qt ComboBox的重置与信号槽的冲突

今天做了个两个QComboBox互相联动的功能,发现如果将一个ComboBox使用clear()方法清空,会发送CurrentTextChange信号到槽函数,控制台会输出这句异常ASSERT failure in QList<T>::operator[]: "index out of range", file D:/qt/5.14.1/mingw73_64/include/QtCo...

2020-02-29 20:11:01 2489

原创 Qt Http get请求温度湿度

项目里需要用到温度湿度的功能,所以就来做一下了,接口是用阿里云上免费的接口,如下图左边query相当于是请求的参数,具体是需要看接口的帮助的,这里的接口就只需要写城市名,再请求,右上交的Request就是系统帮你写的Http报文,在其下面的第三个板块(带{}的)则是返回的json数据,复制它去json解析的网站就能看到其结构了,如图解析网站是json解析下面就是Qt请求的代码需要包含以...

2020-02-17 19:51:00 438

原创 使用QML实现轮播图

今天下午想试一下用QML实现轮播图,用的是SwipeView和PageIndicator,在实现过程中,我发现会一次性出现2张图片,后来发现只是因为SwipeView这个组件并不是真正一次显示一个组件,所以解决办法就是在给它一个Rectangle作为父组件,并且clip设为true以截断多出来的部分,代码如下。import QtQuick 2.0import QtQuick.Controls ...

2020-02-15 19:36:29 1464

原创 Qt for Android 使用BLE串口蓝牙发送数据

最近搞毕设,买了个串口BLE蓝牙想配合Qt for Android做一个自制的遥控器,参考了很多qt蓝牙的文章,最后弄成apk发现连接不了我的蓝牙,折腾了好久发现Qt官方的蓝牙套接字只适用于SPP传输的蓝牙,而BLE蓝牙则有专门实现代码,说实话比蓝牙套接字复杂了好几百倍,而且官方的示例工程是一些有特殊功能的蓝牙,不太能移植到单单发送数据的串口蓝牙。由于我对蓝牙研究也不是很深,参考了很多大佬的博客,...

2020-02-04 16:08:45 5521 10

原创 Qt重新安装后,Qt for Android无法编译成功的问题

Qt重新安装后,Qt for Android无法编译成功的问题今天遇到了个很头疼的问题,我将Qt5.12卸载了,重新安装了Qt5.14版本,发现我的QtAndroid程序无法编译成功,编译输出的主要错误是这一段Failed to install the following Android SDK packages as some licences…大概的意思是应该是无法成功获取SDK安装包的...

2020-02-04 15:27:57 1164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除