计算化学公社
标题:
使用剪切板传递几何结构到gview
[打印本页]
作者Author:
wal
时间:
2025-9-6 14:57
标题:
使用剪切板传递几何结构到gview
本帖最后由 wal 于 2025-10-21 20:45 编辑
笔者之前为了避免将完整log输出从服务器下载到本地,已经做了个壳用来让gview可以直接打开xyz文件
双击使用GaussView打开xyz/trj文件的小trick
,但笔者觉得这还是不够懒。
我不仅不想下载log到本地进行可视化,就连xyz我也不想下载
在后处理之前,我就是不想从服务器上下载任何半成品文件 ;)
于是,使用剪切板传递结构的想法诞生了。最早的时候我试过rainmeter做个窗口,结果发现这个东西经常卡住,还要装各种插件,并不好用。后面想了下干脆让AI帮我弄成一个C++程序,直接用windows.h提供的剪切板API来读剪切板中xyz text,再用快捷键来触发,这下连粘贴到窗口的功夫都省了
(, 下载次数 Times of downloads: 20)
上传 Uploaded
点击下载Click to download
使用方法:双击启动,程序会进入托盘待机。当监听到预设快捷键时,读取剪切板内容,尝试转换为Gaussian日志文件并用gview打开。支持单帧xyz、多帧xyz、只有元素符号与坐标的4列xyz坐标数据。在通过VScode等方式连接到服务器时,只要复制xyz文件内容,或是gjf文件的几何部分,或是任何符合坐标 x y z四列的几何坐标信息,按一下快捷键即可立即在本地打开gview,无缝可视化。可以考虑放进启动项,反正这个东西已经在我的启动项里了
首次启动时,会生成config.ini、temp/、logs/文件夹。config.ini中可以配置各种选项
# 设置快捷键
hotkey=CTRL+ALT+C
# gview可执行文件路径。若在PATH里则可以直接gview.exe,否则需要绝对路径
gview_path=gview.exe
# 临时文件目录名
temp_dir=temp
# 日志文件保存位置
log_file=logs/xyz_monitor.log
# 日志级别
log_level=INFO
# 是否保存日志
log_to_file=true
#删除临时文件的等待时间
wait_seconds=5
# 为避免xyz文件过大,占用过多内存造成卡顿,指定内存使用限制
max_memory_mb=500
# 设定处理字符限制,0表示根据分配内存决定
max_clipboard_chars=0
复制代码
修改配置文件后需要在系统托盘处右击并reload才能成功加载配置
PS:本程序未来可能会支持写入真正的收敛信息,这样就能通过xyz文件检测收敛情况了
已实现
源码与Makefile:去
github
看吧,有点多
本程序是使用mingw进行编译的
作者Author:
wal
时间:
2025-10-21 21:06
本帖最后由 wal 于 2025-10-21 21:19 编辑
2.0.2
- 支持将Gview Clipboard转换为xyz text(需要用户找到自己的Clipboard.frg)
- 支持转换chg text并写入电荷信息
- 继承此贴
[辅助/分析程序] 双击使用GaussView打开xyz/trj文件的小trick
功能,支持以设定默认打开方式的形式双击打开xyz\trj\chg文件
- 可以将形如
MaxF=6.9e-03 RMSF=7.8e-04 MaxD=2.2e-01 RMSD=5.1e-02 E=-1941.608811
的收敛信息写入log文件 (此功能与笔者未来将发布的某小玩具有联动)
- 支持指定识别坐标列数,例如对于gamess输出
COORDINATES OF ALL ATOMS ARE (ANGS)
ATOM CHARGE X Y Z
------------------------------------------------------------
C 6.0 7.8449680100 -0.8450630000 0.0002460000
N 7.0 6.9265290000 0.2807020000 -0.0000410000
C 6.0 7.4702390000 1.6279360000 0.0002520000
C 6.0 5.5954119800 0.0786870000 0.0000600000
C 6.0 4.6758330000 1.1757670000 0.0000850000
C 6.0 3.3248500000 0.9678360000 0.0001060000
C 6.0 2.7608200000 -0.3489860000 0.0001440000
复制代码
可以指定第1列为元素符号,3、4、5列为xyz来转换结构
当前配置文件设置项:
hotkey=CTRL+ALT+X
hotkey_reverse=CTRL+ALT+G
gview_path=D:\program\G16W\gview.exe
gaussian_clipboard_path=D:\program\G16W\Scratch\fragments-12_10_2024_15_55_36\Clipboard.frg
temp_dir=D:\MyProgram\xyzFakeG\temp
log_file=D:\MyProgram\xyzFakeG\logs\xyz_monitor.log
log_level=INFO
log_to_console=true
log_to_file=true
wait_seconds=5
# Memory limit in MB for processing (default: 500MB)
max_memory_mb=500
# Optional: set explicit character limit (0 = auto calculate from memory)
max_clipboard_chars=65536000
# XYZ Converter Column Definitions (1-based indexing)
element_column=1
xyz_columns=2,3,4
# CHG Format Support (format: Element X Y Z Charge)
try_parse_chg_format=true
# Atomic Number Parsing (try to parse element column as atomic number)
try_parse_atomic_number=true
复制代码
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3