明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4588|回复: 5

[求助]奇怪的AutoCAD内存不足,退出程序问题!

[复制链接]
发表于 2009-6-18 08:57:00 | 显示全部楼层 |阅读模式

本人在做一个程序的时候发现,程序运行到一定程度就会爆出“内存不足,程序退出”,经测试凡是采用Command命令运行多

次后就会出现上述问题,用“Status”命令列表,明明当前图形中没有任何对象(如:下面的Circle对象),因为测试时每次生成后就被删除了,

可是“Status”命令后总是显示有如下:

命令: status
45342215 个对象在Drawing1.dwg中

而采用【Windows任务管理器】发现PF使用率(即提交更改)高达1.87G,所以才提示“内存不足,程序退出”,但是只有关闭AutoCAD

然后重启动CAD,才能将PF使用率降到原来正常范围下:(如:464M),到底怎么回事情呢?请高手赐教!因为我的程序中不可不可避免的

需要运行Command命令,而且对象数量相对来说也较庞大,如地形图处理。

(defun c:test(/ i j)
 (setq i 1)
 (setq j 1)
 (repeat 100000000
  (princ (strcat "\r正在绘制第 " (itoa j) " 个圆..."))
  (vl-cmdf "_.Color" i)
  (vl-cmdf "_.circle" '(0 0) 100.0)
  (vl-cmdf "_.Erase" (entlast) "")
  (setq i (+ i 1))
  (if (> i 255) (setq i 1))
  (setq j (+ j 1))
 );end_repeat
 (princ)
);end_defun

 楼主| 发表于 2009-6-22 21:01:00 | 显示全部楼层

自己先顶起来,请各位高手指教!

发表于 2009-6-23 01:02:00 | 显示全部楼层

清理内存试一下(gc)

除了command还有entmake,vla都试一下,用command会有很多弊端。

 楼主| 发表于 2009-6-27 01:43:00 | 显示全部楼层

首先谢谢楼上的,本人试过了(GC),还是不行,我的程序中不可避免要用到COMMAND或VL-CMDF命令,如Pedit\Mirror等命令的呀!

真是觉得我的程序不可理喻啦,要不放弃算啦。

发表于 2009-6-27 09:14:00 | 显示全部楼层

那问题就在你了,你不想学vla就没法咯

 楼主| 发表于 2009-6-27 09:27:00 | 显示全部楼层

不是的,VLA我还是掌握的,可好像没有替代COMMAND的东东嘛。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-2 15:24 , Processed in 0.171425 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表