十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

离线电路仿真器 CircuitJS1 Desktop Mod 到底怎么用?一文讲透的完整上手路线

离线电路仿真器 CircuitJS1 Desktop Mod 到底怎么用?一文讲透的完整上手路线 离线电路仿真器 CircuitJS1 Desktop Mod 到底怎么用一文讲透的完整上手路线【免费下载链接】circuitjs1Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js.项目地址: https://gitcode.com/gh_mirrors/circ/circuitjs1深夜十一点实验室的电脑没联网下周要交的《电路分析》大作业还差一次波形验证高铁上想改两笔电路参数网页版仿真器却一直转圈……这些场景有个共同的解法一个能完全离线运行的电路仿真器。本文要讲的 CircuitJS1 Desktop Mod正是把经典开源电路仿真器打包成跨平台桌面应用的那个版本——不联网、不注册、点开就能用。先把来龙去脉理清楚它凭什么离线也能跑在动手安装之前先花两分钟弄懂这个项目的出身后面遇到问题时你会感谢这两分钟。CircuitJS1 的故事有三个关键人物Paul Falstad 最初用 Java Applet 写出了电路仿真器Iain Sharp 用 GWT 技术把它搬进浏览器而 Usevalad Khatkevich 再用基于修改版 NW.js 的封装把它编译成 Windows、Linux、macOS 都能直接运行的桌面程序。两个术语第一次出现这里用大白话解释一下GWT能把 Java 代码翻译成浏览器能跑的 JavaScript 的一套工具相当于一个跨语言编译器。NW.js一个让网页技术HTML/CSS/JS能调用操作系统能力的运行时外壳简单说就是给 Web 应用穿上桌面应用的外衣。这套组合拳带来的结果就是仿真引擎Java 编写的计算逻辑和界面逻辑GWT 编译产物被打包进一个独立程序全程不需要浏览器、不需要网络请求。项目根目录的patches/文件夹里躺着十几个.patch补丁文件如CirSim.patch、PotElm.patch记录着桌面版相对原版的所有小改动——想追根溯源的同学可以翻翻这里。需要提前说清一个边界README 里作者自己强调这个程序定位是教育用途很多元件模型是理想化的比如理想运放、无损耗导线不适合用来替代专业仿真软件做真实产品级的电路验证。搞清楚这个边界你才能正确评估它的使用场景。两条安装路线下载现成安装包还是从源码自己编译路线一直接用现成安装包推荐 90% 的人官方在 Release 页面提供了六种平台的编译产物Windows 32/64 位、Linux 32/64 位、macOS x64/arm64。Windows 用户会拿到用 Inno Setup 打好的安装程序——仓库根目录的Inno Setup/setup_x32.iss和setup_x64.iss就是它的打包脚本双击安装、一路下一步即可。装完后第一次启动你会看到一个黑色画布加顶部菜单的界面。这时候做个快速自检随便拖一个电阻进画布看能不能选中、旋转、拖动——能就说明环境没问题。路线二从源码构建适合想改代码或研究原理的人如果你想要最新改动、或者打算二次开发走构建路线。需要提前装好三样东西JDK 8、Maven 3、Node.js含 npm。先克隆仓库再装依赖git clone https://gitcode.com/gh_mirrors/circ/circuitjs1 cd circuitjs1 npm install # 把 maven、nw-builder、nw 等依赖装进 node_modules然后根据目标选择命令输出目录我帮你标好了npm run build # 全平台打包不重编译 GWT产物在 ./out/ npm run full # 全平台打包 重新编译 GWT产物在 ./out/ 和 ./target/site/ npm run buildgwt # 只编译 GWT Web 应用产物在 ./target/site/ npm start # 在 NW.js SDK 版本里直接运行方便调试关于构建两个细节值得注意项目锁定的 NW.js 版本是0.64.1-mod1修改版见scripts/dev_n_build.js里的nw_version常量完整构建会联网下载六个平台的 NW.js 二进制网络差时容易卡住——这就是为什么我建议你先用安装包再考虑构建。五步走从空白画布到第一条波形装好了现在打开它。黑色画布可能让你有点懵别急我们按顺序走完一个最小流程让一个方波信号通过电阻分压再在示波器上看波形。放元件点顶部菜单Draw→Add Resistor放一个电阻再按同样方式放一个AC Source正弦源或Square Wave方波源外加一个Ground地。元件默认平躺在画布上选中后按 R 键旋转方向。连导线用鼠标从一个元件的引脚拖到另一个引脚CircuitJS1 会自动生成连线。电路没闭合时仿真会报错所以记得把地接上。改参数双击元件弹出属性框。比如把电阻改成1kΩ把信号源频率改成12kHz——所有参数即时生效这是仿真器比实物实验爽的地方。运行点工具栏的电源按钮或菜单File→Run仿真立刻开始电路节点上会实时显示电压色标和电流流动动画。看波形Scopes菜单 →Add Scope然后点一下电路里想观察的导线示波器就挂上去了。五个步骤做完你已经体验到了这个工具最核心的工作流搭电路 → 跑仿真 → 看波形。后面所有玩法都是在这三步上的延伸。用好内置示例库胜过自己从零搭电路很多新手不知道项目自带了几百个可直接加载的示例电路躺在源码目录src/main/java/com/lushprojects/circuitjs1/public/circuits/下。与其从零开始不如先拆解现成的。我按用途给你分个类方便按需取用学习主题推荐示例能学到什么模拟电路基础amp-invert.txt、amp-schmitt.txt反相放大器、施密特触发器的真实行为555 定时器555astable.txt、555monostable.txt多谐振荡、单稳态触发原理数字逻辑jkff.txt、counter8.txt、halfadd.txt触发器、计数器、加法器的时序电源拓扑conv-buck.txt、conv-boost.txt降压/升压变换器工作原理传输线与高频tl.txt、tlmatch1.txt阻抗匹配、反射系数加载方法Circuits菜单 → 选一个名字电路立刻铺满画布。然后做两件有收获的事一是改参数看波形变化比如把amp-schmitt.txt的电阻改大观察回差变宽二是用Scopes菜单把示波器挂到不同节点上对比。我建议你的第一个练习从ampschmitt这类电路开始——输入输出波形差异大示波器对比效果直观正反馈的概念一眼就能看懂。进阶三招示波器分析、自定义元件与多语言切换第一招把示波器用出专业感示波器不是看个大概就行。它支持多通道同时显示在画布里按住 Shift 再点击不同导线就能把多个信号挂到同一示波器上对比相位和幅度。鼠标在波形区拖动可以缩放时间轴右键菜单里能切换显示通道、调整每格电压刻度。画布左下角会显示仿真时间和步长比如time step200 ns。遇到高频电路波形失真时先看步长——步长太大细节全被吞掉。第二招自定义元件把常用电路固化下来如果你反复画同一个子电路比如一个稳压电路、一个滤波网络可以选中相关元件用Edit菜单把它们封装成自定义复合元件Custom Composite存成文件下次直接调用。源码里对应CustomCompositeElm.java和CustomCompositeModel.java本质就是把一组元件抽象成一个带引脚的黑盒。这一步对做课程设计、搭复杂系统的人价值最大。第三招切到中文界面中文用户最省心的设置在这里Options→Language→ 选择Chinese。项目通过locale_*.txt键值对文件实现国际化public/locale_zh.txt就是简体中文翻译繁体在locale_zh-tw.txt。如果你发现某个词翻译得别扭改一行再重新构建也是参与开源贡献最轻量的方式之一。给自己编译一个专属版本构建脚本逐条拆解如果你走到这一步说明不是随便玩玩而已。scripts/dev_n_build.js是唯一的构建入口运行npm run dev会弹出一个交互菜单1 - check steps | 2 - run devmode | 3 - run GWT app 4 - build GWT app | 5 - get all nw.js bin | 6 - build from all bin 7 [x32,x64] - (win)* | 8 [x32,x64] - (linux)* | 9 [x64,arm64] - (macOS)* full - full (re)build for all platforms | 0 - exit逐条翻译一下这个菜单的含义npm run check检查 13 个构建步骤的产物是否齐全、是否过期适合构建中断后排查卡在哪一步。npm run devmodeGWT 开发模式直接在war/目录下运行改动 Java 源码后热加载不用反复打包。选项 5 和 6先只下载各平台 NW.js 二进制./out/nwjs_cache/再离线打包把下载和打包解耦方便断网环境复用缓存。选项 7/8/9只构建单个平台例如7 x64只出 Windows 64 位包。顺带一提war/目录里除了主程序还有一堆独立页面diodecalc.html二极管计算器、mosfet-beta.htmlMOSFET 参数计算等构建后它们会跟着一起打包进去感兴趣可以在应用里慢慢探索。踩坑避雷常见问题速查Q安装包被 Windows 安全中心拦截了这类开源项目没有代码签名证书被 SmartScreen 提示是常态。确认下载来源是官方 Release 后选择仍要运行即可。介意的话就自己走源码构建路线产物是绿色的。Qnpm run full卡在下载 NW.js 半天没反应正常现象——它要拉六个平台的二进制每个都上百 MB。对策先跑npm run buildgwt确认 GWT 部分没问题再用交互菜单的选项 5 单独下载下载完成后再选项 6 离线打包。Q电路仿真结果和课本算的不一样先检查两件事一是元件有没有接地悬空节点会导致矩阵求解异常二是元件参数是不是理想值。这个工具面向教学很多模型做了理想化处理别拿它做产品级验证——这是 README 里作者的原话我再帮你强调一遍。Q网页版和桌面版该选哪个桌面版优势是离线、性能稳定、有本地文件读写网页版优势是零安装、随时打开。两者界面几乎一致学会了桌面版网页版直接上手。快速上手清单checklist最后给你一张可以随时回来对照的清单从 Release 下载对应平台的安装包完成安装并启动五步流程跑通放元件 → 连线 → 改参数 → 运行 → 挂示波器从Circuits菜单加载 3 个示例各改一次参数观察波形变化把界面语言切换为中文封装一个自己的自定义复合元件可选完成npm installnpm run buildgwt跑通源码构建从深夜赶作业的学生到准备教案的老师再到想快速验证电路想法的工程师离线电路仿真器 CircuitJS1 Desktop Mod 的价值不在炫技而在随时打开就能干活的踏实感。现在画布在你面前第一个元件就从电阻开始吧。【免费下载链接】circuitjs1Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js.项目地址: https://gitcode.com/gh_mirrors/circ/circuitjs1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表