许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  CATIA创意无限:工科男的文艺之旅——虚拟弹琴

CATIA创意无限:工科男的文艺之旅——虚拟弹琴

阅读数 1199
点赞 34
article_banner

琴键建模

要想弹琴,我们首先要画一个琴。小编很懒,于是只拉伸了几个凸台画了琴键↓

CATIA里也能弹琴?工科男也可以很文艺的图1

DMU仿真



我们还需要这个琴键可以动,可以按下去。所以小编为每个琴键添加了一个独立驱动的DMU运动副↓

CATIA里也能弹琴?工科男也可以很文艺的图2

键盘控制


通过VBA中的窗体接受键盘按下和抬起的事件,并用代码控制DMU驱动命令的值,就可以实现用键盘控制琴键啦!

CATIA里也能弹琴?工科男也可以很文艺的图3

发出声音



解决了按键的问题,接下来就是如何发出对应音符的声音啦!

我们在VBA里引用一下Windows的API

CATIA里也能弹琴?工科男也可以很文艺的图4

就可以使用Beep函数控制电脑的蜂鸣器发声啦!

Beep(a,b)


其中:

参数a表示蜂鸣器发音的频率,不同频率对应的音高不同;

参数b表示蜂鸣器发声的时间,单位是毫秒。

之后,我们把常用音符的频率定义为常量

CATIA里也能弹琴?工科男也可以很文艺的图5

最后,再把不同按键的键盘事件中,把对应的音符频率赋给变量,并调用Beep进行发声,我们就可以进行演奏啦!



美中不足

直接通过键盘控制DMU运动基本无延迟,但加入了Beep之后,在电脑“哔——”的过程中是无响应的状态,这就导致了音画不同步的现象,键盘的按下动作和声音比会有滞后。有一种说法是可以把Beep放到新线程中执行,但昨天晚上搞到了半夜2点多,实在没有精力了


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空