FreeCAD二次开发-一个简单的算法例子(对块的竖直边倒圆)

题目要求:

创建一个块,对块的所有Z轴竖直边进行倒圆。

已知:

坐标系XYZ是固定的。

思路:

1.创建块

2.遍历所有边,得到每条边的两个端点坐标

3.用每个点的Z坐标,起点-终点的绝对值>0,就得到四条竖直边。

导图:

import FreeCAD
import  FreeCADGui
import Part

# 显示FreeCAD界面
FreeCADGui.showMainWindow()

# 新建FC文件
FreeCAD.newDocument("123")

# 创建块
box=Part.makeBox(100,20,50)
# 获得块的所有边
edges=box.Edges

# 创建空列表
list = []
# 遍历所有边,判断Z坐标点,起点-终点的绝对值>0的为块Z轴方向的竖直边
for edge in edges:
    if ( abs(edge.Vertexes[0].Point[2] - edge.Vertexes[1].Point[2])) > 0:
        list.append(edge)

# 创建倒圆
b1=box.makeFillet(2,list)

#显示对象
Part.show(b1)

# 显示
FreeCADGui.ActiveDocument.Shape.Visibility=True

# 另存为
FreeCAD.ActiveDocument.saveAs("D:\123.FCStd")

# 关闭
FreeCAD.closeDocument("_23")

# 隐藏FreeCAD界面
FreeCADGui.getMainWindow().hide()

Caesar卢尚宇
2020年4月1日

原文地址:https://www.cnblogs.com/nxopen2018/p/12616324.html