1.既然你的程序是提取圆心坐标,那么在选择的时候就应该把非圆图元过滤掉,这样可以减少运算量,提高程序的效率 所以建议把(setq ss (ssget))改成(setq ss (ssget '((0 . "CIRCLE")))) 2.你现在的程序最多也只是把最后一个圆的圆心坐标写入数据文件。如果你是想每得到一个圆心坐标就写一次的话,应该把write-line放进循环;这个时候文件的打开应该是"a"的方式,而不是"w";如果你想提取所有圆心坐标再一次写入的话,应该在循环前创建一个变量来存放圆心坐标。待循环完毕再一次写入,这个时候文件的打开方式可以是"a",也可以是"w". 3.你要知道cen_data得到的是什么类型的数据,是一个包含圆心XYZ数值的表,而write-line接受的是字符串.如果你不会转换或不想转换,可以考虑用princ写入 |