基于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第三方库


热门话题
java如何使用jaxb整理集合?   java改装添加带有令牌和id的标头   Java Webstart在启动应用程序之前停止   mysql将请求主体作为JSON存储到Java数据库中   春天3。从Java 7更新到Java 8后x应用程序不工作   java如何为我的mock实例化unirest HttpResponse<JsonNode>?   java两个servlet在同一场战争中与两场独立战争中的利弊?   java Mockito验证未失败   GWT中的java文件读取器   java避免代码重复   java谁将设置saml cookie,其中包含凭证信息   java如何修改jar包代码,然后重新导出更新的jar包?   BST数据结构中的java递归差异   java如何从文本文件中读取存储的哈希表?   带有quercus的java php comet   java从SeleniumWebDriver写入json变量   javascript如何在同一个action类中对方法调用action?