首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JupyterLab生态系统中的3D设计和协作式CAD系统

我们很多人可能都用过AutoCAD、FreeCAD之类的CAD软件,也有很多人可能知道并且使用过个强大的交互式数学计算平台JupyterLab,JupyterLab有非常强大功能和非常棒用户体验,那么可以在JupyterLab镜像进行CAD 3D设计和建模么?

答案当然是肯定的,这就是今天虫虫要介绍了JupyterCAD (CAD),这是一个CAD辅助设计引入到JupyterLab的环境的系统,支持JupyterLab强大的扩展,支持专门JupyterCAD应用程序和已经通过Python API实现CAD操作的程序化和自动脚本化。

用JupyterCAD我们可以Jupyter生态环境体系中很轻松地地创建、编辑和共享3D设计,另外和Jupyter一样支持在团队条件下多人的协作制作和共享,这是其他专业CAD软件所无法实现的。

安装

和Jupyter生态系统中的其他软件一样,JupyterCAD安装也非常简单,就是一键安装。可以使用pip或者mamba

注意JupyterCAD依赖于JupyterLab 4,所以安装之前,你的JupyterLab环境需要先升级到新的JupyterLab 4版本。

JupyterCA架构

JupyterCA系统主要依赖两个得重要的开源组件OpenCascade.js和OpenCascade,然后集成了jupyter_collaboration实现实时协作功能。

为了执行所有几何操作,JupyterCAD 使用自定义的OpenCascade.js构建,它链接OpenCascade库的Emscripten到JavaScript和WebAssembl纽带。JupyterCAD的CAD内核在单独的线程上运行,允许用户以接近本机的速度执行复杂的操作。还可以为多用户提供JupyterCAD服务时降低服务器负载。

JupyterLab 4的实时协作(RTC)不仅涉及编辑Notebook,而且已成为构建协作应用程序的框架。使用jupyter_collaboration可以帮助加速JupyterCAD中 RTC功能的开发。Collaborative Editing建立在共享数据模型之上其中 jupyter_collaboration处理所有传输和冲突解决,而Follow Mode使用提供的轻量级通知系统Awareness。

使用

JupyterCAD使用最新的JupyterLab 4版本构建,将CAD功能引入JupyterLab 4,相结合增强性能和可访问性改进。JupyterCAD支持以三种方式的使用:集成在JupyterLab环境中运行,或以独立应用程序的运行的方式,或那些以编程方式执行所有操作。

JupyterLab集成

使用JupyterCAD扩展程序可直接在JupyterLab中使用。打开和编辑FreeCAD 文件,执行CAD操作,包括创建3D基元、应用布尔运算符和分解视图。JupyterCAD 的扩展无缝集成到JupyterLab中,为CAD爱好者和数据科学家等提供了一个直观的环境。

独立APP

为了获得简化的CAD体验,JupyterCAD提供了一个专门的应用程序,可以纯CAD功能界面下运行和操作。

独立JupyterCAD APP的启动和JupyterLab或Jupyter Notebook一样简单:

这个专用应用程序的构建方式与即将推出的Jupyter Notebook 7类似。它是使用JupyterLab核心组件和自定义扩展从头开始构建的。与JupyterLab非常相似,它提供主题和本地化支持,以及即将推出的更多计划功能。

Python API

对于精通程序用户可以使用JupyterCAD的Python API进行程式化的CAD操作。JupyterCAD允许用户以编程方式可视化、创建和操作Jupyter Notebook中的形状。

例如,可以打开一个FreeCAD文件并从notebook修改它:

团队实时协作

协同编辑

JupyterCAD的突出特点之一是其共享编辑功能,它可以无缝连接JupyterCAD 生态系统中不同界面的用户。无论协作者是使用专用的JupyterCAD应用程序、JupyterLab扩展,还是在notebook中使用Python API,对共享文档所做的任何更改都会立即反馈到i所有用户。

实时协作允许使用Python API的个人对CAD文档进行修改,同时使用 JupyterLab扩展或JupyterCAD应用程序为协作者提供同步视图。这可确保所有参与者都能访问最新版本的设计,促进高效沟通并消除手动同步或文件交换的需要。

跟随模式

借助JupyterCAD的跟随模式功能,协作变得更加流畅。可以实时关注其他用户的图像操作移动和查看调整。这种模式可以让用户深入了解设计过程,并增强团队成员之间的沟通。

注释系统

JupyterCAD中的注释系统为3D设计添加了一个交互层。可以为CAD文件中的特定形状添加注释、提供上下文、提供反馈或编写说明。

总结

JupyterCAD还是一个新生的软件,可以实现常规的CAD设计的同时,和JupyterLab生态系其他组件一起用来实现科学计算和更加复杂应用程序的。对于熟悉了CAD系统老手想尝试一个新鲜环境的用户,以及熟悉JupyterLab环境下想增加一个新的CAD功能用户都值得尝试。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230608A01CU800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券