免费开源的离线电路仿真软件 CircuitJS1 Desktop Mod:15 分钟装好,断网也能跑电路
【免费下载链接】circuitjs1Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js.项目地址: https://gitcode.com/gh_mirrors/circ/circuitjs1
出差那晚,酒店 WiFi 彻底罢工。我想趁睡前把白天想到的一个放大电路方案验证一遍,在线模拟器却一直转圈,最后只剩一张白屏。从那时起我开始认真找"不依赖网络也能用的电路仿真软件",最后锁定了CircuitJS1 Desktop Mod——免费开源,把完整的电路模拟器装进本地硬盘,没有网络也照常运行,还自带 200 多个示例电路和简体中文界面。
为什么我最后换掉了在线工具
一句话:在线工具的能力没有上限,但"什么时候能打开"不归你管。酒店 WiFi 抽风、机房只开放内网、演示到一半页面超时——这些场景我都撞见过,每次都只能干瞪眼。传统专业软件倒是离线可用,可安装包动辄几个 GB,满屏专业术语,新手第一眼就劝退,有些还要授权费用。
CircuitJS1 Desktop Mod 正好卡在中间,位置很舒服:
- 完全离线:它是个本地程序,网络只负责把它下载下来;
- 免费开源:遵循 GPL 协议,随便用、随便改、随便分发;
- 轻量好上手:界面就是菜单 + 工具栏 + 黑色画布 + 底部示波器,五秒能看懂;
- 13 种语言:简体中文、繁体中文都有,Options 菜单一键切换;
- 自带 200+ 示例电路:从电阻分压到锁相环,全躺在
public/circuits/目录里。
有一点要提前说清楚:它把元件建模成理想模型,比如理想运放、理想电源。对学习和验证原理来说这是优点——学生不会被寄生参数干扰,一眼就能看清本质。但如果你拿它仿真即将投产的大功率电路,它不该是唯一依据,后面我会细说。
三步完成离线安装:从拉代码到跑出波形
整个过程就是"拉代码 → 装依赖 → 构建 → 启动"四步,第一次走完全程我花了不到十五分钟。
第一步,把源码拿下来。
git clone https://gitcode.com/gh_mirrors/circ/circuitjs1 cd circuitjs1构建工具链需要三样:JDK 8 以上、Maven 3 以上、Node.js 和 npm,大部分开发机都齐了,缺哪个补哪个。
第二步,装依赖、跑构建。
npm install npm run buildnpm install会拉取 NW.js 相关依赖;npm run build负责 GWT 编译并产出各平台安装包。构建产物统一放在./out/目录下,Windows、Linux、macOS 各取所需,Mac 还区分了 Intel 和 Apple Silicon 两个版本。
第三步,首次启动,做这 4 个关键设置:
- 在Options 菜单里把界面切成简体中文,亲切感立刻翻倍;
- 打开Circuits 菜单,挑一个示例电路(我习惯从
resistors.txt或opamp.txt开始); - 按空格键,仿真跑起来,底部示波器里的波形开始跳动;
- 在需要观察的节点上右键,选"View in New Scope",把信号送进示波器,多通道对比输入输出。
想自己画电路也很顺手:工具栏点选元件图标,在画布上放置、连线,双击元件改参数。整套交互就是经典网页模拟器的手感——毕竟是同源项目,只是被完整搬到了桌面。
小提示:日常改代码想立刻看效果,用
npm run devmode,它直接在war目录运行,改动即时生效;要出安装包才用npm run build。
三个高频疑问,一次讲透
疑问一:没网真的能用吗?能,而且这才是它的本职。下载和构建那一步需要网络,之后它就是纯本地程序。我把酒店的 WiFi 关掉、路由器拔了再跑,程序纹丝不动——离线电路仿真软件和在线工具最本质的区别,就是它不会在你最需要的时候掉链子。
疑问二:上手难吗?不难,前提是别被英文界面吓退。整个软件的核心操作只有三件事:选元件、放上去、连线,参数双击就能改。我算过,从打开到跑出第一个波形,第一次用的人十分钟内基本都能完成。
疑问三:它够专业吗?分场合。做原理验证、电路课教学、DIY 项目的前期验证,它完全够用,甚至比专业软件更合适——理想模型把干扰因素剥干净了,你能直接看到"参数 → 波形"这条因果链。但它的元件是理想化的,不模拟真实器件的寄生参数,所以投产级设计请换专业工具交叉验证。
三个真实场景:它怎么嵌进我的日常
场景一:出差酒店的深夜实验室。就是开头那晚之后,我把装好软件的笔记本变成了随身工具。白天开会,晚上回房间,把白天想到的电路方案当场跑一遍,波形不对就改参数。以前这种念头只能记在手机备忘录里吃灰,现在当场就能验证。
场景二:帮侄子准备物理作业。我侄子初中学电学,老师布置了"探究电阻对灯泡亮度的影响"的实验。乡下老家没网,我就把软件装进他的旧笔记本,陪他打开resistors.txt,一边调电阻值一边看示波器——他第一次直观地看见"阻值变大、电流变小"是怎么回事。那晚之后,他对物理的态度从"背公式"变成了"玩电路"。
场景三:内网办公机的救命稻草。公司有一台只能访问内网的办公电脑,同事要做个简单的电路验证,外网工具全用不了。我把软件拷过去装好,他在内网机器上把rc.txt、lrc.txt一个个打开看波形,问题当场解决——没有网络的机器,从此也能干电路仿真的活了。
新手最容易踩的 5 个坑(误区 vs 正确做法)
误区 1:构建完在项目根目录到处找安装包,找不到就以为失败了。✅ 正确做法:构建产物统一在./out/,按win32、linux64、mac子目录认领。
误区 2:看到英文界面就放弃,觉得"肯定很难用"。✅ 正确做法:先在 Options 菜单切到简体中文(locale_zh.txt),很多劝退感其实只是语言问题。
误区 3:以为它是网页版,必须联网才能打开。✅ 正确做法:它是本地应用,断网可运行;只有下载和构建那一步才需要网络。
误区 4:拿理想元件模型仿真大功率真实电路,得出"可以量产"的结论。✅ 正确做法:认清它的定位是教学与原理验证;要投产的设计,换专业仿真工具交叉验证。
误区 5:改完代码不知道去哪看效果。✅ 正确做法:日常改源码用npm run devmode(直接在war目录运行、改动即时生效);要出安装包才用npm run build。
两个进阶玩法:把开源自由度用起来
进阶一:把常用电路封装成"自定义元件"。如果某个组合电路(比如"反相放大器 + 滤波器")你反复在用,不用每次重新拼。软件支持把组合电路封装成自定义元件(对应CustomCompositeChipElm这类模块),封装一次,之后当普通元件拖出来用。对学习者来说,这等于把课本里的"功能块"概念搬进了画布——先搭模块,再用模块搭系统,思路会清晰很多。
进阶二:用 devmode 直接改源码。项目开源且构建链完整,src/main/java/com/lushprojects/circuitjs1/client/里躺着全部元件源码。不满足于现有行为?自己改参数、加功能,再造一个自己的版本。这是在线版给不了的自由——你不是在用别人做好的工具,你手里是整套工具的源代码。
顺手记住三个高频快捷键:空格启停仿真、Ctrl+Z撤销、Ctrl+S保存电路。
对了,还有一条容易被忽略的:软件支持把电路存成文本格式,复制到聊天记录里都能完整还原。我给侄子布置"作业"时直接发电路文本,他贴回去就能打开,比截图传文件靠谱得多。
最后:别等"有空了"
把"断网也能用、开源可改造、教学友好"三件事同时做好的电路仿真项目不多。CircuitJS1 Desktop Mod 没有花哨的营销,它只是安静地待在硬盘里,在你最需要的时候把电路世界完整打开。
现在打开终端,执行git clone https://gitcode.com/gh_mirrors/circ/circuitjs1,十五分钟后,你就能在没有网络的地方,亲手画出一个会动的电路。
【免费下载链接】circuitjs1Standalone (offline) version of the Circuit Simulator with small modifications based on modified NW.js.项目地址: https://gitcode.com/gh_mirrors/circ/circuitjs1
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考