Python下的三维建模和可视化
本文介绍基于AnyCAD Rapid Py三维图形平台开发Python的三维应用1 准备工作
1.1 安装 vc_resit 2022
在Windows下,AnyCAD Rapid SDK依赖Vistual C++ 运行时库,64位版本需要在客户机上安装vc_redist.x64.exe
微软官方下载地址:
[*]x64: vc_redist.x64.exe
1.2 安装 Python 3.12
::: warning
若本机已经安装了Python 3.12则可略过此步骤。
:::
安装过程略。
1.3 安装 PyAnyCAD
AnyCAD直接支持从pipy.org安装,在命令行中执行如下命令:
pip install PyAnyCAD1.4 安装VS Code代码编辑器
使用VS Code可以方便的进行Py代码的编辑和调试。
当然你也可以选择你喜欢的代码编辑器。
2 创建简单的应用
创建最简单的PyAnyCAD应用: HelloWorld.py
# 引入PyAnyCAD包
from AnyCAD.PyAnyCore import GlobalInstance, RenderWindow
from AnyCAD import PyAnyCAD as AnyCAD
# 初始化AnyCAD SDK
GlobalInstance.Initialize()
# 创建窗口
window = RenderWindow("Hello AnyCAD", 800, 600)
# 创建Box几何对象
box = AnyCAD.ShapeBuilder.MakeBox(AnyCAD.GAx2(), 1,1,1)
# 显示几何对象
window.ShowTopoShape(box, None)
# 显示窗口
window.Show()
# 释放窗口资源
window.Destroy()
# 释放全局资源
GlobalInstance.Destroy()点击编辑器右上角的运行按钮,你会看到如下窗口:
有没有一种“简单的令人发指”的感觉?
3 创建复杂的窗口应用 - PyQt5
使用PyQt5可以创建复杂的Python窗口应用程序
3.1 安装 PyQt5
pip install PyQt53.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 AnyCAD.PyAnyQt 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 运行程序
程序运行结果如下:
4 小结
作为目前最流行的编程语言之一,Python使用起来那是非常简单。结合简单、易用、强大的 AnyCAD Rapid SDK,你也能开发出强大的三维应用程序。
AnyCAD Rapid Py的接口与AnyCAD Rapid .NET高度一致,差异几乎仅在编程语言语法上的差异。参考在线文档,你可以创建出更复杂的几何模型。
来源:https://www.cnblogs.com/anycad/p/17998091/pthon-3d-modeling
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]