c4d的重命名工具(支持模型和材质) 及 python窗口定义

server/2024/9/23 21:12:43/

不是我牛逼,是豆包牛逼!

一个简化版的窗口

import c4d
from c4d import guiclass MyDialog(gui.GeDialog):def __init__(self):super().__init__()self.SetTitle("My Dialog")def CreateLayout(self):# 设置对话框布局return Truemy_dialog = MyDialog()
my_dialog.Open(c4d.DLG_TYPE_ASYNC, xpos=100, ypos=100, defaultw=300, defaulth=200)

进化了的重命名工具

保存为py文件单独调用会运行速度更快

 使用方法:扩展菜单,用户脚本,运行脚本

import c4d
from c4d import guiclass MyDialog(gui.GeDialog):def __init__(self):self.char_input = ""self.num_input = 0gui.GeDialog.__init__(self)def CreateLayout(self):self.SetTitle("rename")self.AddStaticText(2000, c4d.BFH_CENTER, name="阿拉丁的重命名工具")# 创建行布局用于放置“命名和位数”相关的元素self.GroupBegin(1004, c4d.BFH_LEFT | c4d.BFV_TOP, cols=6, rows=1)self.GroupBorderSpace(10, 10, 10, 10)self.AddStaticText(2000, c4d.BFH_LEFT, name="命名")self.AddEditText(1000, c4d.BFH_LEFT, 120, 15)self.AddStaticText(2001, c4d.BFH_LEFT, name="位数")self.AddEditNumberArrows(1001, c4d.BFH_LEFT, 100, 15)self.AddButton(1002, c4d.BFH_LEFT, 100, 15, "重命名物体")self.AddButton(1003, c4d.BFH_LEFT, 100, 15, "重命名材质")self.GroupEnd()# 创建行布局用于放置“查找和替换”相关的元素find_replace_row = self.GroupBegin(1005, c4d.BFH_LEFT | c4d.BFV_TOP, cols=5, rows=1)self.GroupBorderSpace(10, 10, 10, 10)self.AddStaticText(2002, c4d.BFH_LEFT, name="查找文本")self.find_field = self.AddEditText(1007, c4d.BFH_LEFT, 120, 15)self.AddStaticText(2003, c4d.BFH_LEFT, name="替换文本")self.replace_field = self.AddEditText(1008, c4d.BFH_LEFT, 120, 15)self.AddButton(1006, c4d.BFH_LEFT, 100, 15, "查找替换")self.GroupEnd()# c4d.BFH_LEFT 实际像素左对齐 #c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT 上下充满return Truedef Command(self, id, msg):if id == 1002:self.char_input = self.GetString(1000)self.num_input = self.GetInt32(1001)self.rename()elif id == 1003:self.char_input = self.GetString(1000)self.num_input = self.GetInt32(1001)self.renameMaterials()elif id == 1006:self.find_replace()return Truedef rename(self):selection = doc.GetSelection()i = 1for obj in selection:obj.SetName(f"{self.char_input}_{i:0{self.num_input}}")i += 1c4d.EventAdd()        def renameMaterials(self):materials = doc.GetMaterials()i = 1for mat in materials:mat.SetName (f"{self.char_input}_{i:0{self.num_input}}")i += 1c4d.EventAdd()def find_replace(self):self.find_text = self.GetString(1007)self.replace_text = self.GetString(1008)selection = doc.GetSelection()if not selection:c4d.gui.MessageDialog("没有选中任何对象。")returnnames = [obj.GetName() for obj in selection]for i, obj in enumerate(selection):new_name = names[i].replace(self.find_text, self.replace_text)obj.SetName(new_name)c4d.EventAdd()if __name__ == '__main__':dialog = MyDialog()dialog.Open(c4d.DLG_TYPE_ASYNC, xpos=100, ypos=100, defaultw=200, defaulth=200)def main():# 如果这里有一个独立的 main 函数定义,可以在这里进行修改或补充pass


http://www.ppmy.cn/server/117568.html

相关文章

VMware Tools系列一:安装VMware Tools的作用

最近笔者安装了VMware Workstation pro 17,同时在VMware中安装了华为的Open Euler服务器,由于虚拟机Open Euler经常需要与宿主机win10交换数据,很不方便,而安装VMware Workstation pro 17并没有自动安装了VMware Tools &#xff0…

针对Docker容器的可视化管理工具—DockerUI

目录 ⛳️推荐 前言 1. 安装部署DockerUI 2. 安装cpolar内网穿透 3. 配置DockerUI公网访问地址 4. 公网远程访问DockerUI 5. 固定DockerUI公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

QT设置闹钟超时播报

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTimerEvent> #include<QTime> #include<QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic…

Spring Boot-定时任务问题

Spring Boot 定时任务问题及其解决方案 1. 引言 在企业级应用中&#xff0c;定时任务是一项常见需求&#xff0c;通常用于自动化执行某些操作&#xff0c;如数据备份、日志清理、系统监控等。Spring Boot 提供了简洁易用的定时任务机制&#xff0c;允许开发者通过简单的配置来…

人工智能(AI)正在以前所未有的速度融入我们生活的方方面面

人工智能将融入我们生活的方方面面 人工智能&#xff08;AI&#xff09;正在以前所未有的速度融入我们生活的方方面面&#xff0c;这种趋势在未来几年乃至几十年内将会持续加速。以下是一些人工智能已经或即将在各个领域产生深远影响的例子&#xff1a; 智能家居&#xff1a;…

GNU风格代码编译(27)

1makefile 的规则 命令必须使用tab 按键&#xff0c; 而不能使用 空格按键。 1. TARGETstart 2. TARGETCmain 3. all: 4. arm-none-linux-gnueabi-gcc -O0 -g -c -o $(TARGETC).o $(TARGETC).c 5. arm-none-linux-gnueabi-gcc -O0 -g -c -o $(TARGET).o $(TARGET).s…

获取某宝拍立淘API接口:深度学习图像实现匹配和检索

1. 总体概述 拍立淘的核心技术在于图像识别与检索&#xff0c;融合了深度学习、计算机视觉、大数据处理等多个领域的先进技术1。通过构建大规模的商品图像数据库&#xff0c;并利用深度学习算法提取图像特征&#xff0c;实现高效的图像匹配与检索1。 2. 具体技术环节 &#…

【计算机组成原理强化】王道强化课笔记

P1 计组大题备考策略&存储系统串讲 1.基本信息 2.段式和段页式大概率不考大题 3.安装在外存的App&#xff0c;在调入内存的时候大小和外存不等。调入内存时&#xff0c;最多分配的空间和操作系统是多少位有关&#xff0c;比如32位操作系统&#xff0c;给每个进程最多分配4…