FreeCAD|读取STEP、创建平面、相交、瓶子

FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台。FreeCAD可运行于Windows以及Linux系统环境下,是一种通用的3D CAD建模工具,其发展是完全开源的(遵循GPL的LGPL许可证)。

FreeCAD的直接应用目标是机械工程和产品设计,但其用途十分广泛,也适用于建筑或其他工程专业,工程制图等领域。FreeCAD具有类似CATIA,SolidWorks或Solid Edge的工具,因此也将提供CAX(CAD,CAM,CAE),PLM等功能。这是一个基于参数化建模功能与模块化的软件架构,使得它易于无需修改核心系统即可提供额外的功能。

在FreeCAD中使用Python脚本编写可以极大地扩展其功能,并允许用户自动化设计流程、创建自定义工具和宏,以及进行高级的参数化设计。以下是一些FreeCAD中Python脚本编写的示例:

导入STEP

import Parts = Part.Shape()s.read(u"d:/Documents/drill.step")Part.show(s)

创建平面

plan1=Part.makePlane(2,2,App.Vector(-1,-1,0.8),App.Vector(0,0,1))Part.show(plan1)

布尔相交

k=s.common(plan1)Part.show(k1)

瓶子建模

import FreeCAD as Appimport Part, mathdef makeBottleTut(myWidth = 50.0, myHeight = 70.0, myThickness = 30.0):    aPnt1=App.Vector(-myWidth / 2., 0, 0)    aPnt2=App.Vector(-myWidth / 2., -myThickness / 4., 0)    aPnt3=App.Vector(0, -myThickness / 2., 0)    aPnt4=App.Vector(myWidth / 2., -myThickness / 4., 0)    aPnt5=App.Vector(myWidth / 2., 0, 0)    aArcOfCircle = Part.Arc(aPnt2, aPnt3, aPnt4)    aSegment1=Part.LineSegment(aPnt1, aPnt2)    aSegment2=Part.LineSegment(aPnt4, aPnt5)    aEdge1=aSegment1.toShape()    aEdge2=aArcOfCircle.toShape()    aEdge3=aSegment2.toShape()    aWire=Part.Wire([aEdge1, aEdge2, aEdge3])    aTrsf=App.Matrix()    aTrsf.rotateZ(math.pi) # rotate around the z-axis    aMirroredWire=aWire.copy()    aMirroredWire.transformShape(aTrsf)    myWireProfile=Part.Wire([aWire, aMirroredWire])    myFaceProfile=Part.Face(myWireProfile)    aPrismVec=App.Vector(0, 0, myHeight)    myBody=myFaceProfile.extrude(aPrismVec)    myBody=myBody.makeFillet(myThickness / 12.0, myBody.Edges)    neckLocation=App.Vector(0, 0, myHeight)    neckNormal=App.Vector(0, 0, 1)    myNeckRadius = myThickness / 4.    myNeckHeight = myHeight / 10.    myNeck = Part.makeCylinder(myNeckRadius, myNeckHeight, neckLocation, neckNormal)    myBody = myBody.fuse(myNeck)    return myBodyel = makeBottleTut()Part.show(el)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录 关于navicat连接数据库报错1045的问题

重装数据库之后就连接不上了 报错1045 而网上的解决方案大都是更改数据库密码,但是我在第一步就被卡住无法更改密码,输入指令也报错,检查的环境变量也没错,经过长时间的试错终于找到解决了办法 解决办法 删除data文件夹 如果无法…

积累:Qt 多种数据类型之间的转换方法

前言 开发时经常涉及到数据类型的转换,为方便温故知新、提升开发效率,现将 Qt 开发部分常用的数据类型转换方式形成工具文档供查询、参考。 1. int 转 QString 1)函数:QString::number 2)函数原型 //将数字&#xff0…

LD: 利用Plink软件进行连锁不平衡计算和绘图

输入文件详解 PLINK主要使用以下三种文件格式: .ped文件:文本文件,列出所有样本的基因型数据。每行代表一个样本,包含个体和家系信息,以及其对应的基因型数据。.map文件:文本文件,与.ped文件配合使用,列出了基因型数据中所有SNP的位置信息。每行代表一个SNP,包含染色…

Python:练习:输出int值a占b的百分之几。例如:输入1和4,输出:25%。

案例: 输出int值a占b的百分之几。例如:输入1和4,输出:25%。 思考: 所有的一步步思考,最后综合起来。 首先,确定 输出,那么就用input,而且是int值,所以肯定…

springboot2.6.5 下配置ForkJoinPool线程池大小

从java1.7开始,引入了parallelStream的方式使用ForkJoinPool多线程处理数据的方式,ForkJoinPool默认线程池大小是cpu内核数-1,并且可以通过以下方式配置线程池大小: System.setProperty("java.util.concurrent.ForkJoinPool…

C++设计模式_创建型模式_工厂方法模式

目录 C设计模式_创建型模式_工厂方法模式 一、简单工厂模式 1.1 简单工厂模式引入 1.2 简单工厂模式 1.3 简单工厂模式利弊分析 1.4 简单工厂模式的UML图 二、工厂方法模式 2.1 工厂模式和简单工厂模式比较 2.2 工厂模式代码实现 2.3 工厂模式UML 三、抽象工厂模式 3.1 战斗场景…

MDS300-16-ASEMI整流模块MDS300-16参数、封装、尺寸

编辑:ll MDS300-16-ASEMI整流模块MDS300-16参数、封装、尺寸 型号:MDS300-16 品牌:ASEMI 封装:M25 最大重复峰值反向电压:1600V 最大正向平均整流电流(Vdss):300A 功率(Pd):大功率 芯片…

centos 安装 glibc2.25

在 CentOS 7 系统上安装 glibc 2.25 需要非常谨慎,因为 glibc 是系统核心库之一,升级它可能导致与系统其他组件的兼容性问题。CentOS 7 自带的 glibc 版本较低,直接替换为高版本可能会导致依赖于旧版 glibc 的系统软件崩溃。 以下是一般情况…

Flink——芒果TV的实时数仓建设实践

目录 一、芒果TV实时数仓建设历程 1.1 阶段一:Storm/Flink JavaSpark SQL 1.2 阶段二:Flink SQLSpark SQL 1.3 阶段三:Flink SQLStarRocks 二、自研Flink实时计算调度平台介绍 2.1 现有痛点 2.2 平台架构设计 三、Flink SQL实时数仓分…

面试笔记系列三之spring基础知识点整理及常见面试题

目录 如何实现一个IOC容器? 说说你对Spring 的理解? 你觉得Spring的核心是什么? 说一下使用spring的优势? Spring是如何简化开发的? IOC 运行时序 prepareRefresh() 初始化上下文环境 obtainFreshBeanFactory() 创建并…

Linux系统加固:如何有效管理系统账号

Linux系统加固:如何有效管理系统账号 1.1 口令重复次数限制1.2 避免系统存在uid相同的账号1.3 空密码的帐户1.4 口令复杂度1.5 口令生存期1.6 登录失败次数锁定策略 💖The Begin💖点点关注,收藏不迷路💖 在Linux系统中…

为什么软考报名人数越来越多?

2020年软考报名人数404666人,广东省报考人数超过14万人。 ●2021年软考通信考试报名人数突破100万人,估计软考有90多万。 ●2022年软考通信考试共129万人,估计软考占了120多万人。 ●2023年软考具体报名人数没有公布,但工业和信…

【AI+应用】aliyun的EMO图生视频模型引起的思考如何做AI数字人

昨天2 月 29 日消息,2 月 28 日,阿里巴巴集团智能计算研究院日前上线了一款新的 AI 图片 - 音频 - 视频模型技术 EMO,官方称其为 " 一种富有表现力的音频驱动的肖像视频生成框架 "。据悉,用户只需要提供一张照片和一段任…

springboot235基于SpringBoot的房屋交易平台的设计与实现

房屋交易平台设计与实现 摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互…

死记硬背spring bean 的生命周期

1.bean的生命周期 我们平常经常使用类似于new Object()的方式去创建对象,在这个对象没有任何引用的时候,会被gc给回收掉。而对于spring而言,它本身存在一个Ioc容器,就是用来管理对象的,而对象的生命周期也完全由这个容…

Spring之AOP入门

1.AOP介绍 AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构,作用是在不改动原始设计的基础上为其进行功能增强 2.AOP的核心概念 概念定义SpringAOP(注解开发&am…

性能测试-反编译jar

方法一,使用jd-gui 1、官网下载:Java Decompiler 2、下载mac版本后,解压,如下所示: 双击 JD_GUI,提示错误,如下所示: 已经安装了java 17,是java 1.8以上版本&#xff0…

Unity中URP下实现水体(水面高光)

文章目录 前言一、实现高光反射原理1、原理:2、公式: 二、实现1、定义 _SpecularColor 作为高光反射的颜色2、定义 _SpecularIntensity 作为反射系数,控制高光反射的强度3、定义 _Smoothness 作为高光指数,用于模型高光范围4、模拟…

ADO.NET+kafka实现发布订阅保存到数据库

​​​​​​ADO.NETkafka实现发布订阅保存到数据库 在.NET应用程序中,ADO.NET通常用于数据库操作,而Apache Kafka是一个分布式流处理平台,它允许发布(Producer)和订阅(Consumer)消息流。使用A…

深入理解c指针(四)

目录 六、assert断言 七、指针的使用和传址调用 1、strlen的模拟实现 2、传值调用和传址调用 3、练习-字符串逆序 在深入理解c指针&#xff08;三&#xff09;提到&#xff0c;在实际使用指针前可以检测其是否指到有效空间&#xff1a; #include<stdio.h> int mai…