首页 > 编程语言 >Python下的三维建模和可视化

Python下的三维建模和可视化

时间:2024-01-30 22:12:46浏览次数:32  
标签:__ 窗口 Python self 建模 可视化 import 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.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()

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

image

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

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

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

3.1 安装 PyQt5

pip install PyQt5

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 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 运行程序

程序运行结果如下:

image

4 小结

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

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

标签:__,窗口,Python,self,建模,可视化,import,AnyCAD
From: https://www.cnblogs.com/anycad/p/17998091/pthon-3d-modeling

相关文章

  • python解密带密码的pdf文件
    ##coding:utf-8###用来存储一些通用模块fromPyPDF2importPdfReader#pdf的读取方法fromPyPDF2importPdfWriter#pdf的写入方法fromCrypto.CipherimportAES#高加密的方法,要引入不然会报错defget_reader(filename,password):#读取pdf的方法(自定义......
  • anaconda+jupyter书写python简简简简简易安装教程,浏览器编写执行Python程序
    anaconda+jupyter书写python简简简简简易安装教程,浏览器编写执行Python程序目录 1、安装anaconda2、打开JupyterNotebook3、创立ipynb文件编写python代码 4、导出python文件(.py)1、安装anaconda下载地址:www.anaconda.com点击Download会下载一个大约600M的安装包,......
  • python 一个能统计txt文件的每个单词出现次数的python程序; 统计txt文件里每个汉字出
    输出的时候排列顺序是从多到少,需要去除txt中的特殊符号,注意是英文txt文件用来自制词汇包的hhhimportrefromcollectionsimportCounterdefcount_words(file_path):#读取文本文件内容withopen(file_path,'r',encoding='utf-8')asfile:text=file.read......
  • 农业教学的未来:水稻种植教学基地可视化引领农业知识普及与传播
    随着科技的不断发展,农业领域也在不断创新和进步。水稻种植教学基地可视化系统是一种基于现代信息技术手段的教学方式,通过虚拟现实、3D建模等技术,将水稻种植的全过程进行模拟和展示。这种教学方式打破了传统农业教学的局限性,使得学生可以在任何时间、任何地点,通过电脑、手机等终端......
  • python自定义装饰器
    被装饰函数带参数或不带参数#coding=utf8#自定义装饰器函数,需使用嵌套函数importtimedefdecorator_foo(func):definner_func(*args,**kwargs):start_time=time.time()func(*args,**kwargs)print('runfunccost{}s'.format(time.......
  • python自定义装饰器
    被装饰函数带参数或不带参数#coding=utf8#自定义装饰器函数,需使用嵌套函数importtimedefdecorator_foo(func):definner_func(*args,**kwargs):start_time=time.time()func(*args,**kwargs)print('runfunccost{}s'.format(time.......
  • 用可视化表单设计轻松实现流程化办公!
    在现代化职场办公中,低代码技术平台的利用程度越来越高,成为大家实现流程化办公和数字化转型的友好合作伙伴。作为专业的服务商,流辰信息潜心研发低代码技术平台产品及可视化表单设计工具,轻松助力越来越多行业的客户朋友提高办公效率,创造更大市场价值。1、低代码技术平台的市场价值......
  • Python中HTTPException(基于werkzeug.exceptions包)
    当我们在开发HTTP服务时(接口服务),由于很多从内部引发的Python异常,会触发标准HTTP非200响应的视图。为了让前端有着更好的视图体验(如果因为内部异常,会返回给前端/调用方更好的一个页面/返回)。对于我们来说,给予调用方一个固定的返回格式时非常重要的(因此通过HTTPException......
  • python之常用标准库-log
    log级别:debug(),info(),warning(),error()andcritical()5个级别,最低为debug,最高位criticallog标准输出格式:%(name)sLogger的名字%(levelno)s数字形式的日志级别%(levelname)s文本形式的日志级别%(pathname)s调用日志输出函数的模块的完整......
  • Python 在Windows上监控Linux日志
    importparamikoimporttimedefmonitor_linux_log(linux_ip,username,password,log_file):client=paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(linux_ip,username=username,password=passwo......