You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CadQuery Python对螺栓头部顶角进行45°切削处理?

如何用CadQuery实现螺栓头部顶角45°切削处理

方法一:精准倒角法(最简洁)

利用CadQuery的倒角功能,通过计算准确的倒角尺寸,直接对螺栓头部顶部边缘进行45°倒角:

import cadquery as cq
from math import sqrt

head_diameter = 10.0  
head_height = 5.0     
shaft_diameter = 5.0 
shaft_length = 20.0   

# 计算六角头外圆半径与内切圆半径(对边距离的一半)
outer_r = head_diameter / 2
inner_r = outer_r * sqrt(3)/2  
# 45°倒角时,倒角深度(沿Z轴)等于径向偏移量(outer_r - inner_r)
chamfer_size = outer_r - inner_r

# 创建六角头部并倒角
bolt_head = (
    cq.Workplane("XY")
    .polygon(6, head_diameter)  # 基于外切圆直径创建六角形
    .extrude(head_height)
    .edges(">Z")  # 选中头部顶部的所有边缘
    .chamfer(chamfer_size)  # 应用计算好的45°倒角
)

# 创建螺杆并合并
bolt_shaft = (
    cq.Workplane("XY")
    .circle(shaft_diameter/2)
    .extrude(-shaft_length)
)

bolt = bolt_head.union(bolt_shaft)
show_object(bolt)

原第一种方法的问题分析:

  • 使用固定值chamfer(1)而非计算出的45°对应尺寸,导致角度不符合要求
  • edges("Z")选择器不准确,应使用edges(">Z")指定头部顶部的边缘
  • 多余的translate操作反而干扰了边缘选择的准确性

方法二:实体切削法(适合复杂角度需求)

通过创建圆台切削实体,切除螺栓头部顶角,实现45°斜面效果:

import cadquery as cq
from math import sqrt

HEAD_DIAMETER = 20.0    
HEAD_HEIGHT = 10.0      
SHAFT_DIAMETER = 8.0    
SHAFT_LENGTH = 30.0     

outer_r = HEAD_DIAMETER / 2
inner_r = outer_r * sqrt(3)/2  
# 45°切削时,切削深度等于径向偏移量
cut_depth = outer_r - inner_r

# 创建六角头部
hexagon = (
    cq.Workplane("XY")
    .polygon(6, HEAD_DIAMETER)
    .extrude(HEAD_HEIGHT)
)

# 创建切削用圆台:顶部为六角头内切圆尺寸,底部大于外圆,向下延伸切削深度
cutter = (
    cq.Workplane("XY")
    .workplane(offset=HEAD_HEIGHT)  # 定位在六角头顶部
    .circle(inner_r)
    .workplane(offset=-cut_depth)  # 向下移动切削深度
    .circle(outer_r * 1.1)  # 底部尺寸足够大,确保完全切除顶角
    .loft(combine=True)
)

# 执行切削并添加螺杆
result = hexagon.cut(cutter)
shaft = (
    cq.Workplane("XY")
    .circle(SHAFT_DIAMETER/2)
    .extrude(-SHAFT_LENGTH)
)
result = result.union(shaft)

show_object(result)

原第二种方法的问题分析:

  • 切削方向错误:原代码中cutter向上延伸,无法正确切除顶角
  • 二次切削操作多余且错误:第一次cut后,>Z面已变为多个斜面,faces(">Z")会选中多个非平面,导致创建workplane时抛出ValueError: If multiple objects selected, they all must be planar faces.

内容的提问来源于stack exchange,提问作者Филипп Шувалов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:06:02