基于cadquery的层次化深度参数化模型

cqparts的Python项目详细描述


https://fragmuffin.github.io/cqparts/media/logo/dark.svg

什么是cqparts?

cqparts是python程序员的cad,缩写为“cadquery部分”。

使用cqparts可以包装用cadquery生成的几何图形来构建复杂的 以及深度参数化模型。

完整文档位于:https://fragmuffin.github.io/cqparts

安装

先决条件

您需要满足cadquery的要求,这是最简单的方法 即按照此处的说明首先安装cadquery

http://dcowden.github.io/cadquery/installation.html

pypi

安装cadquery后,使用以下命令安装cqparts

pip install cqparts

cqparts_*内容库

还可以使用类似的pip install命令安装工具集库。

列出可用的库:

pip search cqparts_

例如,要安装cqparts_bearings内容库,请运行:

pip install cqparts_bearings

示例用法

下面是一个最简单的例子,让您了解 图书馆有。

有关更详细的示例,请参见 the official documentation for cqparts

包装立方体 https://fragmuffin.github.io/cqparts/media/img/unit-cube.png

仅用cadquery定义的简单多维数据集:

# create unit cube solid
import cadquery
size = 10
cube = cadquery.Workplane('XY').box(size, size, size)

# display cube (optional)
from Helpers import show
show(cube)

cqparts.Part对象包装它可以这样做:

# create unit cube as cqparts.Part
import cadquery
import cqparts
from cqparts.params import PositiveFloat

class MyCube(cqparts.Part):
    size = PositiveFloat(1, doc="cube size")
    def make(self):
        return cadquery.Workplane('XY').box(self.size, self.size, self.size)

# create cube instance
cube = MyCube(size=10)

# display cube (optional)
from cqparts.display import display
display(cube)

你可以看到在引擎盖下面(在make函数中),几何体是 使用cadquery创建,但生成的MyCube类已实例化 更直观,更面向对象。

创建层次结构

cqparts还可用于创建部分的深层层次结构assemblies来构建非常复杂且完全参数化的东西。

一个简单的例子是 toy car tutorial

https://fragmuffin.github.io/cqparts/media/img/toy-car.png

cqparts功能

cqparts_fasteners中所做的工作是一个很好的例子,可以说明 cqparts包装可以;阅读Fastener类的工作原理, 我们能做些什么呢? cqparts_fasteners docs

https://fragmuffin.github.io/cqparts/media/img/nut-bolt-fastener.png

贡献

问题,和拉请求是鼓励的,并高兴地收到,请阅读 CONTRIBUTING.md 关于如何做出贡献的指导。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
SimpleDataFormat如何在Java中使用DateFormat解析月份完整格式字符串?   java如何使用JBPM引导规则创建规则流组?   java将SQL和应用程序服务器从Windows 2003迁移到Windows server 2012 R2   java游戏!Intellij IDEA中的2.0控制台无法工作   java如何获取线程内分配的变量值?   java Android翻译动画导致Clicklistener问题   当前平台不支持java桌面API   java删除hashmap条目的方法是什么   用Spring MVC提供Java模型的RDF表示?   JAVA未安装Java的计算机上的lang.UnsupportedClassVersionError   java SQLite从3个表中获取使用组合的对象列表   来自的TLS握手错误的java云数据流BQ输出挂起作业   java如何使用SPARQL进行排名?   java如何在Netbeans 7.1.2中设置${user}的值?   java如何删除括号内的字符串?