【教学类-40-05】A4骰子纸模制作5.0(3CM嵌套6条+记录表带符号6条)

 作品展示

背景需求

骰子4.0(2张长方形纸条)存在问题:4.5骰子体积等于幼儿手掌一样大,但是打印纸打印,骰子中间空心,容易捏扁,我想试试是否可以制作更小尺寸的骰子,并用A4卡纸打印,增加硬度,提升可玩性。

1.0版本:边缘折线多,幼儿剪起来费力。

2.0版本:裁剪内容多(三个部分),幼儿不会把纸模“包起来”

3.0版本:骰子的体积太大,幼儿操作不便利,优化过统计表(3个数内容)(未实验)

4.0版本:尺寸相对适宜幼儿制作(手掌一半大小)

思考:继续缩小骰子体积

为了正好凑满一张A4纸,我不断调整表格,确定了一个A4横纸上最大可以凑6套嵌套骰子)

素材准备

WORD模板

1、骰子(长宽3,黏贴边宽1,灰色为黏贴位置)

第一页的6个骰子纸模也要做2分栏,

1-2页中间要分栏,这样第2页做3分栏的时候,第1页的2分栏不受影响(变成3分栏)

代码准备

 原来是35个符号,现在为了一页3份,不出现报错,就加到36个符号

36/6=6页

'''
目的:
1、骰子 点数是不同图案 一页6个,卡纸
2、作者:阿夏
时间:2023年11月9日)'''import os
# num=int(input('生成多少份(28人)\n'))print('----------第1步:提取图案------------')# 
# path=['▲','●','◆','■','★','✿','❀']#   '♠','♥','♦','♣',]# 一页6个需要6的倍数36个
patho=['☆','□','○','◇','△','☉','⊕','☼','☺','☏','☽','◎','⊿','√', '☀','×','☑','☹','☺','☼','♫','☋','❀','❤','☁','☂','✉','✄','✈','♘','♕','♔','♤','♡','♢','♧']# 把每个符号做21次
pathall=[]
for t in range(len(patho)):for v in range(21):pathall.append(patho[t])
print(pathall)   
print(len(pathall))# 21分割 ['21个图形','21个图形']
path=[]
for t in range(int(len(pathall)/21)):path.append(pathall[t*21:t*21+21])
print(path)paththree=[]
for t2 in range(int(len(path)/6)):paththree.append(path[t2*6:t2*6+6])
print(paththree)
print(len(paththree))# # # print('----------第2步:新建一个临时文件夹------------')
# # # # # 新建一个”装N份word和PDF“的文件夹
# os.mkdir
imagePath1=r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\零时Word'
if not os.path.exists(imagePath1):  # 判断存放图片的文件夹是否存在os.makedirs(imagePath1)  # 若图片文件夹不存在就创建print('----------第3步:遍历输入每一种图案 ------------')import docx
from docx import Document
from docx.shared import Pt 
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
import randomimport os,time
import docx
from docx import Document
from docx.shared import Inches,Cm,Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qnfrom docxtpl import DocxTemplate
import pandas as pd
from docx2pdf import convert
from docx.shared import RGBColor# 坐标
s=[1,2,6,5,3,4]
# #     # 需要复制的倍数 第一个格子2个点,第2个格子1个点,第3个格子3个点
bg=['01','02','03','04','12','14']bg1=[]
for tt in range(len(s)):    hh=int(s[tt])        # 第一个数字1print(hh)for kk in range(hh):        # 数字出现几次1次、2次、6次jj=bg[tt]        # bg的第一个坐标‘01’bg1.append(jj)
print(bg1)
# ['01', '02', '02', '03', '03', '03', '03', '03', '03', '04', '04', '04', '04', '04', '12', '12', '12', '12', '12', '12', '14', '14', '14', '14']for nn in range(0,len(paththree)):  # 6doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\骰子嵌套6.0(1个6个小嵌套6个统计单).docx')for b in range(0,6):    # 共有2个表格         table = doc.tables[b]          # 一共有2个表格 # 插入图形for tt in range(len(bg1)):   # 21个pp=int(bg1[tt][0:1])    qq=int(bg1[tt][1:2])  # print(p)               k=paththree[nn][b][tt]              # 每个坐标里面插入一个☉      print(pp,qq,k)  # 图案符号的字体、大小参数run=table.cell(pp,qq).paragraphs[0].add_run(k)    # 在单元格0,0(第1行第1列)输入第0个图图案run.font.name = '黑体'#输入时默认华文彩云字体# run.font.size = Pt(46)  #输入字体大小默认30号 换行(一页一份大卡片run.font.size = Pt(22) #是否加粗run.font.color.rgb = RGBColor(0,0,0) #数字小,颜色深0-255run.bold=True# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷table.cell(pp,qq).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中   # 记录表里面插入一个图形符号table1 = doc.tables[b+6]          # 表4、5、6   k3=paththree[nn][b][0]           # 每个坐标里面插入一个☉ k2='({})'.format(k3)    print(k2)  # 图案符号的字体、大小参数run1=table1.cell(0,3).paragraphs[0].add_run(k2)    # 在单元格0,0(第1行第1列)输入第0个图图案run1.font.name = '黑体'#输入时默认华文彩云字体# run.font.size = Pt(46)  #输入字体大小默认30号 换行(一页一份大卡片run1.font.size = Pt(22) #是否加粗run1.bold=Truerun1.font.color.rgb = RGBColor(0,0,0) #数字小,颜色深0-255# paragraph.paragraph_format.line_spacing = Pt(180) #数字段间距r1 = run1._elementr1.rPr.rFonts.set(qn('w:eastAsia'), '黑体')#将输入语句中的中文部分字体变为华文行楷table1.cell(0,6).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中      doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\零时Word\{}.docx'.format('%02d'%nn)) doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\骰子不同图案\零时Word\{}.docx'.format('%02d'%nn))   from docx2pdf import convert# docx 文件另存为PDF文件inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/零时Word/{}.docx".format('%02d'%nn)  # 要转换的文件:已存在outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/零时Word/{}.pdf".format('%02d'%nn)  # 要生成的文件:不存在# 先创建 不存在的 文件f1 = open(outputFile, 'w')f1.close()# 再转换往PDF中写入内容convert(inputFile, outputFile)print('----------第4步:把都有PDF合并为一个打印用PDF------------')# 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
import os
from PyPDF2 import PdfFileMerger
target_path =  'C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/零时Word'
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
pdf_lst.sort()
file_merger = PdfFileMerger()
for pdf in pdf_lst:print(pdf)file_merger.append(pdf)
file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/(打印合集)骰子横版6.0 A4-6个+记录表卡纸({}人共{}份).pdf".format(int(len(path)/6),len(path)))
file_merger.close()
# doc.Close()# print('----------第5步:删除临时文件夹------------')    
import shutil
shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/骰子不同图案/零时Word') #递归删除文件夹,即:删除非空文件夹

终端运行

直接运行,不用参数


作品位置:

嵌套纸膜的图案与下面的记录表上的图案一一对应,作为标记,避免6人操作时搞混。(学号就是另一种标记)

第1页 骰子纸膜

第2-3页 骰子配套的记录纸

教学时间

轮了2周,终于轮到大一班了

时间:2023年11月10日15:00-15:45

班级:大1班

人数:25

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/187499.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatRule:基于知识图推理的大语言模型逻辑规则挖掘11.10

ChatRule:基于知识图推理的大语言模型逻辑规则挖掘 摘要引言相关工作初始化和问题定义方法实验 摘要 逻辑规则对于揭示关系之间的逻辑联系至关重要,这可以提高推理性能并在知识图谱(KG)上提供可解释的结果。虽然已经有许多努力&a…

常见排序算法之插入排序类

插入排序,是一种简单直观的排序算法,工作原理是将一个记录插入到已经排好序的有序表中,从而形成一个新的、记录数增1的有序表。在实现过程中,它使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循…

百度王颖:百度文库以AI创作能力突破语言边界,促进思想碰撞和文化融通

1月9日,2023年世界互联网大会乌镇峰会“网络传播与文明交流互鉴论坛”召开。百度副总裁、互娱和垂类平台负责人王颖出席并发表“以技术搭建跨文化交流桥梁”主题演讲。她表示,在大模型的加持下,百度各个产品都在重构,通过技术助力…

[C++随笔录] 红黑树

红黑树 红黑树的特点红黑树的模拟实现红黑树的底层结构insert的实现实现思路更新黑红比例的逻辑insert的完整代码 insert的验证 源码 红黑树的特点 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是 Red或 Black。…

FPGA与STM32_FSMC总线通信实验

FPGA与STM32_FSMC总线通信实验 内部存储器IP核的参数设置创建IP核FPGA代码STM32标准库的程序 STM32F407 上自带 FSMC 控制器,通过 FSMC 总线的地址复用模式实现STM32 与 FPGA 之间的通信,FPGA 内部建立 RAM 块,FPGA 桥接 STM32 和 RAM 块&…

机器学习 - 决策树:技术全解与案例实战

目录 一、引言二、决策树基础决策树模型概述构建决策树的关键概念特征选择决策树的生成 决策树的剪枝 三、算法研究进阶提升树和随机森林提升树(Boosted Trees)随机森林(Random Forests) 进化算法与决策树决策树结构的进化 多目标…

【图论实战】 Boost学习 03:dijkstra_shortest_paths

文章目录 示例代码 示例 最短路径: A -> C -> D -> F -> E -> G 长度 16 代码 #include <iostream> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/dijkstra_shortest_paths.hpp> #include <boost/graph/graphviz.h…

rust实现quic服务端和客户端

演示如何使用 Quinn 库实现一个简单的 QUIC 客户端和服务器。QUIC 是一种基于 UDP 的协议&#xff0c;用于在互联网上进行快速和安全的通信。 在程序中&#xff0c;使用了 Rust 的标准库中的 error、net 和 sync 模块&#xff0c;以及第三方库 tokio 和 quinn。程序使用了 asy…

[工业自动化-10]:西门子S7-15xxx编程 - PLC主站 - 信号量:数字量

目录 前言&#xff1a; 一、工业现场常见信号的分类 二、IO数字量模块 2.1 概述 2.2 PLC的数字量是24V还是5V电压&#xff1f; 2.2 数字量模块的安装与接线 2.3 数字量模的注意事项 前言&#xff1a; 一、工业现场常见信号的分类 在工业自动化领域&#xff0c;常常需要使…

操作系统 | 编写内核

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 目录结构 1. 操作系统实验之编写内核 1.1 实验目的 1.2 实验内容 1.3 实验步骤 1.4 实验过程 …

VScode + opencv(cmake编译) + c++ + win配置教程

1、下载opencv 2、下载CMake 3、下载MinGW 放到一个文件夹中 并解压另外两个文件 4、cmake编译opencv 新建文件夹mingw-build 双击cmake-gui 程序会开始自动生成Makefiles等文件配置&#xff0c;需要耐心等待一段时间。 简单总结下&#xff1a;finish->configuring …

轻量日志管理方案-[EFK]

使用FileBeat进行日志文件的数据收集&#xff0c;并发送到ES进行存储&#xff0c;最后Kibana进行查看展示&#xff1b; 这个应该是最简单&#xff0c;轻量的日志收集方案了。 最总方案为&#xff1a;FileBeatESKibana ; 【Kibana过于强大&#xff0c;感觉可以无限扩展】 文章目…

边缘计算多角色智能计量插座:用电监测和资产管理的未来智能化引擎

目前主流的智能插座涵盖了红外遥控&#xff08;控制空调和电视等带有红外标准的电器&#xff09;&#xff0c;配备着测温、测湿等仓库应用场景&#xff0c;配备了人体红外或者毫米波雷达作为联动控制&#xff0c;但是大家有没有思考一个问题&#xff0c;就是随着对接的深入&…

django|报错SQLite 3.8.3 or later is required的解决方案

迁移原同事写的程序&#xff0c;到新服务器上边。运行报错。解决方案有三种 降低django版本升级sqlite3&#xff0c;不低于3.8.3版本修改django源码 方案一、降低django版本 卸载高版本django pip uninstall django安装低版本&#xff0c;如 pip install django2.1.7注意&…

汽车标定技术(八)--MPC57xx是如何支持标定的页切换

目录 1.页切换的概念 1.1 标定常量的理解 1.2 页切换 2.MPC57xx的Overlay模块 3.小结 1.页切换的概念 在汽车标定测量中&#xff0c;有一个概念我想很多人都听过&#xff0c;但是实际上在项目里没有用到过&#xff0c;那就是今天要讲的页切换概念。在讲页切换的时候&#…

python注释(快捷键)

首先介绍以下三种注释方式&#xff1a; # 123&#xff08;单行注释&#xff09; """123"""&#xff08;多行注释&#xff09; 123&#xff08;多行注释&#xff09; 下面介绍一下快捷键&#xff1a; Ctrl/ 注释单行&#xff1a;指针只要在这行代…

Arcgis连接Postgis数据库(Postgre入门十)

效果 步骤 1、矢量数据首先有在postgis数据库中 这个postgis数据库中的一个空间数据&#xff0c;数据库名称是test3&#xff0c;数据表名称是test 2、Arcgis中连接postgis数据库中 3、成功连接 可以将数据拷贝或导入到gdb数据库中

图数据库Neo4j详解

文章目录 第一章 图和Neo4j1.1 图数据库概念1.1.1 图论起源1.1.2 节点-关系及图1.1.3 图数据库1.1.4 图数据库分类1.1.4 图数据库应用场景1.1.5 与关系型数据库对比1.1.6 图数据库优势 1.2 Neo4j介绍1.2.1 Neo4j是什么1.2.2 Neo4j特点1.2.3 Neo4j的优势1.2.4 Neo4j的限制1.2.5 …

机器学习——实践

目录 一、数据集划分 1、交叉验证 2、不平衡数据的处理 代价敏感学习 二、评价指标 三、正则化、偏差和方差 为什么要标准化/归一化&#xff1f; 过拟合的处理——Dropout 过拟合的处理——Early stopping 过拟合的处理——数据增强 偏差和方差 ​编辑 一、数据集划分…

机器学习——奇异值分解案例(图片压缩-代码简洁版)

本想大迈步进入前馈神经网络 但是…唉…瞅了几眼&#xff0c;头晕 然后想到之前梳理的奇异值分解、主成分分析、CBOW都没有实战 如果没有实际操作&#xff0c;会有一种浮在云端的虚无感 但是如果要实际操作&#xff0c;我又不想直接调用库包 可是…如果不直接调包&#xff0c;感…