目录
引出
可计算离散整体几何结构的 MeshDGP使用——基于C#的geometry processing framework几何处理框架的下载和使用指引
MeshDGP
项目下载和打开
https://github.com/shenxiyou/MeshDGP
vs2019打开文件夹
进行视图的切换
遇到的报错解决
下载一下2013
【开发环境】安装 Visual Studio Ultimate 2013 开发环境 ( 下载软件 | 安装软件 | 运行软件 )-CSDN博客
安装好vs2013之后,其实就有了v120生成工具,然后再回到vs2019里面,运行即可
如何运行使用
打开使用
选择一个点
选择完一个点之后,按住A键,然后再选择另外一个点
选择距离,会计算出测地线的长度,点击右键,会出现测地线
如果想剪切,进行cut
函数工具菜单等
网格等
特征线非常有用
总结
可计算离散整体几何结构的 MeshDGP使用——基于C#的geometry processing framework几何处理框架的下载和使用指引
其他
CAD/CAE/CAM几何引擎-软件概述 郝建兵
CAD/CAE/CAM
CAD
CAE
CAM
几何模型内核
国内用的大多是 Open CASCADE,但是技术比较老了
ACIS 两个老大之一
Open Cascade
Parasolid 两个老大之一
Autodesk的内核
各种CAD
AC3D
Alibre Design
Archicad
AutoCAD
Autodesk Inventor
AXSTREAM
BricsCAD
CATIA
Cobalt (CAD program)
CorelCAD
Fusion 360
IntelliCAD
IRONCAD
KeyCreator
Landscape Express
MEDUSA
MicroStation
Modelur
Onshape
PTC Creo
Remo 3D
Rhinoceros 3D
Siemens NX
SketchUp
Solid Edge
SpaceClaim
T-FLEX CAD
Vectorworks
BRL-CAD
FreeCAD
乐高模型
LeoCAD
OpenSCAD
QCAD
Salome (software)
Salome (software)
SolveSpace
BricsCAD
TiffinCAD
Tinkercad
其他
自定义信号和槽
1.自定义信号
写到signals下
返回void
需要声明,不需要实现
可以有参数,可以重戟
2.自定义槽
返回void
需要声明,也需要实现
可以有参数,可以重载
写到public slot下或者public或者全局函数
3.建立连接
// 老师饿了,学生请吃饭
connect(te,&Teacher::hungry,st,&Student::treat);
4.进行触发
自定义信号重载
当自定义信号和槽出现重载
8.1 需要利用还数指针明确指向函数的地址·
8.2void(Teacher::tsignal )QString )=&Teacher::hungry;
8.3 QString转成char *
8.3.1.ToUtf80转为QByteArray
8.3.2.Data0转为Char *
8.4信号可以连接信号
8.5断开信号disconnect
带参数的
void (Teacher::*teacherSignal)(QString) = &Teacher::hungry;
void (Student::*StudentSlot)(QString) = &Student::treat;
void Student::treat(QString foodName){
// QString -> char * 先转成QByteArray(.toUtf8()) 再转成Char* ()
qDebug() << "请老师吃。。。" << foodName.toUtf8().data();
}
按钮触发
// 用一个按钮调用下课
QPushButton *btn = new QPushButton("下课了",this);
// 重置窗口daxiao
this->resize(600,400);
connect(btn,&QPushButton::clicked,this,&Widget::classIsOver);
信号触发信号
// 无参的信号和槽连接
void (Teacher::*teacherSignal2)(void) = &Teacher::hungry;
void (Student::*StudentSlot2)(void) = &Student::treat;
connect(te,teacherSignal2,st,StudentSlot2);
// 信号连接信号
connect(btn,&QPushButton::clicked,te,teacherSignal2);
断开信号disconnect
拓展
1、信号是可以连接信号
2、一个信号可以连接多个槽函数
3、多个信号可以连接同一个糟函数
4、信号和槽函数的参数必须类型一一对应
5、信号和槽的参数个数是不是要一致?信号的参数个数可以多余槽函数的参数个数
connect(信号的发送者,发送的信号signal信号),信号接受者,槽函数SLOT)
优点:参数直观
缺点:编译器不会检测爸数类型:
lambda表达式
[=](){
btn->setText("aaa");
}();
返回值
int ret = []()->int{return 1000;}();
qDebug() << "ret = " << ret;
mutable修饰
QPushButton *myBtn1 = new QPushButton(this);
QPushButton *myBtn2 = new QPushButton(this);
myBtn1->move(100,100);
int m = 10;
connect(myBtn1,&QPushButton::clicked,this,
[m]()mutable {m=100+10;qDebug()<< m;});
connect(myBtn2,&QPushButton::clicked,this,
[=](){qDebug()<<m;});
qDebug() << m;
案例
QPushButton * btnClose = new QPushButton;
btnClose->setText("close");
btnClose->move(100,0);
btnClose->setParent(this);
connect(btnClose,&QPushButton::clicked,this,
[=](){
btnClose->setText("关闭");
emit te->hungry("娃哈哈");
// this->close();
});
标签:信号,自定义,void,processing,framework,QPushButton,几何,Teacher,CAD
From: https://blog.csdn.net/Pireley/article/details/140098808