ArchiGeo

建筑师的计算几何工具箱(自研)

作者 胡潜
时间
类目 技术分享

本文将介绍我开发的计算几何工具箱ArchiGeo。ArchiGeo系列工具包主要包含几何类库、优化计算、快速可视化等功能,旨在为建筑设计提供便携、集成、易用的运算功能。目前,工具包主要支持Python和C#调用。

Python | archigeo

Python版本的库名为archigeo。archigeo充分利用了python的简洁语法,将点线面等基础数据结构和python原有数据结构等价对应,同时提供常用的几何运算函数(geomutils)和几何类库(geomoop),并将一些常用外部库做了再封装,从而实现一组统一API调用多种类库功能的丝滑体验。

archigeo/
├── basic/
│   ├── numeric.pyd
│   ├── geomutils.pyd
│   ├── geomoop.pyd
├── compa/
│   ├── fieldgen.pyd
│   ├── ...
├── visual/
│   ├── pygame_extend.pyd
│   ├── ...
├── rhino/
│   ├── rhino_extend.pyd

工具库archigeo已经在多个项目中得到了充分应用,包括:

目前archigeo已经在PyPI发布了试用版本,仅支持windows系统的python3.9和python3.12。开发工作还在进展中,未来将完善说明文档和发布开源版本。

.NET | ArchiGeoSharp

C#版本的库名为ArchiGeoSharp。ArchiGeoSharp充分利用dotnet的内置语法功能,将几何对象的定义和运算以简洁的形式呈现。

namespaces
├── ArchiGeo.Basic 无外部依赖的基础库
│   ├── ArchiGeo.Basic.Numeric 数值计算
│   ├── ArchiGeo.Basic.Geometry 二三维几何定义和运算
│   ├── ArchiGeo.Basic.Transform 坐标变换、关联判断、布尔运算等
├── ArchiGeo.Depute 常用库的托管和再封装
├── ArchiGeo.Raylex 快速可视化工具
├── ArchiGeo.GRBSolver 常用优化问题求解,依赖于授权的Gurobi软件
├── ArchiGeo.Rhinex 对接Rhino建模,依赖于授权的Rhino软件

工具库ArchiGeoSharp已经在多个项目中得到了充分应用,包括:

目前开发工作还在进展中,未来将完善说明文档和发布开源版本和Nuget源。