惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
I
InfoQ
H
Help Net Security
GbyAI
GbyAI
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
Y
Y Combinator Blog
L
LangChain Blog
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
博客园 - Franky
D
Docker
Jina AI
Jina AI
罗磊的独立博客

博客园 - AnyCAD

ACIS SAT 文件格式详解及其解析 基于.NET开发STEP三维模型浏览器 【源码】蚁群算法TSP问题可视化 .NET8:快速集成Rapid.NET三维控件 AnyCAD程序无法启动的问题解决方法 基于AvaloniaUI开发跨平台.NET三维应用:环境搭建 基于.NET三维控件的个性化管道软件开发 .NET6: 开发基于WPF的摩登三维工业软件 (10) - 机器人 .NET6: 开发基于WPF的摩登三维工业软件 (8) - MVVM .NET6: 开发基于WPF的摩登三维工业软件 (7) .NET6: 开发基于WPF的摩登三维工业软件 (2) .NET6: 开发基于WPF的摩登三维工业软件 .NET6: 三分钟搭建WPF三维应用 十行代码搭建基于.NET6三维应用程序 基于.NET的机械运动模拟应用开发 Linux下基于.NET5开发CAX应用 .NET5下的三维应用程序开发 本地Nuget包管理 基于.NET实现Matlab备用方案
Python下的三维建模和可视化
AnyCAD · 2024-01-30 · via 博客园 - AnyCAD

本文介绍基于AnyCAD Rapid Py三维图形平台开发Python的三维应用

1 准备工作

1.1 安装 vc_resit 2022

在Windows下,AnyCAD Rapid SDK依赖Vistual C++ 运行时库,64位版本需要在客户机上安装vc_redist.x64.exe

微软官方下载地址:

1.2 安装 Python 3.12

::: warning
若本机已经安装了Python 3.12则可略过此步骤。
:::

安装过程略。

1.3 安装 PyAnyCAD

AnyCAD直接支持从pipy.org安装,在命令行中执行如下命令:

pip install PyAnyCAD

1.4 安装VS Code代码编辑器

使用VS Code可以方便的进行Py代码的编辑和调试。

当然你也可以选择你喜欢的代码编辑器。

2 创建简单的应用

创建最简单的PyAnyCAD应用: HelloWorld.py


# 引入PyAnyCAD包
from AnyCAD.PyAnyView import RenderWindow
from AnyCAD import PyAnyCAD as AnyCAD

# 创建窗口
window = RenderWindow("Hello AnyCAD", 800, 600)

# 创建Box几何对象
box = AnyCAD.ShapeBuilder.MakeBox(AnyCAD.GAx2(), 1,1,1)

# 显示几何对象
window.ShowTopoShape(box, None)

# 显示窗口
window.Show()

# 释放窗口资源
window.Destroy()


点击编辑器右上角的运行按钮,你会看到如下窗口:

image

有没有一种“简单的令人发指”的感觉?

3 创建复杂的窗口应用 - PyQt5

使用PyQt5可以创建复杂的Python窗口应用程序

3.1 安装 PyAnyCADQt5

pip install PyAnyCADQt5

3.2 编写Py脚本

创建一个Qt5主窗口,并把AnyCAD三维控件做为中心窗口。HelloWorldQt.py

import sys, os

# 引入Qt5
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt

# 引入AnyCAD
from AnyCAD.PyAnyCore import GlobalInstance
from AnyCAD import PyAnyCAD as AnyCAD
# 引入AnyCAD Qt5组件
from AnyCADQt5.PyAnyQt5 import QtRenderControl

# 主窗口
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("AnyCAD PyQt")
        self.setMinimumSize(1024, 768)
        
        # 创建三维窗口
        self.renderView = QtRenderControl(self)
        self.setCentralWidget(self.renderView)
        # 创建简单的几何模型
        box = AnyCAD.ShapeBuilder.MakeBox(AnyCAD.GAx2(), 1,1,1)
        self.renderView.ShowTopoShape(box, None)

if __name__ == '__main__':

    # 初始化
    GlobalInstance.Initialize()

    # 创建Qt窗口
    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    app.exec()

    # 释放全局资源
    GlobalInstance.Destroy()

3.3 运行程序

程序运行结果如下:

image

4 小结

作为目前最流行的编程语言之一,Python使用起来那是非常简单。结合简单、易用、强大的 AnyCAD Rapid SDK,你也能开发出强大的三维应用程序。

AnyCAD Rapid Py的接口与AnyCAD Rapid .NET高度一致,差异几乎仅在编程语言语法上的差异。参考在线文档,你可以创建出更复杂的几何模型。