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, math?def 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 myBody?el = makeBottleTut()Part.show(el)?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711352.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711352.shtml
英文地址,請注明出處:http://en.pswp.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…