CATIA入门操作案例——零件绘制案例,实体间的布尔操作,弦圆角和螺纹孔,多截面拉伸

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

引出

CATIA入门操作案例——零件绘制案例,实体间的布尔操作,弦圆角和螺纹孔,多截面拉伸


零件绘制

实体的布尔运算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

技巧:快速选择封闭的草图轮廓,搜索

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

弦圆角 和 螺纹孔

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

联合修剪的使用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

弦圆角的使用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多截面拉伸

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

实体相交运算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


总结

CATIA入门操作案例——零件绘制案例,实体间的布尔操作,弦圆角和螺纹孔,多截面拉伸


其他内容

异形弹簧

新建几何体

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

草图编辑,画一条样条线

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进行扫掠,圆心和半径

在这里插入图片描述

画出曲面上的螺旋线

定义直线,选择曲线的角度/法线

在这里插入图片描述

在曲线上创建点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

支持面选择扫掠面,角度7度,终点设置大一点,选中支持面上的几何图形

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

再次选择扫掠,圆心和半径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双击修改,调整一下样条曲线

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其他

自定义信号和槽

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();
    });
### 使用 `@PreAuthorize` 注解时自定义异常处理 在使用 `@PreAuthorize` 进行权限控制的过程中,默认情况下如果权限校验失败会抛出 `AccessDeniedException` 或者 `InsufficientAuthenticationException`。为了实现更友好的用户体验,可以对这些默认行为进行定制化。 #### 定制全局异常处理器 创建一个控制器建议类来捕获并处理特定的安全异常: ```java @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(AccessDeniedException.class) public ResponseEntity<String> handleAccessDeniedException(AccessDeniedException ex) { return new ResponseEntity<>("您没有足够的权限执行此操作", HttpStatus.FORBIDDEN); } @ExceptionHandler(InsufficientAuthenticationException.class) public ResponseEntity<String> handleInsufficientAuthenticationException( InsufficientAuthenticationException ex) { return new ResponseEntity<>("认证不足,请先登录", HttpStatus.UNAUTHORIZED); } } ``` 上述代码片段展示了如何捕捉来自安全框架的不同类型的异常,并返回适当的消息给客户端[^1]。 #### 修改现有的方法级安全性配置 确保应用程序上下文中启用了预授权支持以及表达式语言解析器的支持。这通常是在启动类上完成的: ```java @SpringBootApplication @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 这段设置允许开发者利用像 `@PreAuthorize` 其他类似的注解来进行细粒度的方法级别保护。 #### 实现自定义逻辑判断 对于更加复杂的场景,比如基于业务规则决定是否授予访问权,则可以在服务层编写相应的检查函数,并将其注册到 SpEL 表达式的环境中供 `@PreAuthorize` 调用: ```java @Component("el") public class ExpressionUtils { private final UserService userService; @Autowired public ExpressionUtils(UserService userService){ this.userService=userService; } public boolean check(String role){ Authentication authentication= SecurityContextHolder.getContext().getAuthentication(); String currentUserName=((UserDetails)authentication.getPrincipal()).getUsername(); Optional<UserEntity> userOpt=this.userService.findByUsername(currentUserName); if(!userOpt.isPresent()){ throw new UsernameNotFoundException("找不到用户名"); } UserEntity currentUser=userOpt.get(); // 假设这里有一个方法用于验证用户是否有指定的角色 return currentUser.hasRole(role); } } ``` 在这个例子中,每当遇到带有 `@PreAuthorize("@el.check('roleName')")` 的地方都会调用上面定义的服务端点去评估当前用户的资格[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arya's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值