兰顿蚂蚁——CAD二次开发
2026/5/6 21:38:04 网站建设 项目流程

效果如下:

private static void OnTick(object sender, EventArgs e) { if (_currentStep >= _maxSteps) { Stop(); return; } // 检查是否暂停 if (_isPaused) return; Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; var ed = doc.Editor; using (doc.LockDocument()) { using (Transaction tr = db.TransactionManager.StartTransaction()) { BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord ms = (BlockTableRecord)tr.GetObject( bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); // 第一步暂停逻辑:如果第一步还没完成且需要第一步暂停 if (_pauseAtFirstStep && !_firstStepCompleted) { // 只执行一步 StepAllAnts(tr, ms); _currentStep++; _firstStepCompleted = true; // 立即暂停 _isPaused = true; tr.Commit(); ed.UpdateScreen(); ed.WriteMessage("\n第一步完成,已暂停。按空格继续。"); return; // 直接返回,不再执行后面的代码 } else { // 正常执行多步 for (int i = 0; i < _stepsPerTick; i++) { if (_currentStep >= _maxSteps) break; StepAllAnts(tr, ms); _currentStep++; } tr.Commit(); } } ed.UpdateScreen(); } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询